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)); }
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))); }