コード例 #1
0
        public UserGroupsDTO GetGroupById(int groupId)
        {
            var res = new UserGroupsDTO();

            try
            {
                res = _operationalDataContext.Groups.Where(x => x.GroupId == groupId)
                      .Select(y => new UserGroupsDTO
                {
                    AssignedUsers = y.GroupUsers.Select(user => new UsersDTO()
                    {
                        UserId      = user.UserId,
                        UserName    = user.User.UserName,
                        RoleId      = user.User.RoleId ?? 0,
                        RankId      = user.User.RankId ?? 0,
                        FullNameAr  = user.User.FullNameAr,
                        FullNameEn  = user.User.FullNameEn,
                        Email       = user.User.Email,
                        IsActive    = user.User.IsActive ?? true,
                        PhoneNumber = user.User.PhoneNumber,
                        RankNameAR  = user.User.Rank != null ? user.User.Rank.RankNameAr : "",
                        RankNameEN  = user.User.Rank != null ? user.User.Rank.RankNameEn : ""
                    }).ToList(),
                    CreateDate = y.CreatedDate,
                    GroupId    = y.GroupId,
                    GroupName  = y.GroupName,
                    IsDeleted  = y.IsDeleted
                }).FirstOrDefault();
            }
            catch (Exception ex)
            {
            }
            return(res);
        }
コード例 #2
0
        public bool CreateUserGroup(UserGroupsDTO groupModel)
        {
            try
            {
                if (groupModel.AssignedUsers == null || !groupModel.AssignedUsers.Any())
                {
                    return(false);
                }

                var isNameExist = _operationalDataContext.Groups.Any(x => x.GroupName.ToLower().Trim() == groupModel.GroupName.ToLower().Trim());

                if (isNameExist)
                {
                    return(false);
                }

                var group = new Group
                {
                    CreatedBy   = groupModel.CurrentUserId,
                    CreatedDate = DateTime.Now,
                    GroupName   = groupModel.GroupName,
                    IsDeleted   = false,
                };

                foreach (var item in groupModel.AssignedUsers)
                {
                    group.GroupUsers.Add(new GroupUser
                    {
                        UserId = item.UserId
                    });
                }

                _operationalDataContext.Groups.Add(group);

                return(_operationalDataContext.SaveChanges() > 0);
            }
            catch (Exception ex)
            {
            }
            return(false);
        }
コード例 #3
0
        public bool EditUserGroup(UserGroupsDTO groupModel)
        {
            try
            {
                return(new AutomaticReportDAL().EditUserGroup(groupModel));
            }
            catch (DbEntityValidationException exDb)
            {
                Utility.WriteErrorLog(exDb);
                foreach (var item in exDb.EntityValidationErrors)
                {
                    Utility.WriteLog(item.ValidationErrors.FirstOrDefault().ErrorMessage);
                }
                return(false);
            }
            catch (Exception ex)
            {
                Utility.WriteErrorLog(ex);

                return(false);
            }
        }
コード例 #4
0
        public bool EditUserGroup(UserGroupsDTO groupModel)
        {
            try
            {
                if (groupModel.AssignedUsers == null || !groupModel.AssignedUsers.Any())
                {
                    return(false);
                }

                var isNameExist = _operationalDataContext.Groups.Any(x => x.GroupName.ToLower().Trim() == groupModel.GroupName.ToLower().Trim() && x.GroupId != groupModel.GroupId);

                if (isNameExist)
                {
                    return(false);
                }

                var group = _operationalDataContext.Groups.FirstOrDefault(x => x.GroupId == groupModel.GroupId);

                if (group == null)
                {
                    return(false);
                }

                group.GroupName      = groupModel.GroupName;
                group.IsDeleted      = groupModel.IsDeleted;
                group.LastModified   = DateTime.Now;
                group.LastModifiedBy = groupModel.CurrentUserId;

                //group.GroupUsers.Clear();
                var addedUsersIds   = groupModel.AssignedUsers.Where(x => !group.GroupUsers.Any(y => y.UserId == x.UserId)).Select(x => x.UserId).ToList();
                var removedUsersIds = group.GroupUsers.Where(x => !groupModel.AssignedUsers.Any(y => y.UserId == x.UserId)).Select(x => x.UserId).ToList();

                if (addedUsersIds != null && addedUsersIds.Any())
                {
                    foreach (var item in addedUsersIds)
                    {
                        group.GroupUsers.Add(new GroupUser
                        {
                            UserId = item
                        });
                    }
                }


                if (removedUsersIds != null && removedUsersIds.Any())
                {
                    foreach (var item in removedUsersIds)
                    {
                        _operationalDataContext.GroupUsers.Remove(group.GroupUsers.FirstOrDefault(x => x.UserId == item));
                    }
                }
                //foreach (var item in group.GroupUsers)
                //{
                //    group.GroupUsers.Remove(item);
                //}

                //foreach (var item in groupModel.AssignedUsers)
                //{
                //    group.GroupUsers.Add(new GroupUser
                //    {
                //        UserId = item.UserId,
                //    });
                //}

                return(_operationalDataContext.SaveChanges() > 0);
            }
            catch (Exception ex)
            {
                throw ex;
            }
            //return false;
        }
コード例 #5
0
 public bool CreateUserGroup(UserGroupsDTO groupModel)
 {
     return(new AutomaticReportDAL().CreateUserGroup(groupModel));
 }