Exemple #1
0
        /// <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);
                }
            }
        }
Exemple #2
0
        /// <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);
                }
            }
        }
Exemple #3
0
 public abstract bool updateCmsMenu(Guid id, cmsMenuItem Item);