public async Task <IActionResult> CheckDenialService(DateTime requestedDate) { var serviceRequests = await _serviceRequestOperations.GetServiceRequestsByRequestedDateAndStatus( DateTime.UtcNow.AddDays(-90), new List <string>() { Status.Denied.ToString() }, HttpContext.User.GetCurrentUserDetails().Email); if (serviceRequests.Any()) { return(Json(data: $"There is a denied service request for you in last 90 days. Please contact ASC Admin.")); } return(Json(data: true)); }
public async Task <IActionResult> Dashboard() { // List of Status which were to be queried. var status = new List <string> { Status.New.ToString(), Status.InProgress.ToString(), Status.Initiated.ToString(), Status.RequestForInformation.ToString() }; List <ServiceRequest> serviceRequests = new List <ServiceRequest>(); List <ServiceRequest> auditServiceRequests = new List <ServiceRequest>(); Dictionary <string, int> activeServiceRequests = new Dictionary <string, int>(); if (HttpContext.User.IsInRole(Roles.Admin.ToString())) { serviceRequests = await _serviceRequestOperations.GetServiceRequestsByRequestedDateAndStatus( DateTime.UtcNow.AddDays(-7), status); auditServiceRequests = await _serviceRequestOperations.GetServiceRequestsFormAudit(); var serviceEngineerServiceRequests = await _serviceRequestOperations.GetActiveServiceRequests(new List <string> { Status.InProgress.ToString(), Status.Initiated.ToString(), }); if (serviceEngineerServiceRequests.Any()) { activeServiceRequests = serviceEngineerServiceRequests .GroupBy(x => x.ServiceEngineer) .ToDictionary(p => p.Key, p => p.Count()); } } else if (HttpContext.User.IsInRole(Roles.Engineer.ToString())) { serviceRequests = await _serviceRequestOperations.GetServiceRequestsByRequestedDateAndStatus( DateTime.UtcNow.AddDays(-7), status, serviceEngineerEmail : HttpContext.User.GetCurrentUserDetails().Email); auditServiceRequests = await _serviceRequestOperations.GetServiceRequestsFormAudit( HttpContext.User.GetCurrentUserDetails().Email); } else { serviceRequests = await _serviceRequestOperations.GetServiceRequestsByRequestedDateAndStatus( DateTime.UtcNow.AddYears(-1), email : HttpContext.User.GetCurrentUserDetails().Email); } var orderedAudit = auditServiceRequests.OrderByDescending(p => p.Timestamp).ToList(); return(View(new DashboardViewModel { ServiceRequests = serviceRequests.OrderByDescending(p => p.RequestedDate).ToList(), AuditServiceRequests = orderedAudit, ActiveServiceRequests = activeServiceRequests })); }