public List <PermissionParentModel> GetMenu(int moduleId, int userGroupId) { GEEDbContext objGEEDbContext = new GEEDbContext(); var navMenuList = objGEEDbContext.NavigationMenu1.Where(a => a.NavigationMenuParentId == moduleId & a.NaviVisible == true); List <PermissionParentModel> listGetMenuModel = new List <PermissionParentModel>(); List <PermissionMappingModel> listPermissionMappingModel = new List <PermissionMappingModel>(); foreach (var item in navMenuList) { PermissionParentModel objPermissionParentModel = new PermissionParentModel(); objPermissionParentModel.NavigationMenuId = item.NavigationMenuId; objPermissionParentModel.NavigationMenuName = item.NavigationMenuName; objPermissionParentModel.PermissionChildModelList = GeMenuPermission(userGroupId, item.NavigationMenuId); var navSecondMenuList = objGEEDbContext.NavigationMenu1.Where(a => a.NavigationMenuParentId == item.NavigationMenuId & a.NaviVisible == true); foreach (var item1 in navSecondMenuList) { PermissionParentModel objPermissionParentModelSeondLevel = new PermissionParentModel(); objPermissionParentModelSeondLevel.NavigationMenuId = item1.NavigationMenuId; objPermissionParentModelSeondLevel.NavigationMenuName = item1.NavigationMenuName; objPermissionParentModelSeondLevel.PermissionChildModelList = GeMenuPermission(userGroupId, item1.NavigationMenuId); objPermissionParentModel.PermissionParent = objPermissionParentModelSeondLevel; } listGetMenuModel.Add(objPermissionParentModel); } return(listGetMenuModel); }
public HttpResponseMessage Save([FromBody] PermissionParentModel data) { try { _navigationPermission.Save(data); } catch (Exception ex) { Common.MyLogger.Error(ex.Message + ex.StackTrace + ex.InnerException.ToString()); return(Request.CreateResponse(HttpStatusCode.BadRequest, "Error")); } return(Request.CreateResponse(HttpStatusCode.OK, "Data Saved")); }
/// <summary> /// This method is used to save the data for user group permission. /// </summary> /// <param name="entity"></param> /// <returns></returns> public int Save(PermissionParentModel entity) { int isSave = 0; GEEDbContext objGEEDbContext = new GEEDbContext(); int menuid = 0; foreach (var item in entity.PermissionChildModelList) { Navmenu_asprole_permisison_UserGroup_mapping objPermission = new Navmenu_asprole_permisison_UserGroup_mapping(); var _pMapping = objGEEDbContext.Navmenu_asprole_permisison_UserGroup_mapping.Where(a => a.Navrolepermisisonmapping_ID == item.Navrolepermisisonmapping_ID && a.UserGroup_ID == entity.Group_Id).SingleOrDefault(); if (_pMapping != null) { bool isPermisssion = item.IsPermission == 1 ? false : true; if (_pMapping.ISDeleted != isPermisssion) { _pMapping.ISDeleted = item.IsPermission == 1 ? false : true; _pMapping.AcitiveEdit = true;//This flag is for user role maaping procedure. _pMapping.ModifiedBy_ID = entity.CreatedBy_ID; entity.ModifiedDate = DateTime.Now; objGEEDbContext.Entry(_pMapping).State = System.Data.Entity.EntityState.Modified; isSave = objGEEDbContext.SaveChanges(); } } else { objPermission.Navrolepermisisonmapping_ID = item.Navrolepermisisonmapping_ID; objPermission.SchoolID = entity.SchoolID; objPermission.CreatedDate = DateTime.Now; objPermission.ISDeleted = item.IsPermission == 1 ? false : true; objPermission.UserGroup_ID = entity.Group_Id; objPermission.CreatedBy_ID = entity.CreatedBy_ID; objPermission.AcitiveEdit = true;//This flag is for user role maaping procedure. objGEEDbContext.Navmenu_asprole_permisison_UserGroup_mapping.Add(objPermission); isSave = objGEEDbContext.SaveChanges(); } if (menuid != item.NavigationMenu_Id) { menuid = item.NavigationMenu_Id; var data = entity.PermissionChildModelList.Where(a => a.NavigationMenu_Id == menuid & a.IsPermission == 1).ToList(); UserGroupNavigationMenuMapping objUserGroupNavigationMenuMapping = new UserGroupNavigationMenuMapping(); var checkDataExists = objGEEDbContext.UserGroupNavigationMenuMappings.Where(a => a.NavigationMenuId == menuid && a.UserGroupId == entity.Group_Id).SingleOrDefault(); if (checkDataExists != null) { checkDataExists.UserGroupId = entity.Group_Id; checkDataExists.NavigationMenuId = menuid; checkDataExists.SchoolID = entity.SchoolID; checkDataExists.GroupID = entity.GroupID; if (data.Count > 0) { checkDataExists.ISDeleted = false; } else { checkDataExists.ISDeleted = true; } checkDataExists.ModifiedBy_ID = entity.CreatedBy_ID; checkDataExists.ModifiedDate = DateTime.Now; objGEEDbContext.Entry(checkDataExists).State = System.Data.Entity.EntityState.Modified; isSave = objGEEDbContext.SaveChanges(); } else { if (data.Count > 0) { objUserGroupNavigationMenuMapping.UserGroupId = entity.Group_Id; objUserGroupNavigationMenuMapping.NavigationMenuId = menuid; objUserGroupNavigationMenuMapping.SchoolID = entity.SchoolID; objUserGroupNavigationMenuMapping.GroupID = entity.GroupID; objUserGroupNavigationMenuMapping.CreatedBy_ID = entity.CreatedBy_ID; objUserGroupNavigationMenuMapping.CreatedDate = DateTime.Now; objGEEDbContext.UserGroupNavigationMenuMappings.Add(objUserGroupNavigationMenuMapping); isSave = objGEEDbContext.SaveChanges(); } } } } using (GEEDbContext context = new GEEDbContext()) { byte ActionID = 1; var UId = new SqlParameter("@CUserId", entity.CreatedBy_ID); var MId = new SqlParameter("@Action", ActionID); context.Database.ExecuteSqlCommand("RoleMappingToAspNetUserRole @CUserId, @Action", UId, MId); } return(isSave); }