/// <summary> /// Обновление эл-та меню /// </summary> /// <param name="id"></param> /// <param name="Item"></param> /// <returns></returns> public override bool updateCmsMenu(Guid id, cmsMenuItem Item) { using (var db = new CMSdb(_context)) { using (var tran = db.BeginTransaction()) { var data = db.cms_menus.Where(w => w.id == id); if (data != null) { data.Where(w => w.id == id) .Set(p => p.c_title, Item.Title) .Set(p => p.c_alias, Item.Alias) .Set(p => p.c_class, Item.Class) .Set(p => p.f_group, Item.Group) .Set(p => p.c_desc, Item.Desc) .Update(); // логирование var log = new LogModel() { Site = _domain, Section = LogSection.CmsMenu, Action = LogAction.update, PageId = id, PageName = Item.Title, UserId = _currentUserId, IP = _ip, }; insertLog(log); tran.Commit(); return(true); } return(false); } } }
/// <summary> /// Создание эл-та меню /// </summary> /// <param name="id"></param> /// <param name="Item"></param> /// <returns></returns> public override bool createCmsMenu(Guid id, cmsMenuItem Item) { using (var db = new CMSdb(_context)) { using (var tran = db.BeginTransaction()) { int Permit = 0; Permit = db.cms_menus.Where(w => w.f_group == Item.Group).Select(s => s.n_permit).Count() + 1; db.cms_menus .Value(p => p.id, id) .Value(p => p.n_permit, Permit) .Value(p => p.c_title, Item.Title) .Value(p => p.c_alias, Item.Alias) .Value(p => p.c_class, Item.Class) .Value(p => p.f_group, Item.Group) .Value(p => p.c_desc, Item.Desc) .Insert(); // логирование var log = new LogModel() { Site = _domain, Section = LogSection.CmsMenu, Action = LogAction.insert, PageId = id, PageName = Item.Title, UserId = _currentUserId, IP = _ip, }; insertLog(log); //добавить права группы пользователей Guid Dev_users = Guid.Parse("00000000-0000-0000-0000-000000000000"); var data_group = db.cms_users_groups.Where(w => w.c_alias != "Developer").Select(s => new cms_users_group { id = s.id, c_alias = s.c_alias }).ToArray(); //спсиок групп var data_group_develop = db.cms_users_groups.Where(w => w.c_alias == "Developer").Select(s => new cms_users_group { id = s.id, c_alias = s.c_alias }).ToArray(); //спсиок групп var data_users = db.cms_userss.Where(w => w.id != Dev_users).Select(s => new cms_users { id = s.id }).ToArray(); //спсиок пользователей var data_users_develop = db.cms_userss.Where(w => w.id == Dev_users).Select(s => new cms_users { id = s.id }).ToArray(); //разработчик системная учетная запись //добавление прав в группы foreach (cms_users_group s in data_group) { db.cms_resolutions_templatess .Value(v => v.f_menu_id, id) .Value(v => v.f_user_group, s.c_alias) .Value(v => v.b_read, false) .Value(v => v.b_write, false) .Value(v => v.b_change, false) .Value(v => v.b_delete, false) .Insert(); } foreach (cms_users_group s in data_group_develop) { db.cms_resolutions_templatess .Value(v => v.f_menu_id, id) .Value(v => v.f_user_group, s.c_alias) .Value(v => v.b_read, true) .Value(v => v.b_write, true) .Value(v => v.b_change, true) .Value(v => v.b_delete, true) .Insert(); } //добавить прав пользователям foreach (cms_users s in data_users) { db.cms_resolutionss .Value(v => v.c_menu_id, id) .Value(v => v.c_user_id, s.id) .Value(v => v.b_read, false) .Value(v => v.b_write, false) .Value(v => v.b_change, false) .Value(v => v.b_delete, false) .Value(v => v.b_importent, false) .Insert(); } foreach (cms_users s in data_users_develop) { db.cms_resolutionss .Value(v => v.c_menu_id, id) .Value(v => v.c_user_id, s.id) .Value(v => v.b_read, true) .Value(v => v.b_write, true) .Value(v => v.b_change, true) .Value(v => v.b_delete, true) .Value(v => v.b_importent, false) .Insert(); } // логирование log = new LogModel() { Site = _domain, Section = LogSection.CmsMenu, Action = LogAction.change_resolutions, PageId = id, PageName = Item.Title, UserId = _currentUserId, IP = _ip, }; insertLog(log); tran.Commit(); return(true); } } }
public abstract bool updateCmsMenu(Guid id, cmsMenuItem Item);