using LoggingHelper; using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Web; using System.Web.Mvc; using GODATA.RoleServices; using GODATA.AuthenticationServices; using RestSharp; using Newtonsoft.Json; using GODATA.Models.TicketAdministration_Dealer; using Kendo.Mvc.UI; using Kendo.Mvc.Extensions; using GODATA.Models.DropDownData; namespace GODATA.Controllers { [GODATA.MvcApplication.SessionExpire] public class TicketAdministration_DealerController : Controller { #region Global Variables /// /// Global variable for Ticket administration repository. /// private TicketAdministration_DealerRepository objTicketDealerAdministrationRepository = null; /// /// Global variable for Ticket administration repository. /// private DropDownDataRepository objDropDownDataRepository = null; /// /// Represent object of LoggingUtility class /// LoggingUtility objLog = new LoggingUtility(); /// /// Represent string object contain log file path /// //string path = "~/Log/"; string path = System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["PathLog"]); /// /// Represent string object contain log status /// string logtf = (ConfigurationManager.AppSettings["Log"]); /// /// Represent string object contain Error log status /// string errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]); /// /// getting application name from AppSetting in web.config file /// private static string _appName = ConfigurationManager.AppSettings["ApplicationName"].ToString(); /// /// getting web api token from AppSetting in web.config file /// private static string _securityToken = ConfigurationManager.AppSettings["RESTfulSecurityToken"].ToString(); /// /// getting user's utc minutes from session /// private static string _timeOffSetMinutes = null; /// /// getting login user's id /// private static string _LoginUserId = null; /// /// getting login user's name /// private static string _LoginUserName = null; /// /// getting time zone id of user from AppSetting in web.config file /// private static string _TimeZoneId = ConfigurationManager.AppSettings["TimeZoneId"].ToString(); /// /// getting web api url from AppSetting in web.config file /// private static string _RestClientUrl = ConfigurationManager.AppSettings["RestfulApiUrl"].ToString(); /// /// getting login Dealer's Id /// private static string _DealerId = null; #endregion #region Get dealer's and van's tickets /// /// Get dealer tickets administration view /// /// return view public ActionResult Index() { try { objTicketDealerAdministrationRepository = new TicketAdministration_DealerRepository(); //Get open tickets history List oListOpenTicket = objTicketDealerAdministrationRepository.GetOpenTicketHistory().ToList(); //Get close tickets history List oListCloseTicket = objTicketDealerAdministrationRepository.GetCloseTicketHistory().ToList(); Int32 countTotalTicket = 0, countDealerTotalTicket = 0, countVanTotalTicket = 0, countepsTotalTicket = 0; countTotalTicket = oListOpenTicket.Count() + oListCloseTicket.Count(); countDealerTotalTicket = oListOpenTicket.Where(w => w.AssignedTo.Equals("dealer")).Count() + oListCloseTicket.Where(w => w.AssignedTo.Equals("dealer")).Count(); countVanTotalTicket = oListOpenTicket.Where(w => w.AssignedTo.Equals("van")).Count() + oListCloseTicket.Where(w => w.AssignedTo.Equals("van")).Count(); countepsTotalTicket = oListOpenTicket.Where(w => w.AssignedTo.Equals("eps")).Count() + oListCloseTicket.Where(w => w.AssignedTo.Equals("eps")).Count(); ViewBag.TotalTicket = countTotalTicket; ViewBag.DealerTotalTicket = countDealerTotalTicket; ViewBag.VanTotalTicket = countVanTotalTicket; ViewBag.epsTotalTicket = countepsTotalTicket; //Getting login user's id, name and utc minutes from session _LoginUserId = Session["UserId"].ToString(); _LoginUserName = Session["UserName"].ToString(); _timeOffSetMinutes = Session["UtcMinute"].ToString(); _DealerId = Session["DealerId"].ToString(); ViewBag.SecurityToken = _securityToken; ViewBag.Userid = _LoginUserId; ViewBag.UserName = _LoginUserName; ViewBag.UtcMinutes = _timeOffSetMinutes; ViewBag.DealerId = _DealerId; return View(); } catch (Exception ex) { throw ex; } } /// /// Get dealer's and his van's tickets history /// /// assigned to van or dealer /// return partial view of ticket history public ActionResult TicketAdministrationDealer_GetTicketHistory(string assignedToType) { objLog.AddLogFile("TicketAdministrationDealer_GetTicketHistory", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); try { objTicketDealerAdministrationRepository = new TicketAdministration_DealerRepository(); //Get open tickets history List oListOpenTicket = objTicketDealerAdministrationRepository.GetOpenTicketHistory().Where(w => w.AssignedTo.Equals(assignedToType)).ToList(); //Get close tickets history List oListCloseTicket = objTicketDealerAdministrationRepository.GetCloseTicketHistory().Where(w => w.AssignedTo.Equals(assignedToType)).ToList(); ViewBag.CloseTicketList = oListCloseTicket; objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return PartialView(oListOpenTicket); } catch (Exception ex) { objLog.ErrorLogFile("TicketAdministration_GetTicketHistory", ex.Message, path, errorlogtf); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); throw ex; } } #endregion public string IsUserAllowEPS() { try { _LoginUserId = Session["UserId"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/EPS?role=tru&geteps=yes&seteps=yes&iseps=yes", Method.POST); request.AddParameter("AuthEngineId", _LoginUserId); var response = client.Execute(request); if (response!=null) { return response.Content; } else { objLog.ErrorLogFile("IsUserAllowEPS", $"API call failed: {response.StatusDescription}", path, errorlogtf); return null; } } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetTicketStatusList", ex.Message, path, errorlogtf); return "NA"; } } #region Get Ticket Full Details old /// /// Get open and close ticket details /// /// ticket id /// ticket status /// return ticket full details list public ActionResult TicketAdministrationDealer_GetTicketDetails_Old(string ticketId, string ticketStatus) { objLog.AddLogFile("TicketAdministrationDealer_GetTicketDetails", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); try { objTicketDealerAdministrationRepository = new TicketAdministration_DealerRepository(); //Get open and close ticket details list List oTicketOpenCloseModel = objTicketDealerAdministrationRepository.Restful_GetOpenCloseTicketDetails(ticketId, ticketStatus); //store in temp data TempData["TicketDetailsForUpdate"] = oTicketOpenCloseModel; //Global variables string VRegistrationNo = ""; string CustomerContactNo = ""; int RouteId = 0; string routeName = ""; string VModelNo = ""; string VModelTagging = ""; //Getting details of vehicle and customer from ticket details list foreach (var item in oTicketOpenCloseModel) { VRegistrationNo = item.VehicleRegisterNumber.ToString(); CustomerContactNo = item.CustomerContactNo; RouteId = item.RouteId; } //Get owner details List oCustomerOwnerDetailsList = objTicketDealerAdministrationRepository.GetCustomerOwnerDetails(VRegistrationNo); ViewBag.OwnerDetails = oCustomerOwnerDetailsList; //Get vehicle details List oVehicleDetailsList = objTicketDealerAdministrationRepository.GetVehicleDetailsRegistrationNoWise(VRegistrationNo); ViewBag.VehicleDetails = oVehicleDetailsList; foreach (var item12 in oVehicleDetailsList) { VModelNo = item12.ModelNumber; } //Get vehicle's product varient(model tagging) List oVehicleModelList = objTicketDealerAdministrationRepository.GetVehicleModelList(); var oVModelTaggingList = oVehicleModelList.Where(w => w.VehicleTypeId.Equals(VModelNo)); foreach (var item13 in oVModelTaggingList) { VModelTagging = item13.VehicleTypeTagging; } ViewBag.ModelTagging = VModelTagging; //Get customer details List oCustomerList = objTicketDealerAdministrationRepository.GetCustomerDetails("", CustomerContactNo, ""); List itemCustomer = oCustomerList.Where(w => w.CustomerMobile1.Equals(CustomerContactNo)).ToList(); itemCustomer = itemCustomer.Where(w => w.VehicleRegistrationNumber.Equals(VRegistrationNo)).ToList(); itemCustomer = itemCustomer.Where(w => w.CustomerVehicleIsOwnwer.Equals(false)).ToList(); ViewBag.CustomerDetails = itemCustomer; //Get route name List oRouteList = objTicketDealerAdministrationRepository.GetRoutesList(); var oRouteName = oRouteList.Where(w => w.Id.Equals(RouteId)); foreach (var item11 in oRouteName) { routeName = item11.Name; } ViewBag.Route = routeName; objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return PartialView(oTicketOpenCloseModel); } catch (Exception ex) { objLog.ErrorLogFile("TicketAdministrationDealer_GetTicketDetails", ex.Message, path, errorlogtf); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); throw ex; } } #endregion #region Get Ticket Full Details /// /// Get Full details of ticket /// /// selected ticket's id /// ticket status open or close /// returns list type partia view public ActionResult TicketAdministrationDealer_GetTicketDetails(string ticketId, string ticketStatus) { objLog.AddLogFile("TicketAdministrationDealer_GetTicketDetails", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); try { objTicketDealerAdministrationRepository = new TicketAdministration_DealerRepository(); List oTicketDetails = new List(); oTicketDetails = objTicketDealerAdministrationRepository.Restful_GetOpenCloseTicketDetails(ticketId, ticketStatus); //Global variables int RouteId = 0; string routeName = ""; //Getting details of vehicle and customer from ticket details list foreach (var item in oTicketDetails) { RouteId = item.RouteId; } //Get route name List oRouteList = objTicketDealerAdministrationRepository.GetRoutesList(); var oRouteName = oRouteList.Where(w => w.Id.Equals(RouteId)); foreach (var item11 in oRouteName) { routeName = item11.Name; } ViewBag.Route = routeName; objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return PartialView(oTicketDetails); } catch (Exception ex) { objLog.ErrorLogFile("TicketAdministrationDealer_GetTicketDetails", ex.Message, path, errorlogtf); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); throw ex; } } /// /// Get caller/driver details of ticket /// /// contact no. of caller/driver /// vehicle's registration no. of caller/driver /// return json of list type public ActionResult TicketAdministrationDealer_GetOpencloseTicketDriverDetails(string CustomerContactNo, string VRegistrationNo) { objLog.AddLogFile("TicketAdministrationDealer_GetOpencloseTicketDriverDetails", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); try { objTicketDealerAdministrationRepository = new TicketAdministration_DealerRepository(); //Get customer details List oCustomerList = objTicketDealerAdministrationRepository.GetCustomerDetails("", CustomerContactNo, ""); //List itemCustomer = oCustomerList.Where(w => w.CustomerMobile1.Equals(CustomerContactNo)).ToList(); List itemCustomer = oCustomerList.Where(w => w.VehicleRegistrationNumber.Equals(VRegistrationNo)).ToList(); itemCustomer = itemCustomer.Where(w => w.CustomerVehicleIsOwnwer.Equals(false)).ToList(); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return Json(new { success = true, list = itemCustomer }, JsonRequestBehavior.AllowGet); } catch (Exception ex) { objLog.ErrorLogFile("TicketAdministrationDealer_GetOpencloseTicketDriverDetails", ex.Message, path, errorlogtf); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); throw ex; } } /// /// Get details of Vehicle's Owner /// /// Vehicle's registration no. /// return list type json public ActionResult TicketAdministrationDealer_GetOpencloseTicketOwnerDetails(string VRegistrationNo) { objLog.AddLogFile("TicketAdministrationDealer_GetOpencloseTicketOwnerDetails", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); try { objTicketDealerAdministrationRepository = new TicketAdministration_DealerRepository(); //Get owner details List oCustomerOwnerDetailsList = objTicketDealerAdministrationRepository.GetCustomerOwnerDetails(VRegistrationNo); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return Json(new { success = true, list = oCustomerOwnerDetailsList }, JsonRequestBehavior.AllowGet); } catch (Exception ex) { objLog.ErrorLogFile("TicketAdministrationDealer_GetOpencloseTicketOwnerDetails", ex.Message, path, errorlogtf); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); throw ex; } } /// /// Get caller/driver's Vehicle details /// /// vehicle's registration no. /// return list type json public ActionResult TicketAdministrationDealer_GetOpencloseTicketVehicleDetails(string VRegistrationNo) { objLog.AddLogFile("TicketAdministrationDealer_GetOpencloseTicketVehicleDetails", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); try { objTicketDealerAdministrationRepository = new TicketAdministration_DealerRepository(); string VModelNo = ""; string VModelTagging = ""; string VModelTaggingName = ""; //Get vehicle details List oVehicleDetailsList = objTicketDealerAdministrationRepository.GetVehicleDetailsRegistrationNoWise(VRegistrationNo); foreach (var item12 in oVehicleDetailsList) { VModelNo = item12.ModelNumber; } //Get vehicle's product varient(model tagging) List oVehicleModelList = objTicketDealerAdministrationRepository.GetVehicleModelList(); var oVModelTaggingList = oVehicleModelList.Where(w => w.VehicleTypeId.Equals(VModelNo)); foreach (var item13 in oVModelTaggingList) { VModelTagging = item13.VehicleTypeTagging; VModelTaggingName = item13.VehicleTypeName; } objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return Json(new { success = true, list = oVehicleDetailsList, vehicleModelTagging = VModelTagging, vehicleModelTaggingName = VModelTaggingName }, JsonRequestBehavior.AllowGet); } catch (Exception ex) { objLog.ErrorLogFile("TicketAdministrationDealer_GetOpencloseTicketVehicleDetails", ex.Message, path, errorlogtf); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); throw ex; } } #region Get Escalation Level Membbers /// /// Method to get escalation level members name and contact no. /// /// Dealer Id /// Vehicle Tagging /// return partial view public ActionResult TicketAdministrationDealer_GetOpencloseTicketEscalationMembersDetails(string dealer_id, string vehicle_tagging) { objLog.AddLogFile("TicketAdministrationDealer_GetOpencloseTicketEscalationMembersDetails", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); try { objTicketDealerAdministrationRepository = new TicketAdministration_DealerRepository(); //Get vehicle details EscalationMemberLevel oEscalationMemberDetails = objTicketDealerAdministrationRepository.GetEscalationMemberDetailsDealerVehicleTypeWise(dealer_id, vehicle_tagging); List oEscalationMemberDetailsList = oEscalationMemberDetails.EscalationLevelList; objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); //return Json(new { success = true, list = oEscalationMemberDetailsList }, JsonRequestBehavior.AllowGet); return PartialView(oEscalationMemberDetailsList); } catch (Exception ex) { objLog.ErrorLogFile("TicketAdministrationDealer_GetOpencloseTicketEscalationMembersDetails", ex.Message, path, errorlogtf); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); throw ex; } } #endregion #endregion #region Get Ticket Activities /// /// Get open and close ticket activity view /// /// open or close ticket id /// open or close ticket status /// return view [HttpPost] public ActionResult TicketAdministrationDealer_ShowTicketActivityOpenClose(string ticketId, string ticketStatus) { objLog.AddLogFile("TicketAdministrationDealer_ShowTicketActivityOpenClose", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); try { objTicketDealerAdministrationRepository = new TicketAdministration_DealerRepository(); objDropDownDataRepository = new DropDownDataRepository(); List oOpenTicketActivityList = null; List oCloseTicketActivityList = null; TicketModel oUpdateTicketModel = new TicketModel(); string description = ""; string splitDescription = ""; int ticketStatusId = 0; var assignedTo = ""; //Bind ticket details from temp data List ticketDetailsList = new List(); ticketDetailsList = objTicketDealerAdministrationRepository.Restful_GetOpenCloseTicketDetails(ticketId, ticketStatus); ViewBag.TicketDetailsUpdate = ticketDetailsList; foreach (var item in ticketDetailsList) { ViewBag.ticketId = item.TicketIdAlias; if (item.TicketIdAlias.Contains("P")) { ViewBag.VehicleType = "EPS"; } else { ViewBag.VehicleType = item.VehicleType; } ViewBag.VRegistrationNo = item.VehicleRegisterNumber; ViewBag.ticketDefaultSla = item.DefaultSlaTime; ViewBag.TicketStatus = item.TicketStatus; ViewBag.OpportunityLossReason = item.OpportunityLossReason; ViewBag.ChassisNo = item.ChassisNumber; ViewBag.OdometerReading = item.OdoMeter; ViewBag.PreviousOdometerReading = item.PreviousOdometerReading; ticketStatusId = item.TicketStatus; assignedTo = item.AssignedTo; if (item.SuggestionComment == null) { description = ""; } else { description = item.SuggestionComment.ToString(); } //remove new line or new row tags from string string[] splitDescriptionArr = description.Split('\r', '\n'); foreach (string descriptionString in splitDescriptionArr) { splitDescription += descriptionString; } ViewBag.DescriptionMultiline = splitDescription; oUpdateTicketModel.SuggestionComment = splitDescription; } //Get ticket status list List oTicketStatusList = objTicketDealerAdministrationRepository.GetTicketStatusList().OrderBy(o => o.SequenceNo).ToList(); //oTicketStatusList.re oTicketStatusList.Remove(oTicketStatusList.Single(s => s.Id == 8)); //Check if ticket is closed if (ticketStatusId == 5 || ticketStatusId == 7) { oTicketStatusList.RemoveRange(0, 4); oTicketStatusList.RemoveAt(2); if (ticketStatusId == 5) { oTicketStatusList.RemoveAt(1); } else { oTicketStatusList.RemoveAt(0); } ViewBag.TicketStatusList = oTicketStatusList; } //else if ticket is declined else if (ticketStatusId == 6) { oTicketStatusList.RemoveRange(0, 7); ViewBag.TicketStatusList = oTicketStatusList; } //else if ticket is in open state(1=New, 2=assign, 3=In progress, 4=Pre closure) else if (ticketStatusId == 9) { ViewBag.TicketStatusList = oTicketStatusList.Where(r => r.Id == 3 || r.Id == 4).ToList(); ; } else { var removeLessThanSelectedStatus = oTicketStatusList.Where(r => r.Id < ticketStatusId).ToList(); var removeCloseStatus = oTicketStatusList.Where(r => r.Id == 5).FirstOrDefault(); var removeOpportunityLostStatus = oTicketStatusList.Where(r => r.Id == 7).FirstOrDefault(); foreach (var item in removeLessThanSelectedStatus) { oTicketStatusList.Remove(item); } oTicketStatusList.Remove(removeCloseStatus); oTicketStatusList.Remove(removeOpportunityLostStatus); //added on 26-03-2020(to show decline status to dealer only when status == assigned) //if (assignedTo == "dealer" && ticketStatusId != 2) if (assignedTo == "dealer" || assignedTo == "van") { var removeDecline = oTicketStatusList.Where(r => r.Id == 6).FirstOrDefault(); if (removeDecline != null) { oTicketStatusList.Remove(removeDecline); } } else { if (ticketStatusId > 1 && ticketStatusId != 2) { var removeDecline = oTicketStatusList.Where(r => r.Id == 6).FirstOrDefault(); if (removeDecline != null) { oTicketStatusList.Remove(removeDecline); } } else { // hiding status NEW for VAN tickets var removeNew = oTicketStatusList.Where(r => r.Id == 1).FirstOrDefault(); if (removeNew != null) { oTicketStatusList.Remove(removeNew); } } } var tripStartObj = oTicketStatusList.Where(w => w.Id == 9).FirstOrDefault(); if (tripStartObj != null) { oTicketStatusList.Remove(tripStartObj); } var tripEndObj = oTicketStatusList.Where(w => w.Id == 8).FirstOrDefault(); if (tripEndObj != null) { oTicketStatusList.Remove(tripEndObj); } ViewBag.TicketStatusList = oTicketStatusList; } //Get opportunity lost reason List oOpportunityLostReasonList = objDropDownDataRepository.GetOpprtunityLostReasonsList(); ViewBag.OpportunityLostReasonList = oOpportunityLostReasonList; //Get opportunity lost reason oOpportunityLostReasonList = objDropDownDataRepository.GetAllDelayedReasonMorethan24Hrs(); ViewBag.ReasonForcloseTicketmorethan24Hrs = oOpportunityLostReasonList; //Get close tickets activity if ticket status is close if (ticketStatus == "close") { //close ticket api oCloseTicketActivityList = objTicketDealerAdministrationRepository.GetCloseTicketActivityDetails(ticketId); ViewBag.OpenTicketActivity = null; ViewBag.CloseTicketActivity = oCloseTicketActivityList; objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return PartialView(); } //else get open tickets activity else { //open ticket api oOpenTicketActivityList = objTicketDealerAdministrationRepository.GetOpenTicketActivityDetails(ticketId); ViewBag.OpenTicketActivity = oOpenTicketActivityList; ViewBag.CloseTicketActivity = null; objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return PartialView(); } } catch (Exception ex) { objLog.ErrorLogFile("TicketAdministrationDealer_ShowTicketActivityOpenClose", ex.Message, path, errorlogtf); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); throw ex; } } #endregion #region Update Ticket Status /// /// Update ticket status /// /// Ticket model /// returns json success true or false [HttpPost] public ActionResult TicketAdministration_UpdateTicketOpenClose(TicketModel model) { objLog.AddLogFile("TicketAdministrationDealer_UpdateTicketOpenClose", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); try { objTicketDealerAdministrationRepository = new TicketAdministration_DealerRepository(); TicketModel oUpdateTicketModel = new TicketModel(); if (model.AssignedTo == "dealer") { oUpdateTicketModel = objTicketDealerAdministrationRepository.UpdateTicketDetails(model); //objLog.AddLogFile("TicketAdministrationDealer_UpdateTicketOpenClose", model, DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); //objLog.AddLogFile("TicketAdministrationDealer_UpdateTicketOpenClose", oUpdateTicketModel, DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); if (oUpdateTicketModel.Status.ToString() == "1") { //objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return Json(new { success = true, ticketId = model.TicketId, ticketStatus = model.TicketStatus, message = oUpdateTicketModel.Message }); } else if (oUpdateTicketModel.Status.ToString() == "2") { //objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return Json(new { success = false, message = oUpdateTicketModel.Message }); } else { //objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); //return Json(new { success = false, message = "update_ticket_failed" }); return Json(new { success = false, message = Convert.ToString(ConfigurationManager.AppSettings["update_ticket_failed"]) }); } } else if (model.AssignedTo == "van") { if (model.CurrentTicketStatus == 3 || model.CurrentTicketStatus == 9 || model.TicketStatus == 2 || model.TicketStatus == 4) { if (model.CurrentTicketStatus == 9) { model.TicketStatus =9; //commented existing condition on 03-05-2021 // model.TicketStatus = 4; //added new condition on 03-05-2021 } oUpdateTicketModel = objTicketDealerAdministrationRepository.UpdateTicketDetails(model); //objLog.AddLogFile("TicketAdministrationDealer_UpdateTicketOpenClose", model, DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); //objLog.AddLogFile("TicketAdministrationDealer_UpdateTicketOpenClose", oUpdateTicketModel, DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); if (oUpdateTicketModel.Status.ToString() == "1") { //objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return Json(new { success = true, ticketId = model.TicketId, ticketStatus = model.TicketStatus, message = oUpdateTicketModel.Message }); } else if (oUpdateTicketModel.Status.ToString() == "2") { //objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return Json(new { success = false, message = oUpdateTicketModel.Message }); } else { //objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); //return Json(new { success = false, message = "update_ticket_failed" }); return Json(new { success = false, message = Convert.ToString(ConfigurationManager.AppSettings["update_ticket_failed"]) }); } } else { //objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return Json(new { success = false, message = "Please update Van reached status from EOS app for updating comments in “In Progress” Status" }); //return Json(new { success = false, message = Convert.ToString(ConfigurationManager.AppSettings["update_ticket_failed"]) }); } } else { //objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return Json(new { success = false, message = "Please update Van reached status from EOS app for updating comments in “In Progress” Status" }); //return Json(new { success = false, message = Convert.ToString(ConfigurationManager.AppSettings["update_ticket_failed"]) }); } } catch (Exception ex) { objLog.ErrorLogFile("TicketAdministrationDealer_UpdateTicketOpenClose", ex.Message, path, errorlogtf); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); throw ex; } } #endregion public JsonResult GetEngineNoByEOSApiSearch(string chassisBySearch) { objLog.AddLogFile("GetEngineNoByEOSApiSearch", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); try { objTicketDealerAdministrationRepository = new TicketAdministration_DealerRepository(); List oChassisList = new List(); oChassisList = objTicketDealerAdministrationRepository.GetEngineNoByEOSApiSearch(chassisBySearch); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return Json(oChassisList, JsonRequestBehavior.AllowGet); } catch (Exception ex) { objLog.ErrorLogFile("GetEngineNoByEOSApiSearch", ex.Message, path, errorlogtf); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); throw ex; } } public JsonResult GetChassisNoByEOSApiSearch(string chassisBySearch,string ticketID) { objLog.AddLogFile("GetChassisNoByEOSpiSearch", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); try { if (ticketID.Contains("P")) { objTicketDealerAdministrationRepository = new TicketAdministration_DealerRepository(); List oChassisList = new List(); oChassisList = objTicketDealerAdministrationRepository.GetEngineNoByEOSApiSearch(chassisBySearch); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return Json(oChassisList, JsonRequestBehavior.AllowGet); } else { objTicketDealerAdministrationRepository = new TicketAdministration_DealerRepository(); List oChassisList = new List(); oChassisList = objTicketDealerAdministrationRepository.GetChassisNoByEOSApiSearch(chassisBySearch); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return Json(oChassisList, JsonRequestBehavior.AllowGet); } } catch (Exception ex) { objLog.ErrorLogFile("GetChassisNoByEOSpiSearch", ex.Message, path, errorlogtf); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); throw ex; } } // get Odometer by chassis number /// /// Get all vans and dealers list for ticket assignment /// /// selected state name /// vans and dealers limit /// returns json list of vans and dealers public JsonResult GetOdoMeterBYChassisNo(string chassisNumber, string ticketIDAlias) { objLog.AddLogFile("GetOdoMeterBYChassisNo", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); try { objTicketDealerAdministrationRepository = new TicketAdministration_DealerRepository(); CHASSIS_ODOMETER_Model oOdoMeterModel = new CHASSIS_ODOMETER_Model(); oOdoMeterModel = objTicketDealerAdministrationRepository.GetOdoMeterBYChassisNumber(chassisNumber, ticketIDAlias); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return Json(oOdoMeterModel, JsonRequestBehavior.AllowGet); } catch (Exception ex) { objLog.ErrorLogFile("GetChassisNoByEOSpiSearch", ex.Message, path, errorlogtf); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); throw ex; } } #region Reassign Ticket /// /// Get partial view as popup window for reassign ticket /// /// return partial view public ActionResult TicketAdministration_DealerReassignTicket() { return PartialView(); } #endregion #region Get Dealers Own Vans /// /// Get all vans and dealers list for ticket assignment /// /// selected state name /// vans and dealers limit /// returns json list of vans and dealers public JsonResult GetDealersOwnVan(string StateName, string limit) { objLog.AddLogFile("TicketAdministrationDealer_GetAllNearestVansDealers", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); try { objTicketDealerAdministrationRepository = new TicketAdministration_DealerRepository(); List oDealersOwnVanList = new List(); oDealersOwnVanList = objTicketDealerAdministrationRepository.GetDealersOwnVansList(StateName, limit); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); return Json(new { NearestVansDealers = oDealersOwnVanList }, JsonRequestBehavior.AllowGet); } catch (Exception ex) { objLog.ErrorLogFile("TicketAdministrationDealer_GetAllNearestVansDealers", ex.Message, path, errorlogtf); objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf); throw ex; } } #endregion #region ticket dealer reason view /// /// Get view of Kendo window to fill Reason for dealer ticket assignment /// /// partial view public ActionResult Ticket_GetDealerTicketReasonView() { return PartialView(); } /// /// Get view of Kendo window to fill Reason for dealer ticket re-assignment /// /// partial view public ActionResult Ticket_GetDealerTicketReassignReasonView() { return PartialView(); } #endregion } }