public IReadOnlyCollection <Group> GetGroups() { IReadOnlyCollection <Group> @value = null; if (GroupRoleMap != null) { @value = GroupRoleMap.Select(e => e.Group).ToList(); } return(@value); }
public IReadOnlyCollection <Role> GetRoles() { IReadOnlyCollection <Role> @value = null; if (GroupRoleMap != null) { @value = GroupRoleMap.Select(e => e.Role).ToList(); } return(@value); }
public async Task <int> Save(GroupRoleDTO _dto, Guid Id, int EntityState) { try { GroupMaster groupMaster = new GroupMaster(); if (_dto != null) { groupMaster.Id = Id; groupMaster.Name = _dto.GroupName; groupMaster.StatusCode = EMPConstants.Active; } if (EntityState == (int)System.Data.Entity.EntityState.Modified) { var ExistGroup = db.GroupMasters.Where(o => o.Id != Id && o.Name == _dto.GroupName).Any(); if (ExistGroup) { return(-1); } groupMaster.LastUpdatedBy = _dto.UserId; groupMaster.LastUpdatedDate = DateTime.Now; db.Entry(groupMaster).State = System.Data.Entity.EntityState.Modified; } else { var ExistGroup = db.GroupMasters.Where(o => o.Name == _dto.GroupName).Any(); if (ExistGroup) { return(-1); } groupMaster.CreatedBy = _dto.UserId; groupMaster.CreatedDate = DateTime.Now; groupMaster.LastUpdatedBy = _dto.UserId; groupMaster.LastUpdatedDate = DateTime.Now; db.GroupMasters.Add(groupMaster); } if (_dto.Roles.ToList().Count > 0) { if (EntityState == (int)System.Data.Entity.EntityState.Modified) { var GroupRoleMapDel = db.GroupRoleMaps.Where(o => o.GroupId == Id).DefaultIfEmpty(); if (GroupRoleMapDel != null) { db.GroupRoleMaps.RemoveRange(GroupRoleMapDel); } } List <GroupRoleMap> _GroupRoleMapList = new List <GroupRoleMap>(); foreach (RoleDTO item in _dto.Roles) { GroupRoleMap _GroupRoleMap = new GroupRoleMap(); _GroupRoleMap.Id = Guid.NewGuid(); _GroupRoleMap.GroupId = groupMaster.Id; _GroupRoleMap.RoleId = item.Id; _GroupRoleMapList.Add(_GroupRoleMap); } db.GroupRoleMaps.AddRange(_GroupRoleMapList); } await db.SaveChangesAsync(); db.Dispose(); return(1); } catch (DbUpdateConcurrencyException) { return(0); } }