public GroupDetailsModel GetSpecificGroup(int groupId, int permission) { GroupDetailsModel groupDetailsModel = null; try { if (permission == 1) { groupDetailsModel = new GroupDetailsModel(); groupDetailsModel.usersDetails = unitOfWork.DbContext.UserDetail.Select(g => new UserDetails { UserName = g.Name, UserId = g.ID, IsMember = g.UserGroup.Any(us => us.GroupID == groupId) == true ? true : false, }).ToList(); groupDetailsModel.groupName = unitOfWork.DbContext.Group.Where(gp => gp.ID == groupId).Select(gp => gp.Name).FirstOrDefault(); return(groupDetailsModel); } else { throw new PermissionDeniedException(); } } catch (BaseException ex) { throw ex; } catch (Exception ex) { throw ex; } }
public ActionResult Details(int IDgroup) { GroupDetailsModel model = new GroupDetailsModel(); using (ZavrsniEFentities db = new ZavrsniEFentities()) { var groupQuery = (from g in db.Group where g.IDgroup == IDgroup select g).Include(g => g.GroupType); model.GroupType = groupQuery.FirstOrDefault().GroupType.Name; model.Name = groupQuery.FirstOrDefault().Name; model.IDgroup = IDgroup; var membersQuery = (from b in db.BelongsToGroup where b.IDgroup == IDgroup select b).Include(b => b.User).ToList(); model.Members = membersQuery; var otherUsers = (from u in db.User select u).Except(from b in db.BelongsToGroup join s in db.User on b.IDuser equals s.IDuser where b.IDgroup == IDgroup select s).ToList(); model.MembersNotInList = new SelectList(otherUsers, "IDuser", "Username"); } return(View(model)); }
public IHttpActionResult UpdateGroupInformation(GroupDetailsModel groupDetailsModel) { int result = 0; ActionStatus status = new ActionStatus(); try { result = userService.UpdateGroupInformation(groupDetailsModel, permission); } catch (BaseException ex) { status.Number = (int)ex.ErrorCode; } catch (Exception ex) { status.Number = -1; logger.Error("Exception in User/UpdateGroupInformation: {0} \r\n {1}", ex.ToString(), ex.StackTrace); } if (status.Number != -1) { return(Ok(new { result = result, Status = status })); } else { return(InternalServerError()); } }
public IHttpActionResult GetSpecificGroup(int groupId) { GroupDetailsModel groupDetailsModel = null; ActionStatus status = new ActionStatus(); try { groupDetailsModel = userService.GetSpecificGroup(groupId, permission); if (groupDetailsModel == null) { throw new NoDataFoundException(); } } catch (BaseException ex) { status.Number = (int)ex.ErrorCode; } catch (Exception ex) { status.Number = -1; logger.Error("Exception in User/GetSpecificGroup: {0} \r\n {1}", ex.ToString(), ex.StackTrace); } if (status.Number != -1) { return(Ok(new { groupDetailsModel = groupDetailsModel, Status = status })); } else { return(InternalServerError()); } }
public IHttpActionResult CreateNewGroup(GroupDetailsModel groupDetailsModel) { logger.Info("Inside User/CreateNewGroup"); int result = 0; ActionStatus status = new ActionStatus(); string msg = String.Empty; try { result = userService.CreateNewGroup(groupDetailsModel, permission); } catch (UserServiceException ex) { status.Number = (int)ex.ErrorCodeService; } catch (BaseException ex) { status.Number = (int)ex.ErrorCode; } catch (Exception ex) { status.Number = -1; logger.Error("Exception in User/CreateNewGroup: {0} \r\n {1}", ex.ToString(), ex.StackTrace); } if (status.Number != -1) { return(Ok(new { result = result, Status = status })); } else { return(InternalServerError()); } }
public int CreateNewGroup(GroupDetailsModel groupDetailsModel, int permission) { int result = 0; try { if (permission == 1) { var groupIsPresent = unitOfWork.DbContext.Group .Any(g => String.Compare(g.Name, groupDetailsModel.groupName, true) == 0 ); if (groupIsPresent) { throw new GroupAlreadyPresentException(); } else { Group gr = new Group { Name = groupDetailsModel.groupName, CreationDate = DateTime.UtcNow }; unitOfWork.DbContext.Group.Add(gr); foreach (var id in groupDetailsModel.UserIds) { UserGroup group = new UserGroup { Group = gr, UserID = id }; unitOfWork.DbContext.UserGroup.Add(group); } unitOfWork.DbContext.SaveChanges(); result = 1; } return(result); } else { throw new PermissionDeniedException(); } } catch (UserServiceException ex) { throw ex; } catch (BaseException ex) { throw ex; } catch (Exception ex) { throw ex; } }
/// <summary> /// Creates a viewModel for the Posts and adds the posts to the contact list /// </summary> /// <param name="group"></param> /// <returns> /// The viewModel /// </returns> private async Task <GroupDetailsModel> GetGroupDetails(Group group) { GroupDetailsModel viewModel = new GroupDetailsModel(); viewModel.Group = group; List <Contact> contacts = await _context.Contact.Where(x => x.MyGroup == group).ToListAsync(); viewModel.Contacts = contacts; return(viewModel); }
public int UpdateGroupInformation(GroupDetailsModel groupDetailsModel, int permission) { int result = 0; try { if (permission == 1) { var group = unitOfWork.DbContext.Group.Where(g => g.ID == groupDetailsModel.groupId).FirstOrDefault(); if (group != null) { group.Name = groupDetailsModel.groupName; List <int> newUserList = groupDetailsModel.usersDetails.Where(u => u.IsMember == true).Select(u => u.UserId).ToList(); List <int> oldUserList = unitOfWork.DbContext.UserGroup .Where(ug => ug.GroupID == groupDetailsModel.groupId) .Select(ug => ug.UserID) .ToList(); List <int> firstNotSecond = newUserList.Except(oldUserList).ToList(); List <int> secondNotFirst = oldUserList.Except(newUserList).ToList(); foreach (var UserId in firstNotSecond) { UserGroup userGp = new UserGroup() { GroupID = groupDetailsModel.groupId, UserID = UserId }; unitOfWork.DbContext.UserGroup.Add(userGp); } var oldUserGroup = unitOfWork.DbContext.UserGroup.Where(u => secondNotFirst.Contains(u.UserID) && u.GroupID == groupDetailsModel.groupId).ToList(); unitOfWork.DbContext.UserGroup.RemoveRange(oldUserGroup); unitOfWork.DbContext.SaveChanges(); result = 1; } else { throw new NoDataFoundException(); } return(result); } else { throw new PermissionDeniedException(); } } catch (Exception ex) { throw ex; } }
private GroupDetailsModel BuildGroupModel(Pr1132Configuration config, int index) { var group = config.Groups[index]; var icon = ApplicationData.Settings.GetIcon(index); var groupModel = new GroupDetailsModel(group, icon, index); foreach (var channelNumber in group.ChannelNumbers) { if (channelNumber.HasValue) { var channel = config.Channels[channelNumber.Value]; var channelModel = new ChannelModel(channel, (byte)channelNumber.Value); groupModel.Channels.Add(channelModel); } } return(groupModel); }
/// <summary> /// Displays the details for the view and increments the post views counter, saves the post in the database /// </summary> /// <param name="id"></param> /// <returns> /// Post context including the assigned Comment system /// </returns> public async Task <IActionResult> Details(int?id) { if (id == null) { return(NotFound()); } Group group = await _context.Group.SingleOrDefaultAsync(m => m.Id == id); if (@group == null) { return(NotFound()); } GroupDetailsModel viewModel = await GetGroupDetails(group); group.viewed++; _context.Update(group); await _context.SaveChangesAsync(); return(View(await _context.Group.Include(g => g.Comment).ToListAsync())); }
/// <summary> /// Assigns the viewModel to a contact and assigns a group to the contact /// </summary> /// <param name="viewModel"></param> /// <returns> /// The viewModel /// </returns> public async Task <IActionResult> Details([Bind("Id, FirstName")] GroupDetailsModel viewModel) { if (ModelState.IsValid) { Contact contact = new Contact(); contact.Id = viewModel.GroupID; contact.FirstName = viewModel.FirstName; contact.LastName = viewModel.LastName; Group group = await _context.Group.SingleOrDefaultAsync(m => m.Id == viewModel.GroupID); if (group == null) { return(NotFound()); } contact.MyGroup = group; _context.Contact.Add(contact); await _context.SaveChangesAsync(); } return(View(viewModel)); }