public ActionResult GetCategoryByid(string id)
 {
     _logger.LogInformation($"Entering GetCategoryByid Request for Category with CategoryID: {id}");
     try
     {
         if (isAdmin)
         {
             object response = "";
             if (string.IsNullOrEmpty(id))
             {
                 _logger.LogInformation($"Returning Response with CategoryID is null or empty");
                 return(Json(response));
             }
             _logger.LogInformation($"Requesting Method GetSingleCategoryByid for CategoryID as {id}");
             return(Json(GetSingleCategoryByid(id)));
         }
     }
     catch (Exception ex)
     {
         _logger.LogInformation($"Exception in getting Category for CategoryID as {id}");
         _log.WriteErrorLog(new LogItem {
             ErrorType = "Error", ErrorSource = "CategoryController_GetCategoryByid", ErrorDiscription = ex.InnerException != null ? ex.InnerException.ToString() : ex.Message
         });
     }
     _logger.LogInformation($"Returning from GetCategoryByid Action to Home Page {id}");
     return(RedirectToAction("Index", "Home"));
 }
Beispiel #2
0
        public void SendEmailNotification(EmailTemplate emailContent)
        {
            try
            {
                //Email Notification
                var message = new MailMessage
                {
                    IsBodyHtml = true,
                    Priority   = MailPriority.Normal
                };

                if (!string.IsNullOrEmpty(emailContent.SendTo))
                {
                    message.To.Add(emailContent.SendTo);
                }
                message.From    = new MailAddress(emailContent.SendFrom, emailContent.SendFromName);
                message.Subject = emailContent.Subject;
                message.Body    = emailContent.EmailBody;
                message.ReplyToList.Add(emailContent.ReplyTo);
                SmtpClient.Send(message);
            }
            catch (Exception ex)
            {
                _log.WriteErrorLog(new LogItem {
                    ErrorType = "Error", ErrorSource = "EmailHelper_SendEmailNotification", ErrorDiscription = ex.InnerException != null ? ex.InnerException.ToString() : ex.Message
                });
            }
        }
