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;
}
}
}