Esempio n. 1
0
        //[ResponseCache(Location = ResponseCacheLocation.None, NoStore = true)]
        public async Task <IActionResult> Details(WorkPermitDetailViewModel formData)
        {
            try
            {
                if (ModelState.IsValid)
                {
                    //if (DateTime.Parse(formData.ExpiryDate) <= DateTimeOffset.Now)
                    //{
                    //    ModelState.AddModelError("WorkPermits", $"Employee WorkPermit Expiry Date {formData.ExpiryDate} can't be now or less than today, Please enter a valid WorkPermit expiry date greater than today.");
                    //}
                    //else if (DateTimeOffset.Now.Date.Day - DateTime.Parse(formData.ExpiryDate).Day <= 7)
                    //{
                    //    int days = DateTime.Parse(formData.ExpiryDate).Day - DateTimeOffset.Now.Date.Day;
                    //    ModelState.AddModelError("WorkPermits", $"Employee WorkPermit can't be expiring in {days} days, Please enter a valid date that expiries in 8 days and above .");

                    //}
                    //else
                    //{
                    //bool bIfExist = false;
                    //var q = from c in _db.WorkPermits where c.WorkPermitNumber == formData.WorkPermitNumber select c;
                    //try
                    //{
                    //    q.ToList()[0].WorkPermitNumber.ToString();
                    //    bIfExist = true;
                    //}
                    //catch { }
                    //if (bIfExist == true)
                    //{
                    //    ModelState.AddModelError("WorkPermits", $"Can not register duplicate record. {formData.WorkPermitNumber} is already registered");
                    //}
                    //else
                    //{
                    await _workPermitServices.UpdateWorkPermitAsync(new WorkPermit
                    {
                        EmployeeId       = formData.EmployeeId,
                        WorkPermitNumber = formData.WorkPermitNumber,
                        ExpiryDate       = DateTime.Parse(formData.ExpiryDate),
                        UserAccount      = User.Identity.Name,
                        Id = formData.Id
                    });

                    TempData["Message"] = "Changes saved successfully";
                    _logger.LogInformation($"Successfully updated employee workpermit {formData.WorkPermitNumber} record by user={@User.Identity.Name.Substring(4)}");
                    return(RedirectToAction("details", new { id = formData.Id }));
                }
            }
            catch (ApplicationException error)
            {
                ModelState.AddModelError("WorkPermit", $"Can not workpermit record. {formData.WorkPermitNumber} Contact IT ServiceDesk for support thank you.");
                _logger.LogError(
                    error,
                    $"FAIL: failed to update employee workpermit {formData.EmployeeId}. Internal Application Error.; user={@User.Identity.Name.Substring(4)}");
            }
            await LoadSelectListsAsync();

            return(View(formData));
        }
Esempio n. 2
0
        //[ResponseCache(Location = ResponseCacheLocation.None, NoStore = true)]
        public async Task <IActionResult> Details(Guid id)
        {
            var workPermitQuery = await _workPermitServices.GetWorkPermitById(id);

            if (workPermitQuery == null)
            {
                return(NotFound());
            }
            var model = new WorkPermitDetailViewModel
            {
                EmployeeId       = workPermitQuery.EmployeeId ?? Guid.Empty,
                WorkPermitNumber = workPermitQuery.WorkPermitNumber,
                Id         = workPermitQuery.Id,
                ExpiryDate = workPermitQuery.ExpiryDate == null ? string.Empty : DateTime.Parse(workPermitQuery.ExpiryDate.ToString()).ToString("yyyy-MM-dd")
            };

            await LoadSelectListsAsync();

            return(View(model));
        }