public async Task <TariffOptionDescriptionViewModel> UpdateAsync(TariffOptionDescriptionViewModel model) { var tariffOptionDescription = _context.TariffOptionsDescriptions.First(x => x.Id == model.Id); if (tariffOptionDescription is null) { return(null); } tariffOptionDescription.Name = model.Name; tariffOptionDescription.Description = model.Description; _context.Update(tariffOptionDescription); await _context.SaveChangesAsync(); var newTariffOptionDescription = new TariffOptionDescriptionViewModel { Id = tariffOptionDescription.Id, Name = tariffOptionDescription.Name, Description = tariffOptionDescription.Description }; var userForLog = await _userManager.FindByEmailAsync(_httpContext.User.Identity.Name); _logger.LogInformation("UserName: {0} | UserId: {1} | Request: {2} | PostMessage: {3}", userForLog.UserName, userForLog.Id, _httpContext.Request.GetRawTarget(), $"TariffOptionDescription: {JsonConvert.SerializeObject(newTariffOptionDescription)} was successfully updated."); return(newTariffOptionDescription); }
public async Task <IActionResult> EditTariffOptionDescription([FromForm] TariffOptionDescriptionViewModel model) { if (!ModelState.IsValid) { var errors = ModelState.Values.SelectMany(x => x.Errors.Select(xx => xx.ErrorMessage)).ToList(); errors.ForEach(x => ModelState.AddModelError("", x)); return(View(model)); } if (model.Id is null) { await _tariffOptionDescriptionService.CreateAsync(model); return(RedirectToAction("TariffManager")); } var tariffUpdated = await _tariffOptionDescriptionService.UpdateAsync(model); if (tariffUpdated is null) { return(View("SomethingWentWrong", "on updating existing tariff option")); } return(View(tariffUpdated)); }
public async Task <TariffOptionDescriptionViewModel> CreateAsync(TariffOptionDescriptionViewModel model) { var tariffOptionDescription = new TariffOptionDescription { Name = model.Name, Description = model.Description }; _context.TariffOptionsDescriptions.Add(tariffOptionDescription); await _context.SaveChangesAsync(); var userForLog = await _userManager.FindByEmailAsync(_httpContext.User.Identity.Name); _logger.LogInformation("UserName: {0} | UserId: {1} | Request: {2} | PostMessage: {3}", userForLog.UserName, userForLog.Id, _httpContext.Request.GetRawTarget(), $"TariffOptionDescription: {JsonConvert.SerializeObject(tariffOptionDescription)} was successfully created."); return(model); }