using System; using System.Collections.Generic; using System.Linq; using WX.CRM.BLL.Util; using WX.CRM.Common; using WX.CRM.IBLL.Base; using WX.CRM.Model.Entity; namespace WX.CRM.BLL.Base { public class BAS_DAILYMEMU_BL : IBAS_DAILYMEMU, IBAS_DAILYMEMU_Q { #region 添加 /// /// 添加 /// /// /// public bool Create(ref ValidationErrors errors, string menuIds, decimal userId) { try { using (WX.CRM.Model.Entity.crmContext db = new WX.CRM.Model.Entity.crmContext()) { SEQUENCES_BL sequences = new SEQUENCES_BL(); decimal[] MenuIdList = OperationUtil.ConvertToDecimal(menuIds.Split(',')); decimal[] hasMenuList = db.BAS_DAILYMEMU.Where(m => m.INNERUSERID == userId && MenuIdList.Contains(m.MENUID)).Select(m => m.MENUID).ToArray(); decimal[] MenuIdList2 = MenuIdList.Where(m => !hasMenuList.Contains(m)).ToArray(); decimal? max = db.BAS_DAILYMEMU.Where(m => m.INNERUSERID == userId).Max(m => m.SORTID); max = max == null ? 0 : max; foreach (decimal memuId in MenuIdList2)//添加没有数据 { max++; BAS_DAILYMEMU entry = new BAS_DAILYMEMU(); entry.INNERUSERID = userId; entry.MENUID = memuId; entry.SORTID = max; entry.CTIME = DateTime.Now; entry.CREATEUSER = userId; entry.PKID = sequences.Seq_base_get(); db.BAS_DAILYMEMU.Add(entry); } List dailyMemu = db.BAS_DAILYMEMU.Where(m => m.INNERUSERID == userId && !MenuIdList.Contains(m.MENUID)).ToList();//移除 取消选中的 菜单记录 foreach (BAS_DAILYMEMU item in dailyMemu) { db.BAS_DAILYMEMU.Remove(item); } db.SaveChanges(); return true; } } catch (Exception ex) { errors.Add(ex.Message); return false; } } #endregion #region 排序 /// /// 排序 /// /// 错误信息 /// 格式:pkid,sorid;pkid,sorid /// public bool Sort(ref ValidationErrors errors, string SortIds) { try { using (var db = new WX.CRM.Model.Entity.crmContext()) { string[] Sorts = SortIds.Split(';'); foreach (string item in Sorts) { decimal[] ids = OperationUtil.ConvertToDecimal(item.Split(',')); decimal pkid = ids[0]; WX.CRM.Model.Entity.BAS_DAILYMEMU entry = db.BAS_DAILYMEMU.FirstOrDefault(m => m.PKID == pkid); if (entry != null) entry.SORTID = ids[1]; } db.SaveChanges(); return true; } } catch (Exception ex) { errors.Add(ex.Message); return false; } } #endregion #region 删除 /// /// 删除 /// /// /// public bool Delete(ref ValidationErrors errors, decimal id) { try { using (var db = new WX.CRM.Model.Entity.crmContext()) { WX.CRM.Model.Entity.BAS_DAILYMEMU entry = db.BAS_DAILYMEMU.FirstOrDefault(m => m.PKID == id); if (entry == null) { errors.Add("数据已经被删除!"); return false; } db.BAS_DAILYMEMU.Remove(entry); return db.SaveChanges().GetResult(); } } catch (Exception ex) { errors.Add(ex.Message); return false; } } #endregion #region 获取单条信息 /// /// 获取实体 /// /// /// public WX.CRM.Model.Entity.BAS_DAILYMEMU GetModel(decimal id) { using (var db = new WX.CRM.Model.Entity.crmContext()) { WX.CRM.Model.Entity.BAS_DAILYMEMU entry = db.BAS_DAILYMEMU.FirstOrDefault(m => m.PKID == id); return entry; } } #endregion #region 获取分页数据列表 public List GetList(decimal userId) { using (var db = new WX.CRM.Model.Entity.crmContext()) { var queryData = db.BAS_DAILYMEMU.Where(m => m.INNERUSERID == userId).AsQueryable(); queryData = queryData.OrderBy(m => m.SORTID); return queryData.ToList(); } } #endregion } }