public async Task <IActionResult> Details(CrimeDetailViewModel formData) { try { if (ModelState.IsValid) { if (DateTime.Parse(formData.ConvictionDate) >= DateTimeOffset.Now) { ModelState.AddModelError("Employees", $"Conviction Date {formData.ConvictionDate} can't be greater or now, Please enter a valid Conviction date."); } else { await _crimeServices.UpdateCrimeAsync(new Crimes { DateTimeModified = DateTimeOffset.Now, EmployeeID = formData.Employee, CrimeDescription = formData.CrimeDescription, ConvictionDate = DateTime.Parse(formData.ConvictionDate), ConvictionPlace = formData.ConvictionPlace, IsConvicted = formData.IsConvicted, SentenceImposed = formData.SentenceImposed, UserAccount = User.Identity.Name, Id = formData.Id }); TempData["Message"] = "Changes saved successfully"; _logger.LogInformation($"Success: successfully updated employee criminal record by user={@User.Identity.Name.Substring(4)}"); return(RedirectToAction("details", new { id = formData.Id })); } } } catch (ApplicationException error) { _logger.LogError( error, $"FAIL: failed to update employee criminal details {formData.ConvictionDate}. Internal Application Error.; user={@User.Identity.Name.Substring(4)}"); ModelState.AddModelError("Children", $"Failed to update employee criminal record. {formData.ConvictionDate} Contact IT ServiceDesk for support thank you."); } await LoadSelectListsAsync(); return(View(formData)); }
public async Task <IActionResult> Details(Guid id) { var crimeQuery = await _crimeServices.GetCrimeById(id); if (crimeQuery == null) { return(NotFound()); } var model = new CrimeDetailViewModel { Id = crimeQuery.Id, Employee = crimeQuery.EmployeeID ?? Guid.Empty, ConvictionPlace = crimeQuery.ConvictionPlace, IsConvicted = crimeQuery.IsConvicted, SentenceImposed = crimeQuery.SentenceImposed, CrimeDescription = crimeQuery.CrimeDescription, ConvictionDate = crimeQuery.ConvictionDate == null ? string.Empty : DateTime.Parse(crimeQuery.ConvictionDate.ToString()).ToString("yyyy-MM-dd") }; await LoadSelectListsAsync(); return(View(model)); }