Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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());
        }