Пример #1
0
        public async Task <IActionResult> ApplyForAstronomer()
        {
            User user = await userManager.GetUserAsync(User);

            bool isAstronomer = await userManager.IsInRoleAsync(user, WebConstants.AstronomerRole);

            if (isAstronomer)
            {
                return(BadRequest());
            }

            ApplyForAstronomerViewModel model = new ApplyForAstronomerViewModel
            {
                StatusMessage = StatusMessage
            };

            return(View(model));
        }
Пример #2
0
        public async Task <IActionResult> ApplyForAstronomer(ApplyForAstronomerViewModel model)
        {
            User user = await userManager.GetUserAsync(User);

            bool isAstronomer = await userManager.IsInRoleAsync(user, WebConstants.AstronomerRole);

            if (isAstronomer)
            {
                StatusMessage = "You are already astronomer";
                return(RedirectToAction(nameof(Index)));
            }

            bool hasFullData = user.FirstName != null &&
                               user.LastName != null &&
                               user.Email != null &&
                               user.BirthDate != null &&
                               user.PhoneNumber != null;

            if (!hasFullData)
            {
                StatusMessage = "You have to give all personal data";
                return(RedirectToAction(nameof(Index)));
            }

            if (user.SendApplication)
            {
                StatusMessage = "You have to wait for approval";
                return(RedirectToAction(nameof(Index)));
            }

            bool success = this.userService.Apply(user.Id);

            if (!success)
            {
                return(BadRequest());
            }

            StatusMessage = "Your application has been sent successfully";
            return(RedirectToAction(nameof(Index)));
        }