Example #1
0
        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));
        }
Example #2
0
        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));
        }