Beispiel #3
0
        public JsonResult GetDetailsById(EmployeeIdViewModel employeeIdViewModel)
        {
            try
            {
                if (isAdmin)
                {
                    var data = (from hroc in _auditToolContext.HROCRoster select hroc).ToList();
                    var objclstbHROCRoster = data.Where(x => x.Employee34IdLowerCase.ToLower().Equals(employeeIdViewModel.EmployeeId.ToLower()))
                                             .Select(x => new
                    {
                        x.HROCRosterId,
                        x.EmployeeFullName,
                        x.LastName,
                        x.FirstName,
                        x.Employee34IdLowerCase,
                        x.EmployeeNum,
                        x.SupervisorLastName,
                        x.SupervisorFirstName,
                        x.JobCdDescHomeCurr,
                        x.CreatedDate,
                        x.CreatedBy,
                        x.ModifiedBy,
                        x.ModifiedDate
                    }).ToList();
                    if (objclstbHROCRoster.Count > 0)
                    {
                        List <int> categories = new List <int>();
                        var        cat        = _auditToolContext.HrocrosterCategories.Where(x => x.HrocrosterId == objclstbHROCRoster[0].HROCRosterId).ToList();
                        cat.ForEach(result => categories.Add(result.CatgId));
                        // objclstbHROCRoster[0].HrocrosterCategories
                    }

                    return(Json(objclstbHROCRoster));
                }
            }
            catch (Exception ex)
            {
                _logger.LogInformation($"Exception in GetDetailsById method");
                _log.WriteErrorLog(new LogItem {
                    ErrorType = "Error", ErrorSource = "HRRosterController_GetDetailsById", ErrorDiscription = ex.InnerException != null ? ex.InnerException.ToString() : ex.Message
                });
            }
            return(Json(new { Success = "False", responseText = "Authorization Error" }));
        }
        public IActionResult Index(int AuditMainId)
        {
            try
            {
                if (isAuditor)
                {
                    var disp = _auditToolContext.AuditMain.Where(y => y.Id == AuditMainId &&
                                                                 (y.IsDisputed == true || y.IsEscalated == true)).FirstOrDefault();

                    if (disp != null)
                    {
                        return(RedirectToAction("Details", "Search"));
                    }

                    var model = new DisputeModel
                    {
                        //need check for isDisputed
                        AuditMain = _auditToolContext.AuditMain.FirstOrDefault(x => x.Id == AuditMainId)
                    };

                    var auditResponses = _auditToolContext.AuditMainResponse.Where(x => x.AuditMainId == AuditMainId && x.IsNonCompliant == true).ToList();

                    var subcategory = _auditToolContext.SubCategory.Where(x => x.SubCatgId == model.AuditMain.SubcategoryId).FirstOrDefault();
                    var category    = _auditToolContext.Category.Where(x => x.CatgId == model.AuditMain.ServiceGroupId).FirstOrDefault();

                    model.ServiceDeliveryGroupName = category == null ? string.Empty : category.CatgDescription;
                    model.SubCategoryName          = subcategory == null ? string.Empty : subcategory.SubCatgDescription;

                    var listOfValues = _auditToolContext.ListOfValue.Where(x => x.IsActive == true).ToList();

                    var gracePeriod = new List <SelectListItem>
                    {
                        new SelectListItem()
                        {
                            Text = "--Select--", Value = "0", Selected = true
                        }
                    };
                    foreach (var item in listOfValues.Where(x => x.CodeType.Trim() == "Grace Period"))
                    {
                        gracePeriod.Add(new SelectListItem()
                        {
                            Text = item.Code, Value = item.Id.ToString()
                        });
                    }

                    var overturn = new List <SelectListItem>
                    {
                        new SelectListItem()
                        {
                            Text = "--Select--", Value = "0", Selected = true
                        }
                    };
                    foreach (var item in listOfValues.Where(x => x.CodeType.Trim() == "Over Turn"))
                    {
                        overturn.Add(new SelectListItem()
                        {
                            Text = item.Code, Value = item.Id.ToString()
                        });
                    }


                    var auditNonCompList = new List <AuditNonComplianceModel>();
                    foreach (var auditRes in auditResponses)
                    {
                        var questionText = _auditToolContext.QuestionBank.Where(x => x.QuestionId == auditRes.QuestionId).FirstOrDefault();

                        if (questionText != null)
                        {
                            auditNonCompList.Add(new AuditNonComplianceModel()
                            {
                                QuestionId            = auditRes.QuestionId,
                                Question              = questionText.QuestionDescription, //need to call service to get the question
                                IsCompliant           = (bool)auditRes.IsCompliant,
                                IsNonCompliant        = (bool)auditRes.IsNonCompliant,
                                IsHighNonCompliant    = (bool)auditRes.IsHighNonComplianceImpact,
                                DowngradeRequired     = false,
                                IsCorrectionRequired  = (bool)auditRes.IsCorrectionRequired,
                                NonComplianceComments = auditRes.NonComplianceComments,
                                TicketId              = auditRes.TicketId,
                                QuestionRank          = (int)auditRes.QuestionRank
                            });
                        }
                    }
                    model.GracePeriod             = gracePeriod;
                    model.Overturn                = overturn;
                    model.AuditNonComplianceModel = auditNonCompList;

                    return(View(model));
                }
            }
            catch (Exception ex)
            {
                _logger.LogInformation($"Exception in Index method");
                _log.WriteErrorLog(new LogItem {
                    ErrorType = "Error", ErrorSource = "DisputeController_Index", ErrorDiscription = ex.InnerException != null ? ex.InnerException.ToString() : ex.Message
                });
            }
            return(RedirectToAction("Index", "Home"));
        }
        public IActionResult Details(BindSearchGrid objBindSearchGrid)
        {
            if (isAuditor)
            {
                try
                {
                    var draw = HttpContext.Request.Form["draw"].FirstOrDefault();

                    // Skip number of Rows count
                    var start = Request.Form["start"].FirstOrDefault();

                    // Paging Length 10,20
                    var length = Request.Form["length"].FirstOrDefault();

                    //Paging Size (10, 20, 50,100)
                    int pageSize = length != null?Convert.ToInt32(length) : 0;

                    int skip = start != null?Convert.ToInt32(start) : 0;

                    int recordsTotal = 0;

                    var customerData = GetSearchResult();

                    //total number of rows counts
                    recordsTotal = customerData.Count;
                    //Paging
                    var jsonData = customerData.Skip(skip).Take(pageSize).ToList();
                    //Returning Json Data
                    return(Json(new { draw, recordsFiltered = recordsTotal, recordsTotal, data = jsonData }));
                }
                catch (Exception ex)
                {
                    _log.WriteErrorLog(new LogItem {
                        ErrorType = "Error", ErrorSource = "SearchController_GetSearchDetails", ErrorDiscription = ex.InnerException != null ? ex.InnerException.ToString() : ex.Message
                    });
                }
            }
            return(RedirectToAction("Index", "Home"));
        }
 public ActionResult GetQuestionByid(string id)
 {
     try
     {
         if (isAdmin)
         {
             object response = "";
             if (string.IsNullOrEmpty(id))
             {
                 return(Json(response));
             }
             return(Json(GetSingleQuestionByid(id)));
         }
     }
     catch (Exception ex)
     {
         _logger.LogInformation($"Exception in GetQuestionByid method");
         _log.WriteErrorLog(new LogItem {
             ErrorType = "Error", ErrorSource = "QuestionsController_GetQuestionByid", ErrorDiscription = ex.InnerException != null ? ex.InnerException.ToString() : ex.Message
         });
     }
     return(RedirectToAction("Index", "Home"));
 }
