using GODATA.AuthenticationServices; using GODATA.Models.Ticket; using GODATA.Models.Tracking; using GODATA.Models.UserInventory; using GODATA.RoleServices; using Kendo.Mvc.Extensions; using Kendo.Mvc.UI; using LoggingHelper; using Newtonsoft.Json; using RestSharp; using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Net.Http; using System.Net.Http.Headers; using System.Threading.Tasks; using System.Web; using System.Web.Mvc; namespace GODATA.Models.Ticket { public class TicketAdministrationRepository { #region Global Variables /// /// 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 from AppSetting in web.config file /// private static string _TimeZoneId = ConfigurationManager.AppSettings["TimeZoneId"].ToString(); /// /// getting rest api url from AppSetting in web.config file /// private static string _RestClientUrl = ConfigurationManager.AppSettings["RestfulApiUrl"].ToString(); #endregion #region Rest Api for customer inventory /// /// Post method to get all states list /// /// returns list type of state model public List GetStateList() { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/global?state=ttpl", Method.POST); request.AddParameter("Token", _securityToken); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetStateList", ex.Message, path, errorlogtf); throw ex; } } /// /// Post method to get city list state wise /// /// Integer type representation of state id /// returns city model type list public List GetCityList(int StateId) { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/global?state=ttpl&city=ttpl", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("StateId", StateId); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetCityList", ex.Message, path, errorlogtf); throw ex; } } /// /// Get method to get vehicle model type list /// /// return list of type vehicle model model public List GetVehicleModelList() { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Global?Global=gl&VehicleType=vt", Method.GET); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetVehicleModelList", ex.Message, path, errorlogtf); throw ex; } } /// /// Get method to get vehicle type list /// /// return list of vehicle type model public List GetVehicleTypeList() { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Global?Type=Vehicletype", Method.POST); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetVehicleTypeList", ex.Message, path, errorlogtf); throw ex; } } /// /// Post method to get vehicle details registration no. wise /// /// String type representation for vehicle's registration no. /// returns list of vehicle details public List GetVehicleDetailsRegistrationNoWise(string RegistrationNo) { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Vehicle", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("Id", ""); request.AddParameter("RegistrationNo", RegistrationNo); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetVehicleDetailsRegistrationNoWise", ex.Message, path, errorlogtf); throw ex; } } /// /// Post method to get vehicle details registration no. wise /// /// String type representation for vehicle's registration no. /// returns list of vehicle details public List GetVehicleDetailsRegistrationNoWiseByThirdParty(string RegistrationNo) { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Global?checkRegistartionNoandGetDetail=dddd", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("Id", ""); request.AddParameter("VehicleRegistrationNumber", RegistrationNo); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetVehicleDetailsRegistrationNoWise", ex.Message, path, errorlogtf); throw ex; } } #region Get Escalation Level Membbers /// /// Get escalation level members details /// /// Dealer ID /// Vehicle Tagging /// return model public EscalationMemberLevel GetEscalationMemberDetailsDealerVehicleTypeWise(string dealerId, string vehicleTagging) { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Ticket?operation=getescalationlevels", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("DelerId", dealerId); request.AddParameter("VehicleType", vehicleTagging); return client.Execute(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetEscalationMemberDetailsDealerVehicleTypeWise", ex.Message, path, errorlogtf); throw ex; } } #endregion /// /// Post method to get customer details of a vehicle based on vehicle's registration no. /// /// String type representation for vehicle's registration no. /// returns list of customer details public List GetCustomerDetails(string registrationNo) { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/ticket", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("VehicleRegistrationNumber", registrationNo); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetCustomerDetails", ex.Message, path, errorlogtf); throw ex; } } /// /// Post method to get vehicle's owner's details based on registration no and mobile no. /// /// String type representation for vehicle's registration no. /// String type representation for vehicle's owner's mobile no. /// public List GetCustomerOwnerDetails(string RegistrationNo, string OwnerMobileNo) { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Customer?customer=vipin", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("CustomerId", ""); request.AddParameter("VehicleRegistrationNumber", RegistrationNo); request.AddParameter("CustomerMobileNumber1", OwnerMobileNo); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetCustomerDetails", ex.Message, path, errorlogtf); throw ex; } } /// /// Post method to create new customer /// /// customer model /// return customer model public CustomerModel Restful_AddNewCustomer(CustomerModel model) { try { _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Customer", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("CustomerModel.VehicleRegistrationNumber", model.VehicleRegistrationNumber); request.AddParameter("CustomerModel.CustomerCustomerName", model.CustomerCustomerName); request.AddParameter("CustomerModel.CustomerAlias", model.CustomerAlias); request.AddParameter("CustomerModel.CustomerMobileNumber1", model.CustomerMobileNumber1); request.AddParameter("CustomerModel.CustomerMobileNumber2", model.CustomerMobileNumber2); request.AddParameter("CustomerModel.CustomerMobileNumber3", model.CustomerMobileNumber3); request.AddParameter("CustomerModel.CustomerAddress", model.CustomerAddress); request.AddParameter("CustomerModel.CustomerEmailId", model.CustomerEmailId); request.AddParameter("CustomerModel.CustomerCity", model.CustomerCity); request.AddParameter("CustomerModel.CustomerState", model.CustomerStateName); request.AddParameter("CustomerModel.InIsOwner", "false"); request.AddParameter("CustomerModel.thirdPartyInfoupdatedornot", model.thirdPartyInfoupdatedornot); request.AddParameter("OwnerModel.CustomerCustomerName", model.CustomerOwnerName); request.AddParameter("OwnerModel.VehicleRegistrationNumber", model.VehicleRegistrationNumber); request.AddParameter("OwnerModel.CustomerAlias", model.CustomerOwnerAlias); request.AddParameter("OwnerModel.CustomerMobileNumber1", model.CustomerOwnerMobileNo1); request.AddParameter("OwnerModel.CustomerMobileNumber2", model.CustomerOwnerMobileNo2); request.AddParameter("OwnerModel.CustomerMobileNumber3", model.CustomerOwnerMobileNo3); request.AddParameter("OwnerModel.CustomerAddress", model.CustomerOwnerAddress); request.AddParameter("OwnerModel.CustomerEmailId", model.CustomerOwnerEmailId); request.AddParameter("OwnerModel.CustomerCity", model.CustomerOwnerCity); request.AddParameter("OwnerModel.CustomerState", model.CustomerOwnerStateName); request.AddParameter("OwnerModel.InIsOwner", "true"); request.AddParameter("VehicleModel.RegistrationNo", model.VehicleRegistrationNumber); request.AddParameter("VehicleModel.VehicleNumberPlate", model.VehicleNumberPlate); request.AddParameter("VehicleModel.ModelNumber", model.VehicleModelNumber); request.AddParameter("VehicleModel.VehicleType", model.VehicleType); request.AddParameter("VehicleModel.InstallationDate", model.InstallationDate); //added on 6-07-2020 request.AddParameter("CustomerModel.KamUser", model.KamUser); request.AddParameter("CustomerModel.CustomerId", model.CustomerId); request.AddParameter("CustomerModel.CustomerType", model.CustomerType); request.AddParameter("UtcMinute", _timeOffSetMinutes); return client.Execute(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_AddNewCustomer", ex.Message, path, errorlogtf); throw ex; } } #endregion #region Rest API for ticket administration /// /// Post method to get open tickets history /// /// vehicle registration no. /// customer or owner mobile no. /// ticket id /// returns list of open tickets public List GetOpenTicketHistory(string registrationNo, string mobileNo, string complaintNo) { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/OpenTicket?OpenTicket=cc&OpenTicket1=ccc", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("VehicleRegisterNumber", registrationNo); request.AddParameter("CustomerContactNo", mobileNo); request.AddParameter("TicketId", complaintNo); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetOpenTicketHistory", ex.Message, path, errorlogtf); throw ex; } } /// /// Post method to get close tickets history /// /// vehicle registration no. /// customer or owner mobile no. /// ticket id /// returns list of close tickets public List GetCloseTicketHistory(string registrationNo, string mobileNo, string complaintNo) { try { _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/OpenTicket?CloseTicket=cc&CloseTicket1=ccc", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("VehicleRegisterNumber", registrationNo); request.AddParameter("CustomerContactNo", mobileNo); request.AddParameter("TicketId", complaintNo); request.AddParameter("UtcMinute", _timeOffSetMinutes); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetCloseTicketHistory", ex.Message, path, errorlogtf); throw ex; } } /// /// Post method to get open or close ticket details(full) /// /// ticket id /// ticket status /// return list of open close ticket details public List Restful_GetOpenCloseTicketDetails(string ticketId, string ticketStatus) { try { _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/OpenTicket?Ticket=cc&Ticket1=ccc", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("TicketId", ticketId); request.AddParameter("OpenCloseStatus", ticketStatus); request.AddParameter("UtcMinute", _timeOffSetMinutes); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetOpenCloseTicketDetails", ex.Message, path, errorlogtf); throw ex; } } /// /// Post method to get customer details /// /// vehicle's registration no. /// customer or owner mobile no. /// ticket id /// return list of customer details public List GetCustomerDetails(string registrationNo, string mobileNo, string complaintNo) { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/ticket", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("VehicleRegistrationNumber", registrationNo); request.AddParameter("CustomerMobile1", mobileNo); request.AddParameter("TicketNo", complaintNo); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetCustomerDetails", ex.Message, path, errorlogtf); throw ex; } } /// /// Post method to get nearest vans and dealers from breakdown location /// /// breakdown location's state name /// vans and dealers list limit /// return list public List GetAllNearestVansDealersList(string StateName, string Limit) { try { _LoginUserId = HttpContext.Current.Session["UserId"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/ticket?ticket=&ticket1=&ticket2=&ticket3=", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("UserId", _LoginUserId); request.AddParameter("StateName", StateName); request.AddParameter("Limit", Limit); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetAllNearestVansDealersList", ex.Message, path, errorlogtf); throw ex; } } ///// ///// Post method to get state list ///// ///// return list of states //public List GetStateList() //{ // var client = new RestSharp.RestClient(_RestClientUrl); // var request = new RestRequest("Api/global?state=ttpl", Method.POST); // request.AddParameter("Token", _securityToken); // return client.Execute>(request).Data; //} /// /// Post method to get route list /// /// return list of routes public List GetRoutesList() { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Route", Method.GET); request.AddParameter("Token", _securityToken); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetRoutesList", ex.Message, path, errorlogtf); throw ex; } } /// /// Post method to get owner details /// /// vehicle's registration no. /// return list of owner's details public List GetCustomerOwnerDetails(string RegistrationNo) { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Customer?customer=vipin", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("CustomerId", ""); request.AddParameter("VehicleRegistrationNumber", RegistrationNo); request.AddParameter("CustomerMobileNumber1", ""); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetCustomerOwnerDetails", ex.Message, path, errorlogtf); throw ex; } } ///// ///// Post method to get vehicle's details ///// ///// vehicle's registration no. ///// return list of vehicle's details //public List GetVehicleDetailsRegistrationNoWise(string RegistrationNo) //{ // var client = new RestSharp.RestClient(_RestClientUrl); // var request = new RestRequest("Api/Vehicle", Method.POST); // request.AddParameter("Token", _securityToken); // request.AddParameter("Id", ""); // request.AddParameter("RegistrationNo", RegistrationNo); // return client.Execute>(request).Data; //} ///// ///// Post method to get vehicle model list ///// ///// return list //public List GetVehicleModelList() //{ // var client = new RestSharp.RestClient(_RestClientUrl); // var request = new RestRequest("Api/Global?Global=gl&VehicleType=vt", Method.GET); // return client.Execute>(request).Data; //} /// /// Post method to get open ticket activities details /// /// ticket id /// return list of open tickets activities public List GetOpenTicketActivityDetails(string ticketId) { try { _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Activity", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("TicketId", ticketId); request.AddParameter("UtcMinute", _timeOffSetMinutes); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetOpenTicketActivityDetails", ex.Message, path, errorlogtf); throw ex; } } /// /// Post method to get close ticket activities details /// /// ticket id /// return list of close tickets activities public List GetCloseTicketActivityDetails(string ticketId) { try { _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Activity?Close=c", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("TicketId", ticketId); request.AddParameter("UtcMinute", _timeOffSetMinutes); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetCloseTicketActivityDetails", ex.Message, path, errorlogtf); throw ex; } } /// /// Get method to get ticket status list /// /// public List GetTicketStatusList() { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/TicketStatus", Method.GET); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetTicketStatusList", ex.Message, path, errorlogtf); throw ex; } } /// /// Post method to update ticket and insert new activity /// /// ticket model /// return model public TicketModel CreateTicket(TicketModel model) { try { _LoginUserId = HttpContext.Current.Session["UserId"].ToString(); _LoginUserName = HttpContext.Current.Session["UserName"].ToString(); _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/OpenTicket?Ticket=tt", Method.POST); request.AddParameter("Token", _securityToken); //request.AddParameter("Description", model.listDescription[0].ToString()); request.AddParameter("Description", model.Description); request.AddParameter("AssignedTo", model.AssignedTo); request.AddParameter("ReportedVia", model.ReportedVia); request.AddParameter("TicketStatus", model.TicketStatus); request.AddParameter("Priority", model.Priority); request.AddParameter("CustomerScore", model.CustomerScore); request.AddParameter("CreatedBy", _LoginUserId); request.AddParameter("CreationTime", DateTime.Now.ToString("dd-MMM-yyyy HH:mm:ss")); request.AddParameter("LastModifiedBy", _LoginUserName); request.AddParameter("LastModifiedTime", DateTime.Now.ToString("dd-MMM-yyyy HH:mm:ss")); request.AddParameter("BreakdownLocation", model.BreakdownLocation); request.AddParameter("BreakdownLongitude", model.BreakdownLongitude); request.AddParameter("BreakdownLattitude", model.BreakdownLattitude); request.AddParameter("AssignedToUserId", model.AssignedToUserId); request.AddParameter("AssignedToUserLattitude", model.AssignedToUserLattitude); request.AddParameter("AssignedToUserLongitude", model.AssignedToUserLongitude); request.AddParameter("IsDeclined", model.Isdeclined); request.AddParameter("EstimatedTimeForJobCompletion", model.EstimatedTimeForJobCompletion); request.AddParameter("TotalTicketLifecycleTimeSla", model.TotalTicketLifecycleTimeSla); request.AddParameter("EstimatedTimeForJobCompletionSubmitTime", model.EstimatedTimeForJobCompletionSubmitTime); request.AddParameter("VehicleRegistrationNumber", model.VehicleRegisterNumber); request.AddParameter("BreakdownLocationLandmark", model.BreakdownLocationLandmark); request.AddParameter("RouteId", model.RouteId); request.AddParameter("CustomerContactNo", model.CustomerContactNo); request.AddParameter("TicketId", model.TicketId); request.AddParameter("RepairCost ", model.RepairCost); request.AddParameter("DefaultSlaTime", model.DefaultSlaTime); request.AddParameter("SlaMissedReason ", model.SlaMissedReason); request.AddParameter("SuggestionComment", model.SuggestionComment); request.AddParameter("JobCompleteResponseTime", model.JobCompleteResponseTime); request.AddParameter("DefaultCol2", model.DefaultCol2); request.AddParameter("DefaultCol3", model.DefaultCol3); request.AddParameter("StateName", model.StateName); request.AddParameter("CityName", model.CityName); request.AddParameter("ChassisNo", model.ChassisNo); request.AddParameter("CallerLanguage", model.CallerLanguage); request.AddParameter("Warranty", model.Warranty); request.AddParameter("TollFreeeNoSource", model.TollFreeeNoSource); request.AddParameter("VehicleTagging", model.VehicleTagging); request.AddParameter("KmCovered", model.KmCovered); request.AddParameter("UtcMinute", _timeOffSetMinutes); request.AddParameter("OpportunityLost", model.OpportunityLost); request.AddParameter("_24HrsReason", model._24HrsReason); request.AddParameter("EstimateDistance", model.EstimateDistance); request.AddParameter("OtherRemarks", model.OtherRemarks); //dealer ticket reason request.AddParameter("positionDateTime", model.positionDateTime); //Added By Mayuri on 29 July 2025 request.AddParameter("EPS_prod_type", model.EPS_prod_type); return client.Execute(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_CreateTicket", ex.Message, path, errorlogtf); throw ex; } } /// /// Post method to update ticket and insert new activity /// /// ticket model /// return model public TicketModel UpdateTicketDetails(TicketModel model) { try { _LoginUserId = HttpContext.Current.Session["UserId"].ToString(); _LoginUserName = HttpContext.Current.Session["UserName"].ToString(); _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/OpenTicket?TicketUpdate=tt&TicketUpdate1=t", Method.POST); if (model.TicketStatus == 6) { model.Isdeclined = true; } else { model.Isdeclined = false; } request.AddParameter("Token", _securityToken); //request.AddParameter("Description", model.listDescription[0].ToString()); request.AddParameter("Description", model.Description); request.AddParameter("AssignedTo", model.AssignedTo); request.AddParameter("ReportedVia", model.ReportedVia); request.AddParameter("TicketStatus", model.TicketStatus); request.AddParameter("Priority", model.Priority); request.AddParameter("CustomerScore", model.CustomerScore); request.AddParameter("CreatedBy", model.CreatedBy); request.AddParameter("CreationTime", model.CreationTime); request.AddParameter("LastModifiedBy", _LoginUserName); request.AddParameter("LastModifiedTime", DateTime.Now.ToString("dd-MMM-yyyy HH:mm:ss")); request.AddParameter("BreakdownLocation", model.BreakdownLocation); request.AddParameter("BreakdownLongitude", model.BreakdownLongitude); request.AddParameter("BreakdownLattitude", model.BreakdownLattitude); request.AddParameter("AssignedToUserId", model.AssignedToUserId); request.AddParameter("AssignedToUserLattitude", model.AssignedToUserLattitude); request.AddParameter("AssignedToUserLongitude", model.AssignedToUserLongitude); request.AddParameter("IsDeclined", model.Isdeclined); request.AddParameter("EstimatedTimeForJobCompletion", model.EstimatedTimeForJobCompletion); request.AddParameter("TotalTicketLifecycleTimeSla", model.TotalTicketLifecycleTimeSla); request.AddParameter("EstimatedTimeForJobCompletionSubmitTime", model.EstimatedTimeForJobCompletionSubmitTime); request.AddParameter("VehicleRegistrationNumber", model.VehicleRegisterNumber); request.AddParameter("BreakdownLocationLandmark", model.BreakdownLocationLandmark); request.AddParameter("RouteId", model.RouteId); request.AddParameter("CustomerContactNo", model.CustomerContactNo); request.AddParameter("TicketId", model.TicketId); request.AddParameter("RepairCost", model.RepairCost); request.AddParameter("DefaultSlaTime", model.DefaultSlaTime); request.AddParameter("SlaMissedReason ", model.SlaMissedReason); request.AddParameter("SuggestionComment", model.SuggestionComment); request.AddParameter("JobCompleteResponseTime", model.JobCompleteResponseTime); request.AddParameter("UtcMinute", _timeOffSetMinutes); request.AddParameter("OpportunityLost", model.OpportunityLostType+"-"+ model.OpportunityLost); request.AddParameter("_24HrsReason", model._24HrsReason); request.AddParameter("EstimateDistance", model.EstimateDistance); request.AddParameter("OtherRemarks", model.OtherRemarks); //dealer ticket reason request.AddParameter("TicketPrevStatusAliasId", model.ticketPrevStatusAliasId); request.AddParameter("OdometerReading", model.OdometerReading); request.AddParameter("ChassisNo", model.ChassisNo);//dealer ticket reason request.AddParameter("PreviousOdometerReading", model.PreviousOdometerReading); request.AddParameter("VehicleType", model.VehicleType); request.AddParameter("TicketIdAlias", model.TicketIdAlias); request.AddParameter("TicketClosedReason", model.TicketClosedReason); //added on 25-11-2020 return client.Execute(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_UpdateTicketDetails", ex.Message, path, errorlogtf); throw ex; } } #endregion #region Rest API for Feedback /// /// Get data of dropdown list in feedback page /// /// string representation of dropdown list name /// return list public List GetFeedbackDropDownDataList(string dropDownName) { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Global?Type=" + dropDownName, Method.POST); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("DropDownDataRepository_GetFeedbackDropDownDataList", ex.Message, path, errorlogtf); throw ex; } } #endregion #region FeedBack /// /// Get feedback details based on ticket id /// /// string re /// /// esentation of ticket id /// string representation of ticket creation time /// return model public FeedBackModel GetFeedBackDetailsTicketIdWise(string ticketId, string ticketCreationtime) { try { _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/FeedBack?type=get", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("TicketId", ticketId); request.AddParameter("CreationTime", ticketCreationtime); request.AddParameter("UtcMinute", _timeOffSetMinutes); return client.Execute(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("DropDownDataRepository_GetFeedBackDetailsTicketIdWise", ex.Message, path, errorlogtf); throw ex; } } /// /// Submit Feedback Reasons based on ticket id /// /// FeedBackModel /// string representation of submit type Reason or Feedback /// return model public FeedBackModel CreateFeedbackReason(FeedBackModel model, string submitType) { try { _LoginUserId = HttpContext.Current.Session["UserId"].ToString(); _LoginUserName = HttpContext.Current.Session["UserName"].ToString(); _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/FeedBack?type=insert", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("TicketId", model.TicketId); request.AddParameter("ReasonMoreThan24Hrs", model.ReasonMoreThan24Hrs); request.AddParameter("CallStatus", model.CallStatus); request.AddParameter("Complaint", model.Complaint); request.AddParameter("SuggestionComplaint", model.SuggestionComplaint); request.AddParameter("FeedBackEaseOfGettingCall", model.FeedBackEaseOfGettingCall); request.AddParameter("FeedBackResponseOfCallCenter", model.FeedBackResponseOfCallCenter); request.AddParameter("FeedBackTimelyUpdationByDealer", model.FeedBackTimelyUpdationByDealer); request.AddParameter("FeedBackTotalRepairTime", model.FeedBackTotalRepairTime); request.AddParameter("FeedBackEosCharges", model.FeedBackEosCharges); request.AddParameter("FeedBackOverAllExperience", model.FeedBackOverAllExperience); request.AddParameter("OtherRemark", ""); if (submitType == "feedback") { request.AddParameter("FeedBackagent", _LoginUserName); } else { request.AddParameter("FeedBackagent", null); } request.AddParameter("CreationTime", model.CreationTime); request.AddParameter("UtcMinute", _timeOffSetMinutes); return client.Execute(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_CreateFeedbackReason", ex.Message, path, errorlogtf); throw ex; } } /// /// Get feedback details based on ticket id /// /// string representation of ticket id /// string representation of ticket creation time /// return model public FeedBackModel GetFeedBackHistoryDetailsTicketIdWise(string ticketId) { try { _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/FeedBack?type=gethistory", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("TicketId", ticketId); request.AddParameter("UtcMinute", _timeOffSetMinutes); return client.Execute(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("DropDownDataRepository_GetFeedBackDetailsTicketIdWise", ex.Message, path, errorlogtf); throw ex; } } #endregion #region Manage Escallation /// /// Get dealer list organization id wise /// /// dealer organization id /// return list public List GetDealerListOrganizationWise(int? dealerOrganizationId) { try { _LoginUserId = HttpContext.Current.Session["UserId"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Dealer?GetDealer=tt", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("Id", _LoginUserId); request.AddParameter("DealerOrganizationId", dealerOrganizationId); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetDealerListOrganizationWise", ex.Message, path, errorlogtf); throw ex; } } /// /// Get, Insert, Edit and Delete an Escalation /// /// Escalation Id /// Users's Action(Insert/Edit/Get/Delete/GetAll/Count) /// EscalationModel Model /// EscalationMatrix Model /// page size /// offset /// filter query /// region's organization id /// Returns model public EscalationModel GetSetEditDeleteEscalationLevel(string escalationId, string action, EscalationModel model, EscalationMatrix escalationDataModel, Int32 limit, Int32 offset, string query, int? organizationId) { try { _LoginUserId = HttpContext.Current.Session["UserId"].ToString(); _LoginUserName = HttpContext.Current.Session["UserName"].ToString(); _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/EscalationMatrix", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("Action", action); request.AddParameter("Limit", limit); request.AddParameter("Offset", offset); request.AddParameter("Condition", query); request.AddParameter("organization_id", organizationId); request.AddParameter("Id", escalationId == null ? string.Empty : escalationId); if (escalationDataModel != null) { request.AddParameter("manager_name", escalationDataModel.manager_name); request.AddParameter("region_name", escalationDataModel.region_name); request.AddParameter("city", escalationDataModel.city); request.AddParameter("state", escalationDataModel.StateName); request.AddParameter("dealer_name_id", escalationDataModel.dealer_name_id); request.AddParameter("manager_level", escalationDataModel.manager_level); request.AddParameter("blind_spot", "yes"); request.AddParameter("emails", escalationDataModel.emails); request.AddParameter("phones", escalationDataModel.phones); request.AddParameter("van_type", escalationDataModel.van_type); request.AddParameter("alarm_age", escalationDataModel.alarm_age); request.AddParameter("notification_type", escalationDataModel.notification_type); request.AddParameter("alarm_age_sla_not_met", escalationDataModel.alarm_age_sla_not_met); request.AddParameter("alarm_age_ticket_not_closed", escalationDataModel.alarm_age_ticket_not_closed); request.AddParameter("alarm_age_van_not_live", escalationDataModel.alarm_age_van_not_live); request.AddParameter("alarm_age_eicher_promise_48hrs", escalationDataModel.alarm_age_eicher_promise_48hrs); request.AddParameter("editEscalationAll", escalationDataModel.editEscalationAll); } return client.Execute(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetSetEditDeleteEscalationLevel", ex.Message, path, errorlogtf); throw ex; } } #endregion #region dealer list for dealer wise dashboard /// /// Get dealer list with dealer user id for dealer wise dashboard /// /// return dealer list public List GetDealerListUserIdWise() { try { _LoginUserId = HttpContext.Current.Session["UserId"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Dealer?dealerDashboard=tt", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("UserId", _LoginUserId); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetDealerListUserIdWise", ex.Message, path, errorlogtf); throw ex; } } #endregion #region get tracking device alias wise for open ticket report /// /// Get tracking list device alias wise for open ticket report /// /// device alias of van whom to ticket is assigned /// ticket creation time /// return tracking list public List GetTrackingListDeviceAliasWise(string deviceAlias, DateTime creationTime) { try { _LoginUserId = HttpContext.Current.Session["UserId"].ToString(); _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Tracking?trackingDeviceWise=999", Method.POST); //var request = new RestRequest("Api/Tracking?tracking=ttttt&tracking1=ttttt", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("DeviceAlias", deviceAlias); request.AddParameter("FromDate", creationTime); request.AddParameter("ToDate", DateTime.Now); request.AddParameter("UtcMinute", _timeOffSetMinutes); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetDealerListUserIdWise", ex.Message, path, errorlogtf); throw ex; } } #endregion #region get kam ticket details /// /// Post method to get KAM ticket's details /// /// KAM's ticket id /// returns list of KAM tickets public List GetKamTicketDetails(Int32 kamTicketId) { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/openticket?kam=1&ticket=tt&ticket1=tt", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("kamticketid", kamTicketId); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetKamTicketDetails", ex.Message, path, errorlogtf); throw ex; } } #endregion #region update contact no. in whole application through manage escalation public EscalationModel UpdateContactNo(string oldContacts, string newContacts, string NewManagerName) { try { _LoginUserId = HttpContext.Current.Session["UserId"].ToString(); _LoginUserName = HttpContext.Current.Session["UserName"].ToString(); _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/EscalationMatrix?phone", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("OLdContactNumber", oldContacts); request.AddParameter("NewContactNumber", newContacts); request.AddParameter("NewManagerName", NewManagerName); return client.Execute(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_UpdateContactNo", ex.Message, path, errorlogtf); throw ex; } } #endregion #region save ticket feature /// /// Post method to get close tickets history /// /// vehicle registration no. /// customer or owner mobile no. /// ticket id /// returns list of close tickets public List GetSaveTicketHistory(string registrationNo, string mobileNo, string complaintNo) { try { _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/OpenTicket?OpenDummyTicket=sd&OpenDummyTicket1=cc&OpenDummyTicket2=vvc", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("VehicleRegisterNumber", registrationNo); request.AddParameter("CustomerContactNo", mobileNo); request.AddParameter("TicketId", complaintNo); request.AddParameter("UtcMinute", _timeOffSetMinutes); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetSaveTicketHistory", ex.Message, path, errorlogtf); throw ex; } } /// /// Post method to update ticket and insert new activity /// /// ticket model /// return model public TicketModel SaveTicketDetails(TicketModel model) { try { _LoginUserId = HttpContext.Current.Session["UserId"].ToString(); _LoginUserName = HttpContext.Current.Session["UserName"].ToString(); _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/OpenTicket?dummy=1&DummyTicket1=cc&DummyTicket2=vvc", Method.POST); request.AddParameter("Token", _securityToken); //request.AddParameter("Description", model.listDescription[0].ToString()); request.AddParameter("Description", model.Description); request.AddParameter("AssignedTo", model.AssignedTo); request.AddParameter("ReportedVia", model.ReportedVia); request.AddParameter("TicketStatus", model.TicketStatus); request.AddParameter("Priority", model.Priority); request.AddParameter("CustomerScore", model.CustomerScore); request.AddParameter("CreatedBy", _LoginUserId); request.AddParameter("CreationTime", DateTime.Now.ToString("dd-MMM-yyyy HH:mm:ss")); request.AddParameter("LastModifiedBy", _LoginUserName); request.AddParameter("LastModifiedTime", DateTime.Now.ToString("dd-MMM-yyyy HH:mm:ss")); request.AddParameter("BreakdownLocation", model.BreakdownLocation); request.AddParameter("BreakdownLongitude", model.BreakdownLongitude); request.AddParameter("BreakdownLattitude", model.BreakdownLattitude); request.AddParameter("AssignedToUserId", model.AssignedToUserId); request.AddParameter("AssignedToUserLattitude", model.AssignedToUserLattitude); request.AddParameter("AssignedToUserLongitude", model.AssignedToUserLongitude); request.AddParameter("IsDeclined", model.Isdeclined); request.AddParameter("EstimatedTimeForJobCompletion", model.EstimatedTimeForJobCompletion); request.AddParameter("TotalTicketLifecycleTimeSla", model.TotalTicketLifecycleTimeSla); request.AddParameter("EstimatedTimeForJobCompletionSubmitTime", model.EstimatedTimeForJobCompletionSubmitTime); request.AddParameter("VehicleRegistrationNumber", model.VehicleRegisterNumber); request.AddParameter("BreakdownLocationLandmark", model.BreakdownLocationLandmark); request.AddParameter("RouteId", model.RouteId); request.AddParameter("CustomerContactNo", model.CustomerContactNo); request.AddParameter("TicketId", model.TicketId); request.AddParameter("RepairCost ", model.RepairCost); request.AddParameter("DefaultSlaTime", model.DefaultSlaTime); request.AddParameter("SlaMissedReason ", model.SlaMissedReason); request.AddParameter("SuggestionComment", model.SuggestionComment); request.AddParameter("JobCompleteResponseTime", model.JobCompleteResponseTime); request.AddParameter("DefaultCol2", model.DefaultCol2); request.AddParameter("DefaultCol3", model.DefaultCol3); request.AddParameter("StateName", model.StateName); request.AddParameter("CityName", model.CityName); request.AddParameter("CallerLanguage", model.CallerLanguage); request.AddParameter("Warranty", model.Warranty); request.AddParameter("TollFreeeNoSource", model.TollFreeeNoSource); request.AddParameter("VehicleTagging", model.VehicleTagging); request.AddParameter("KmCovered", model.KmCovered); request.AddParameter("UtcMinute", _timeOffSetMinutes); request.AddParameter("OpportunityLost", model.OpportunityLost); request.AddParameter("_24HrsReason", model._24HrsReason); request.AddParameter("EstimateDistance", model.EstimateDistance); request.AddParameter("OtherRemarks", model.OtherRemarks); //dealer ticket reason return client.Execute(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_CreateTicket", ex.Message, path, errorlogtf); throw ex; } } //------------------added on 23-12-2020(start)------------------------------- public VanReachedTimeModel DateTimeOfVanReached(VanReachedTimeModel model) { try { _LoginUserId = HttpContext.Current.Session["UserId"].ToString(); _LoginUserName = HttpContext.Current.Session["UserName"].ToString(); _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/OpenTicket?vanReached=1&vanReached1=cc&vanReached2=vvc&vanReached3=pp&vanReached4=pp&vanReached5=pp1", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("VanReachedTime", model.VanReachedTime); request.AddParameter("TicketIdAlias", model.TicketIdAlias); return client.Execute(request).Data; } catch (Exception ex) { throw ex; } } //------------------added on 23-12-2020 (end)------------------------------- #endregion #region get region wise state list /// /// Post method to get city list state wise /// /// Integer type representation of state id /// returns city model type list public List GetStateListRegionWise(int regionId) { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Global?state=sa&state1=as&state2=as", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("Id", regionId); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetCityList", ex.Message, path, errorlogtf); throw ex; } } #endregion public List GetChasis_Details(string chassisno) { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Global?Chassis_Detail=sss", Method.POST); //request.AddParameter("Token", _securityToken); //request.AddParameter("Id", ""); request.AddParameter("chassis_no", chassisno); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetVehicleDetailsRegistrationNoWise", ex.Message, path, errorlogtf); throw ex; } } /// /// GEt engine number by search. /// /// enginenumber /// return list public List GetEngineNoByEOSApiSearch(string engineBySearch) { try { _LoginUserId = HttpContext.Current.Session["UserId"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Global?engineSearch=yes", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("UserId", _LoginUserId); request.AddParameter("EngineSearch", engineBySearch); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("GetEngineNoByEOSApiSearch", ex.Message, path, errorlogtf); throw ex; } } /// /// GEt chassis number by search. /// /// breakdown location's state name /// vans and dealers list limit /// return list public List GetChassisNoByEOSApiSearch(string chassisBySearch) { try { _LoginUserId = HttpContext.Current.Session["UserId"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Global?chassisSearch=yes", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("UserId", _LoginUserId); request.AddParameter("ChassisSearch", chassisBySearch); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("GetChassisNoByEOSApiSearch", ex.Message, path, errorlogtf); throw ex; } } /// /// GEt chassis number by search. /// /// breakdown location's state name /// vans and dealers list limit /// return list public CHASSIS_ODOMETER_Model GetOdoMeterBYChassisNumber(string chassisNumber, string ticketIDAlias) { try { _LoginUserId = HttpContext.Current.Session["UserId"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Global?chassisSearch=yes&getOdoMeter=yes", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("UserId", _LoginUserId); request.AddParameter("ChassisNo", chassisNumber); request.AddParameter("TicketIdAlias", ticketIDAlias); return client.Execute(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("GetChassisNoByEOSApiSearch", ex.Message, path, errorlogtf); throw ex; } } /// /// Submit Feedback Reasons based on ticket id /// /// FeedBackModel /// string representation of submit type Reason or Feedback /// return model public FeedBackModel CreateCustomerFeedbackReason(FeedBackModel model, string submitType) { try { _LoginUserId = HttpContext.Current.Session["UserId"].ToString(); _LoginUserName = HttpContext.Current.Session["UserName"].ToString(); _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/FeedBack?type=insert&type2=reason", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("TicketId", model.TicketId); request.AddParameter("IsCustomerSatisfied", model.IsCustomerSatisfied); request.AddParameter("SelectedOption", model.SelectedOption); request.AddParameter("SelectedReason", model.SelectedReason); if (submitType == "customer_feedback") { request.AddParameter("FeedBackagent", _LoginUserName); } else { request.AddParameter("FeedBackagent", null); } request.AddParameter("CreationTime", model.CreationTime); request.AddParameter("UtcMinute", _timeOffSetMinutes); return client.Execute(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_CreateFeedbackReason", ex.Message, path, errorlogtf); throw ex; } } /// /// Get customer feedback details based on ticket id /// /// string representation of ticket id /// string representation of ticket creation time /// return model public FeedBackModel GetCustomerFeedBackHistoryDetailsTicketIdWise(string ticketId) { try { _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/FeedBack?type=getCustomerFeedbackHistory", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("TicketId", ticketId); request.AddParameter("UtcMinute", _timeOffSetMinutes); return client.Execute(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("DropDownDataRepository_GetFeedBackDetailsTicketIdWise", ex.Message, path, errorlogtf); throw ex; } } /// /// Post method to get all dummy tickets by mobile /// /// returns list type of state model public List GetDummyTicketsByMobileList() { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Ticket?dummy=ttpl", Method.POST); request.AddParameter("Token", _securityToken); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetStateList", ex.Message, path, errorlogtf); throw ex; } } /// /// Post method to create new customer /// /// customer model /// return customer model public CustomerModel Restful_UpdateCustomer(CustomerModel model) { try { _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Customer?updatecustomer=c1", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("CustomerModel.Id", model.Id); request.AddParameter("CustomerModel.CustomerId", model.CustomerId); request.AddParameter("CustomerModel.CustomerType", model.CustomerType); request.AddParameter("CustomerModel.CustomerMobileNumber1", model.CustomerMobileNumber1); request.AddParameter("CustomerModel.VehicleRegistrationNumber", model.VehicleRegistrationNumber); request.AddParameter("CustomerModel.RegistrationNumber", model.RegistrationNumber); //----------- added on 01-03-2021 start --------------------------- request.AddParameter("CustomerModel.VehicleModelNumber", model.VehicleModelNumber); request.AddParameter("CustomerModel.VehicleType", model.VehicleType); //----------- added on 01-03-2021 start --------------------------- request.AddParameter("UtcMinute", _timeOffSetMinutes); return client.Execute(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_AddNewCustomer", ex.Message, path, errorlogtf); throw ex; } } //------------ added on 19-01-2021 start ----------------------------- public List GetReasonForCancelDraftTicket() { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Ticket?dummyTicket=cancelReasonList&dummyTicket1=cancelReasonList1", Method.POST); request.AddParameter("Token", _securityToken); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetDraftTicketCancelList", ex.Message, path, errorlogtf); throw ex; } } public DraftTicketDetailModel SaveDraftTicketCancelReason(DraftTicketDetailModel oDraftTicketDetailModel) { try { _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Ticket?updateDraftTicketCancelReason=c1&updateDraftTicketCancelReason1=c2&updateDraftTicketCancelReason2=c2", Method.POST); request.AddParameter("Token", _securityToken); request.AddParameter("DraftTicketId", oDraftTicketDetailModel.DraftTicketId); request.AddParameter("RegistrationNumber", oDraftTicketDetailModel.RegistrationNumber); request.AddParameter("ChassisNumber", oDraftTicketDetailModel.ChassisNumber); request.AddParameter("DraftTicketCancelReason", oDraftTicketDetailModel.DraftTicketCancelReason); request.AddParameter("OthersReason", oDraftTicketDetailModel.OthersReason); request.AddParameter("UtcMinute", _timeOffSetMinutes); return client.Execute(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_DraftTicket", ex.Message, path, errorlogtf); throw ex; } } //------------ added on 19-01-2021 end -------------------------------- //-----------------------added on 09-03-2021 start ------------------------------------- public List GetCancelledDraftTicketsList() { try { var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/Ticket?cancelDummyTickets=ttpl&cancelDummyTickets1=list", Method.POST); request.AddParameter("Token", _securityToken); return client.Execute>(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_GetCancelledDraftTicketList", ex.Message, path, errorlogtf); throw ex; } } //-----------------------added on 09-03-2021 end --------------------------------------- //Added By Mayuri on 17 July 2025 public TicketModel CreateTicketEPSNonHarvester(TicketModel model) { try { _LoginUserId = HttpContext.Current.Session["UserId"].ToString(); _LoginUserName = HttpContext.Current.Session["UserName"].ToString(); _timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString(); var client = new RestSharp.RestClient(_RestClientUrl); var request = new RestRequest("Api/EPSNonHarvester?Ticket=tt", Method.POST); request.AddParameter("Token", _securityToken); //request.AddParameter("Description", model.listDescription[0].ToString()); request.AddParameter("Description", model.Description); request.AddParameter("AssignedTo", model.AssignedTo); request.AddParameter("ReportedVia", model.ReportedVia); request.AddParameter("TicketStatus", model.TicketStatus); request.AddParameter("Priority", model.Priority); request.AddParameter("CustomerScore", model.CustomerScore); request.AddParameter("CreatedBy", _LoginUserId); request.AddParameter("CreationTime", DateTime.Now.ToString("dd-MMM-yyyy HH:mm:ss")); request.AddParameter("LastModifiedBy", _LoginUserName); request.AddParameter("LastModifiedTime", DateTime.Now.ToString("dd-MMM-yyyy HH:mm:ss")); request.AddParameter("BreakdownLocation", model.BreakdownLocation); request.AddParameter("BreakdownLongitude", model.BreakdownLongitude); request.AddParameter("BreakdownLattitude", model.BreakdownLattitude); request.AddParameter("AssignedToUserId", model.AssignedToUserId); request.AddParameter("AssignedToUserLattitude", model.AssignedToUserLattitude); request.AddParameter("AssignedToUserLongitude", model.AssignedToUserLongitude); request.AddParameter("IsDeclined", model.Isdeclined); request.AddParameter("EstimatedTimeForJobCompletion", model.EstimatedTimeForJobCompletion); request.AddParameter("TotalTicketLifecycleTimeSla", model.TotalTicketLifecycleTimeSla); request.AddParameter("EstimatedTimeForJobCompletionSubmitTime", model.EstimatedTimeForJobCompletionSubmitTime); request.AddParameter("VehicleRegistrationNumber", model.VehicleRegisterNumber); request.AddParameter("BreakdownLocationLandmark", model.BreakdownLocationLandmark); request.AddParameter("RouteId", model.RouteId); request.AddParameter("CustomerContactNo", model.CustomerContactNo); request.AddParameter("TicketId", model.TicketId); request.AddParameter("RepairCost ", model.RepairCost); request.AddParameter("DefaultSlaTime", model.DefaultSlaTime); request.AddParameter("SlaMissedReason ", model.SlaMissedReason); request.AddParameter("SuggestionComment", model.SuggestionComment); request.AddParameter("JobCompleteResponseTime", model.JobCompleteResponseTime); request.AddParameter("DefaultCol2", model.DefaultCol2); request.AddParameter("DefaultCol3", model.DefaultCol3); request.AddParameter("StateName", model.StateName); request.AddParameter("CityName", model.CityName); request.AddParameter("ChassisNo", model.ChassisNo); request.AddParameter("CallerLanguage", model.CallerLanguage); request.AddParameter("Warranty", model.Warranty); request.AddParameter("TollFreeeNoSource", model.TollFreeeNoSource); request.AddParameter("VehicleTagging", model.VehicleTagging); request.AddParameter("KmCovered", model.KmCovered); request.AddParameter("UtcMinute", _timeOffSetMinutes); request.AddParameter("OpportunityLost", model.OpportunityLost); request.AddParameter("_24HrsReason", model._24HrsReason); request.AddParameter("EstimateDistance", model.EstimateDistance); request.AddParameter("OtherRemarks", model.OtherRemarks); //dealer ticket reason request.AddParameter("positionDateTime", model.positionDateTime); ///Telematic date Insert request.AddParameter("EngineNumber", model.ChassisNo); request.AddParameter("IsEPS", model.IsEPS); request.AddParameter("EPS_prod_type", model.EPS_prod_type); return client.Execute(request).Data; } catch (Exception ex) { objLog.ErrorLogFile("TicketRepository_CreateTicketEPSNonHarvester", ex.Message, path, errorlogtf); throw ex; } } public async Task BulkUploadPreclosure(List objPreClosureModel) { string strSuccess = ""; try { HttpClient client = new HttpClient(); // Optional: Set base address and headers if needed client.BaseAddress = new Uri(_RestClientUrl); client.DefaultRequestHeaders.Accept.Clear(); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); client.Timeout = TimeSpan.FromSeconds(40); try { HttpResponseMessage response = await client.PostAsJsonAsync("api/save", objPreClosureModel); } catch (TaskCanceledException ex) { objLog.ErrorLogFile("BulkUploadPreclosure_Timeout", ex.Message, path, errorlogtf); } catch (HttpRequestException ex) { objLog.ErrorLogFile("BulkUploadPreclosure_HttpRequestError", ex.Message, path, errorlogtf); } // POST JSON data to API //HttpResponseMessage response = await client.PostAsJsonAsync("api/save", objPreClosureModel); // if (response.IsSuccessStatusCode) // { // string result = await response.Content.ReadAsStringAsync(); // objLog.ErrorLogFile("BulkUploadPreclosure_Success", result, path, errorlogtf); // strSuccess = "Success"; // } // else // { // string error = await response.Content.ReadAsStringAsync(); // objLog.ErrorLogFile("BulkUploadPreclosure_Failed", $"StatusCode: {response.StatusCode}, Error: {error}", path, errorlogtf); // strSuccess = $"Failed: {response.StatusCode}"; // } } catch (Exception ex) { objLog.ErrorLogFile("BulkUploadPreclosure_Exception", ex.Message, path, errorlogtf); throw; } return strSuccess; } } }