public ActionResult Index() { var users = UserLogic.GetAllUsers(); var groups = UserGroupsLogic.GetGroups(); var receiversList = new SelectList( users.ToList().Select(u => new SelectListItem { Value = u, Text = u }) , "Value", "Text"); var groupList = new SelectList( groups.ToList().Select(u => new SelectListItem { Value = u, Text = u }) , "Value", "Text"); var vm = new SendViewModels { Sender = User.Identity.GetUserName(), Receivers = receiversList, Groups = groupList }; return(View(vm)); }
public ActionResult Index(GroupsViewModels vm, string submit) { if (submit != null && ModelState.IsValid) { if (!UserGroupsLogic.GroupExists(vm.GroupName)) { UserGroupsLogic.JoinGroup(User.Identity.GetUserId(), vm.GroupName); } } return(Index()); }
public ActionResult Leave(string grp) { if (grp == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } try { UserGroupsLogic.LeaveGroup(User.Identity.GetUserId(), grp); } catch (InvalidOperationException) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } return(View()); }
public ActionResult Join(string grp) { if (grp == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } try { UserGroupsLogic.JoinGroup(User.Identity.GetUserId(), grp); } catch (DbUpdateException) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } return(View()); }
public ActionResult Index() { var groups = UserGroupsLogic.GetGroups(); var vm = new List <GroupsViewModels> { new GroupsViewModels { GroupName = "", GroupMemberAmount = 0 } }; groups.ToList().ForEach(l => vm.Add( new GroupsViewModels { GroupName = l, GroupMemberAmount = UserGroupsLogic.GetMembersAmount(l), IsMember = UserGroupsLogic.IsMember(User.Identity.GetUserId(), l) })); return(View(vm)); }
public ActionResult Index(SendViewModels vm) { if (ModelState.IsValid) { var usersSelected = new List <string>(); usersSelected.AddRange(UserLogic.GetAllUserIds(vm.ReceiversSelected)); vm.GroupsSelected.ForEach(g => usersSelected.AddRange(UserGroupsLogic.GetMembersId(g))); var distinctUsers = usersSelected.Distinct(); usersSelected = distinctUsers.ToList(); // User must have selected a Receiver (Users or Groups or Both) if (usersSelected.Capacity == 0) { return(Index()); } var msg = new Message { SenderId = User.Identity.GetUserId(), TimeSent = DateTime.Now, Title = vm.Title, Body = vm.Body }; MessageLogic.Send(msg, usersSelected); var rc = new StringBuilder(); vm.ReceiversSelected.ForEach(l => rc.Append(l + ", ")); vm.GroupsSelected.ForEach(l => rc.Append(l + ", ")); var receipt = new SuccessfulViewModels { MessageNumber = msg.MessageId, TimeSent = msg.TimeSent, ReceiversSent = rc.ToString() }; return(RedirectToAction("Successful", "Send", receipt)); } return(Index()); }