Ejemplo n.º 1
0
        public async Task <IActionResult> AddAward()
        {
            List <Award> awards = await _awardLogic.GetAwardsAsync();

            if (User.IsInRole("User"))
            {
                ViewBag.Awards = new SelectList(awards
                                                .Where(a => a.AwardType == AwardType.Thanks)
                                                .Select(a => a.AwardTitle)
                                                .OrderBy(a => a)
                                                .ToArray());
            }
            else
            {
                ViewBag.Awards = new SelectList(awards
                                                .Select(a => a.AwardTitle)
                                                .OrderBy(a => a)
                                                .ToArray());
            }

            List <User> users = await _userLogic.GetUsersAsync();

            var recepients = users
                             .Where(u => u.Email != User.Identity.Name && u.Status != Status.Special)
                             .Select(u => u.Email)
                             .OrderBy(u => u)
                             .ToArray();

            string[] usersFrom;
            if (User.IsInRole("User"))
            {
                usersFrom = users
                            .Where(u => u.Email == User.Identity.Name)
                            .Select(u => u.Email)
                            .OrderBy(u => u)
                            .ToArray();
            }
            else
            {
                usersFrom = users
                            .Where(u => u.Email == User.Identity.Name || u.Status == Status.Special)
                            .Select(u => u.Email)
                            .OrderBy(u => u)
                            .ToArray();
            }

            ViewBag.Recepients = new SelectList(recepients);
            ViewBag.UsersFrom  = new SelectList(usersFrom);

            AddAwardModel model = new AddAwardModel
            {
                FromEmail = usersFrom.FirstOrDefault(u => u == User.Identity.Name)
            };

            return(PartialView("_AddAwardPartial", model));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> AddAward(AddAwardModel model)
        {
            if (ModelState.IsValid)
            {
                UserAward userAward = new UserAward();
                userAward.AwardReceived = new Award {
                    AwardTitle = model.AwardTitle
                };
                userAward.User = new User {
                    Email = model.RecepientEmail
                };
                userAward.Description = model.Description;
                userAward.FromUser    = new User {
                    Email = model.FromEmail
                };

                await _userAwardLogic.AddAwardAsync(userAward);
            }

            List <Award> awards = await _awardLogic.GetAwardsAsync();

            if (User.IsInRole("User"))
            {
                ViewBag.Awards = new SelectList(awards
                                                .Where(a => a.AwardType == AwardType.Thanks)
                                                .Select(a => a.AwardTitle)
                                                .OrderBy(a => a)
                                                .ToArray());
            }
            else
            {
                ViewBag.Awards = new SelectList(awards
                                                .Select(a => a.AwardTitle)
                                                .OrderBy(a => a)
                                                .ToArray());
            }

            List <User> users = await _userLogic.GetUsersAsync();

            var recepients = users
                             .Where(u => u.Email != User.Identity.Name && u.Status != Status.Special)
                             .Select(u => u.Email)
                             .OrderBy(u => u)
                             .ToArray();

            string[] usersFrom;
            if (User.IsInRole("User"))
            {
                usersFrom = users
                            .Where(u => u.Email == User.Identity.Name)
                            .Select(u => u.Email)
                            .OrderBy(u => u)
                            .ToArray();
            }
            else
            {
                usersFrom = users
                            .Where(u => u.Email == User.Identity.Name || u.Status == Status.Special)
                            .Select(u => u.Email)
                            .OrderBy(u => u)
                            .ToArray();
            }

            ViewBag.Recepients = new SelectList(recepients);
            ViewBag.UsersFrom  = new SelectList(usersFrom);

            return(PartialView("_AddAwardPartial", model));
        }