Beispiel #7
0
 //[Route("category/method")]
 public IActionResult GetCategory()
 {
     try
     {
         if (isAdmin)
         {
             var categoryList = GetCategoryDetails();
             _logger.LogInformation($"No of records: {categoryList.Count}");
             return(Json(categoryList));
         }
     }
     catch (Exception ex)
     {
         _logger.LogInformation($"Exception in GetCategory method");
         _log.WriteErrorLog(new LogItem {
             ErrorType = "Error", ErrorSource = "SubCategoryController_GetCategory", ErrorDiscription = ex.InnerException != null ? ex.InnerException.ToString() : ex.Message
         });
     }
     return(RedirectToAction("Index", "Home"));
 }
Beispiel #8
0
        public IActionResult Index(String TicketId, String TicketStatus, String TicketDate,
                                   int ServiceCatId, int SubCatId, String EnvironmentType, String TicketSubStatus, string ResultType)
        {
            try
            {
                if (isAuditor)
                {
                    if (string.IsNullOrWhiteSpace(TicketId) ||
                        string.IsNullOrWhiteSpace(TicketStatus) ||
                        string.IsNullOrWhiteSpace(TicketDate) ||
                        ServiceCatId == 0 || SubCatId == 0)
                    {
                        return(RedirectToAction("Index", "Search"));
                    }

                    var ticketId        = TicketId;
                    var ticketStatus    = TicketStatus;
                    var auditTicketDate = TicketDate.Replace("%2F", "/");
                    var recordDate      = DateTime.Parse(auditTicketDate);
                    var serviceCategory = ServiceCatId;
                    var subCategory     = SubCatId;
                    var environmentType = EnvironmentType;
                    var resultType      = ResultType;

                    var auditMain = _auditToolContext.AuditMain.Where(x => x.TicketId == TicketId &&
                                                                      x.AuditType == environmentType &&
                                                                      x.TicketDate == recordDate &&
                                                                      x.SubcategoryId == subCategory).FirstOrDefault();

                    if (auditMain != null)
                    {
                        return(RedirectToAction("Index", "Search"));
                    }

                    var auditViewModel = new AuditViewModel();
                    auditViewModel.isEscalated = false;

                    var subcategory = _auditToolContext.SubCategory.Where(cat => cat.SubCatgId == subCategory &&
                                                                          cat.CatgId == serviceCategory && cat.IsActive == true).FirstOrDefault();
                    var subCategoryDescription = subcategory != null ? subcategory.SubCatgDescription : String.Empty;

                    var category = _auditToolContext.Category.Where(cat => cat.CatgId == serviceCategory &&
                                                                    cat.IsActive == true).FirstOrDefault();
                    var categoryDescription = category != null ? category.CatgDescription : String.Empty;


                    if (resultType == "Escalated")
                    {
                        auditViewModel.isEscalated = true;
                    }


                    if (ticketStatus == "0")
                    {
                        var ssisTicket = _auditToolContext.TicketsViaSSIS.Where(
                            ssis => ssis.TicketCode == ticketId &&
                            ssis.TicketStatus == "0" &&
                            ssis.ClosedDate == recordDate &&
                            ssis.SubCategory == subCategoryDescription).OrderByDescending(ord => ord.LoadStamp).FirstOrDefault();

                        if (ssisTicket != null)
                        {
                            auditViewModel.Agent34Id = String.IsNullOrWhiteSpace(ssisTicket.CloseUserId) ? "" : ssisTicket.CloseUserId.Substring(0, 7);

                            var hrProff     = _auditToolContext.HROCRoster.Where(hrp => hrp.Employee34IdLowerCase == auditViewModel.Agent34Id).FirstOrDefault();
                            var hrProffName = hrProff != null ? hrProff.EmployeeFullName : String.Empty;

                            auditViewModel.TicketId        = ssisTicket.TicketCode;
                            auditViewModel.AuditorName     = _authService.LoggedInUserInfo().Result.LoggedInFullName;
                            auditViewModel.EnvironmentType = environmentType;
                            auditViewModel.ServiceCatId    = serviceCategory;
                            auditViewModel.SubCatName      = subCategoryDescription;
                            auditViewModel.SupervisorName  = hrProff != null?String.Concat(hrProff.SupervisorLastName, ", ", hrProff.SupervisorFirstName) : String.Empty;

                            auditViewModel.ServiceGroupName = categoryDescription;
                            auditViewModel.SubCatId         = subCategory;
                            auditViewModel.AgentName        = hrProffName;
                            auditViewModel.TicketDate       = (DateTime)ssisTicket.ClosedDate;

                            var listOfValues = _auditToolContext.ListOfValue.Where(x => x.IsActive == true &&
                                                                                   x.CodeType.Trim().ToLower() == "audit cancel reason").ToList();

                            var cancelReason = new List <SelectListItem>
                            {
                                new SelectListItem()
                                {
                                    Text = "--Select--", Value = "0", Selected = true
                                }
                            };
                            foreach (var item in listOfValues)
                            {
                                cancelReason.Add(new SelectListItem()
                                {
                                    Text = item.Code, Value = item.Id.ToString()
                                });
                            }

                            auditViewModel.CancellationReason = cancelReason;

                            var query = _auditToolContext.QuestionBank
                                        .Join(
                                _auditToolContext.QuestionMapping.Where(a => a.SubCatgId == subCategory &&
                                                                        a.IsActive == true),
                                questionBanks => questionBanks.QuestionId,
                                questionMasters => questionMasters.QuestionId,
                                (questionBanks, questionMasters) => new
                            {
                                questionBanks.QuestionId,
                                questionBanks.QuestionName,
                                questionBanks.QuestionDescription,
                                questionMasters.SeqNumber,
                                questionMasters.SubCatgId
                            })
                                        .OrderBy(b => b.SeqNumber)
                                        .Select(x => new QuestionConfigMappingJoinMast
                            {
                                QuestionId          = x.QuestionId,
                                QuestionName        = x.QuestionName,
                                QuestionDescription = x.QuestionDescription,
                                QuestionSeqNumber   = x.SeqNumber
                            }).OrderBy(c => c.QuestionSeqNumber).ToList();

                            List <HCAaudit.Service.Portal.AuditUI.ViewModel.Question> lstQuestionList = new List <HCAaudit.Service.Portal.AuditUI.ViewModel.Question>();

                            foreach (var item in query)
                            {
                                ViewModel.Action objAction = new ViewModel.Action();
                                Impact           objImpact = new Impact
                                {
                                    IsHighImpact = false,
                                    IsLowImpact  = false
                                };
                                objAction.Impact          = objImpact;
                                objAction.IsCompliance    = false;
                                objAction.IsNonCompliance = false;
                                objAction.IsNotApplicable = false;

                                HCAaudit.Service.Portal.AuditUI.ViewModel.Question objQuestion = new HCAaudit.Service.Portal.AuditUI.ViewModel.Question
                                {
                                    QuestionId          = item.QuestionId,
                                    QuestionName        = item.QuestionName,
                                    QuestionDescription = item.QuestionDescription,
                                    QuestionSequence    = item.QuestionSeqNumber,
                                    Action            = objAction,
                                    CorrectionRequire = false
                                };
                                lstQuestionList.Add(objQuestion);
                            }
                            auditViewModel.Question = lstQuestionList;
                        }
                        else
                        {
                            return(RedirectToAction("Index", "Search"));
                        }
                    }
                    else if (ticketStatus == "1")
                    {
                        var ssisTicket = _auditToolContext.TicketsViaSSIS.Where(
                            ssis => ssis.TicketCode == ticketId &&
                            ssis.TicketStatus == "1" &&
                            ssis.CreateDate == recordDate &&
                            ssis.SubCategory == subCategoryDescription).OrderByDescending(ord => ord.LoadStamp).FirstOrDefault();

                        if (ssisTicket != null)
                        {
                            auditViewModel.Agent34Id = String.IsNullOrWhiteSpace(ssisTicket.CreatorUserId) ? "" : ssisTicket.CreatorUserId.Substring(0, 7);

                            var hrProff     = _auditToolContext.HROCRoster.Where(hrp => hrp.Employee34IdLowerCase == auditViewModel.Agent34Id).FirstOrDefault();
                            var hrProffName = hrProff != null ? hrProff.EmployeeFullName : String.Empty;

                            auditViewModel.TicketId         = ssisTicket.TicketCode;
                            auditViewModel.AuditorName      = _authService.LoggedInUserInfo().Result.LoggedInFullName;
                            auditViewModel.EnvironmentType  = environmentType;
                            auditViewModel.ServiceCatId     = serviceCategory;
                            auditViewModel.SubCatName       = subCategoryDescription;
                            auditViewModel.ServiceGroupName = categoryDescription;
                            auditViewModel.ServiceCatId     = serviceCategory;
                            auditViewModel.AgentName        = hrProffName;
                            auditViewModel.TicketDate       = (DateTime)ssisTicket.CreateDate;

                            var listOfValues = _auditToolContext.ListOfValue.Where(x => x.IsActive == true &&
                                                                                   x.CodeType.Trim().ToLower() == "audit cancel reason").ToList();

                            var cancelReason = new List <SelectListItem>
                            {
                                new SelectListItem()
                                {
                                    Text = "--Select--", Value = "0", Selected = true
                                }
                            };
                            foreach (var item in listOfValues)
                            {
                                cancelReason.Add(new SelectListItem()
                                {
                                    Text = item.Code, Value = item.Id.ToString()
                                });
                            }

                            auditViewModel.CancellationReason = cancelReason;

                            var query = _auditToolContext.QuestionBank
                                        .Join(
                                _auditToolContext.QuestionMapping.Where(a => a.SubCatgId == serviceCategory &&
                                                                        a.IsActive == true),
                                questionBanks => questionBanks.QuestionId,
                                questionMasters => questionMasters.QuestionId,
                                (questionBanks, questionMasters) => new
                            {
                                questionBanks.QuestionId,
                                questionBanks.QuestionName,
                                questionBanks.QuestionDescription,
                                questionMasters.SeqNumber,
                                questionMasters.SubCatgId
                            })
                                        .OrderBy(b => b.SeqNumber)
                                        .Select(x => new QuestionConfigMappingJoinMast
                            {
                                QuestionId          = x.QuestionId,
                                QuestionName        = x.QuestionName,
                                QuestionDescription = x.QuestionDescription,
                                QuestionSeqNumber   = x.SeqNumber
                            }).ToList();

                            List <HCAaudit.Service.Portal.AuditUI.ViewModel.Question> lstQuestionList = new List <HCAaudit.Service.Portal.AuditUI.ViewModel.Question>();
                            foreach (var item in query)
                            {
                                ViewModel.Action objAction = new ViewModel.Action();
                                Impact           objImpact = new Impact
                                {
                                    IsHighImpact = false,
                                    IsLowImpact  = false
                                };
                                objAction.Impact          = objImpact;
                                objAction.IsCompliance    = false;
                                objAction.IsNonCompliance = false;
                                objAction.IsNotApplicable = false;

                                HCAaudit.Service.Portal.AuditUI.ViewModel.Question objQuestion = new HCAaudit.Service.Portal.AuditUI.ViewModel.Question
                                {
                                    QuestionId          = item.QuestionId,
                                    QuestionName        = item.QuestionName,
                                    QuestionDescription = item.QuestionDescription,
                                    QuestionSequence    = item.QuestionSeqNumber,
                                    Action            = objAction,
                                    CorrectionRequire = true
                                };
                                lstQuestionList.Add(objQuestion);
                            }
                            auditViewModel.Question = lstQuestionList;
                        }
                        else
                        {
                            return(RedirectToAction("Index", "Search"));
                        }
                    }
                    SessionHelper.SetObjectAsJson(HttpContext.Session, Common.CaseIDSessionKeyName, ticketId);
                    return(View(auditViewModel));
                }
            }
            catch (Exception ex)
            {
                _logger.LogInformation($"Exception in Index method");
                _log.WriteErrorLog(new LogItem {
                    ErrorType = "Error", ErrorSource = "AuditController_Index", ErrorDiscription = ex.InnerException != null ? ex.InnerException.ToString() : ex.Message
                });
            }

            return(RedirectToAction("Index", "Home"));
        }