public IActionResult Add(int id) { var apiaryNumber = this.apiaryService.GetApiaryNumberByApiaryId(id); var viewModel = new AddApiaryHelperInputModel { ApiaryNumber = apiaryNumber, ApiaryId = id, }; return(this.View(viewModel)); }
public async Task <IActionResult> Add(int id, AddApiaryHelperInputModel viewModel) { var currentUser = await this.userManager.GetUserAsync(this.User); viewModel.ApiaryId = id; viewModel.ApiaryNumber = this.apiaryService.GetApiaryNumberByApiaryId(id); if (!this.ModelState.IsValid) { return(this.View(viewModel)); } if (currentUser.UserName == viewModel.UserName) { this.ModelState.AddModelError("UserName", "Не може да добавите себе си!"); return(this.View(viewModel)); } var user = await this.userManager.FindByNameAsync(viewModel.UserName); if (this.apiaryHelperService.IsApiaryHelper(user.Id, id)) { this.ModelState.AddModelError("UserName", "Потребителят вече е помощник!"); return(this.View(viewModel)); } await this.apiaryHelperService.AddAsync(user.Id, id); var helper = await this.userManager.FindByNameAsync(viewModel.UserName); await this.emailSender.SendEmailAsync( this.configuration["SendGrid:RecipientEmail"], GlobalConstants.SystemName, currentUser.Email, "Успешно добавен помощник", $"Успешно добавихте <strong>{helper.UserName}</strong>, като помощник на пчелин: <strong>{viewModel.ApiaryNumber}</strong>."); await this.emailSender.SendEmailAsync( this.configuration["SendGrid:RecipientEmail"], GlobalConstants.SystemName, helper.Email, "Успешно добавен помощник", $"Успешно бяхте добавени, като помощник на пчелин: <strong>{viewModel.ApiaryNumber}</strong> от <strong>{currentUser.Email}</strong>."); this.TempData[GlobalConstants.SuccessMessage] = "Успешно добавен помощник!"; return(this.RedirectToAction(nameof(this.All), new { id = viewModel.ApiaryId })); }