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); }
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); }
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); } }
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; }
public bool CreateUserGroup(UserGroupsDTO groupModel) { return(new AutomaticReportDAL().CreateUserGroup(groupModel)); }