Пример #1
0
        public IReadOnlyCollection <Group> GetGroups()
        {
            IReadOnlyCollection <Group> @value = null;

            if (GroupRoleMap != null)
            {
                @value = GroupRoleMap.Select(e => e.Group).ToList();
            }
            return(@value);
        }
Пример #2
0
        public IReadOnlyCollection <Role> GetRoles()
        {
            IReadOnlyCollection <Role> @value = null;

            if (GroupRoleMap != null)
            {
                @value = GroupRoleMap.Select(e => e.Role).ToList();
            }
            return(@value);
        }
Пример #3
0
        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);
            }
        }