public async Task <IHttpActionResult> PostGroupRoleMap(SiteRolePermissionsDTO groupRoleDto) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } bool result = await _RoleService.SaveSitePermission(groupRoleDto); if (!result) { return(NotFound()); } return(Ok(result)); }
//public async Task<RoleDTO> Create(RoleDTO role) //{ // RoleMaster roleMaster = new RoleMaster(); // roleMaster.Id = Guid.NewGuid(); // roleMaster.IsVisible = role.IsVisible; // db.RoleMasters.Add(roleMaster); // await db.SaveChangesAsync(); // return role; //} //public async Task<int> Edit(RoleDTO role) //{ // RoleMaster rm = new RoleMaster(); // rm.Id = role.Id; // rm.IsVisible = role.IsVisible; // rm.Name = role.Name; // db.RoleMasters.Add(rm); // db.Entry(rm).State = EntityState.Modified; // int result = await db.SaveChangesAsync(); // return result; //} public async Task <bool> SaveSitePermission(SiteRolePermissionsDTO _dto) { try { GroupMaster groupMaster = new GroupMaster(); if (_dto != null) { if (_dto.SiteRolePermissions.ToList().Count > 0) { var SiteMapRolePermission = db.SiteMapRolePermissions.Where(o => o.RoleId == _dto.RoleId).ToList(); if (SiteMapRolePermission.ToList().Count > 0) { db.SiteMapRolePermissions.RemoveRange(SiteMapRolePermission); } List <SiteMapRolePermission> _SiteMapRolePermissionList = new List <SiteMapRolePermission>(); foreach (SiteRolePermissionDetailDTO item in _dto.SiteRolePermissions) { SiteMapRolePermission _SiteMapRolePermission = new SiteMapRolePermission(); _SiteMapRolePermission.Id = Guid.NewGuid(); _SiteMapRolePermission.RoleId = _dto.RoleId ?? Guid.Empty; _SiteMapRolePermission.SiteMapId = item.SiteMapId ?? Guid.Empty; _SiteMapRolePermission.PermissionId = item.PermissionId ?? Guid.Empty; _SiteMapRolePermissionList.Add(_SiteMapRolePermission); } db.SiteMapRolePermissions.AddRange(_SiteMapRolePermissionList); } await db.SaveChangesAsync(); db.Dispose(); return(true); } return(false); } catch (DbUpdateConcurrencyException) { return(false); } }