namespace VECV_WebApi.Models.Sync { #region Namespaces using DBHelper; using LoggingHelper; using Npgsql; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.IO; using System.Linq; using System.Web; using VECV_WebApi.Models.Authorization; using VECV_WebApi.Models.Ticket; #endregion #region Repository Class /// /// This class contains method related to syncing /// public class SyncRepository { #region Global Variables /// /// making object of LoggingUtility class available to this class /// LoggingUtility objLog = new LoggingUtility(); /// /// making the data-log file path available to this class /// string path = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["PathLog"]); /// /// making error log file path available to this class /// string errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]); /// /// making the Database connection string available to this class /// private string _connStr; /// /// making Authentication Repository object available to this class /// AuthenticationRepository objAuthorization; #endregion #region Contructors /// /// Default constructor intialize connection string of vecv_godata database /// public SyncRepository(string connString) { this._connStr = connString; } #endregion #region API Methods /// /// To get synced open tickets details device alias wise /// /// open ticket sync info /// status and synced open tickets details device alias wise public List GetSyncOpenTicketDetail(SyncOpenModel model) { List objListSync = new List(); SyncOpenModel objModelSync = new SyncOpenModel(); List objListCustomerOpenTicketDetail = new List(); List objListOpenTicketActivityTicket = new List(); try { objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { DataSet ds = new DataSet(); DataSet dsActivity = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2]; nSqlParam[0] = new NpgsqlParameter("indevice_alias", model.DeviceAlias); nSqlParam[1] = new NpgsqlParameter("db_syn_last_time", model.DbSynLastTime); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_syn_android_db_ticket_open"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { // get open tciket details for android syn from last syn time objListCustomerOpenTicketDetail = ds.Tables[0].AsEnumerable().Select(s => new CustomerOpenTicketDetail { TicketId = s.Field("ticket_id"), Description = s.Field("description"), AssignedTo = s.Field("assigned_to"), ReportedVia = s.Field("reported_via"), TicketStatus = s.Field("ticket_status"), Priority = s.Field("priority"), CustomerScore = s.Field("customer_score"), CreatedBy = s.Field("created_by"), CreationTime = Convert.ToDateTime(s.Field("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), LastModifiedBy = s.Field("last_modified_by"), LastModifiedTime = Convert.ToDateTime(s.Field("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), BreakdownLocation = s.Field("breakdown_location"), BreakdownLongitude = s.Field("breakdown_longitude"), BreakdownLattitude = s.Field("breakdown_lattitude"), AssignedToUserId = s.Field("assigned_to_user_id"), AssignedToUserLattitude = s.Field("assigned_to_user_lattitude"), AssignedToUserLongitude = s.Field("assigned_to_user_longitude"), Isdeclined = s.Field("isdeclined"), EstimatedTimeForJobCompletion = s.Field("estimated_time_for_job_completion"), TotalTicketLifecycleTimeSla = s.Field("total_ticket_lifecycle_time_sla"), EstimatedTimeForJobCompletionSubmitTime = Convert.ToDateTime(s.Field("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), VehicleRegisterNumber = s.Field("vehicle_register_number"), BreakdownLocationLandmark = s.Field("breakdown_location_landmark"), RouteId = s.Field("route_id"), CustomerContactNo = s.Field("customer_contact_no"), EstimatedDistance = s.Field("estimated_distance"), TicketIdAlias = s.Field("_ticket_id_alias"), ChassisNumber = s.Field("_chassis_number"), OdometerReading = s.Field("_odometer_reading"), }).ToList(); string TicketId = ""; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (i == 0) { TicketId = ds.Tables[0].Rows[i]["ticket_id"].ToString(); } else { TicketId = TicketId + "," + ds.Tables[0].Rows[i]["ticket_id"].ToString(); } } // Get ticket activity ticket wise. nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inticket_id", TicketId); dsActivity = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_syn_android_db_open_ticket_activity"], nSqlParam); if (dsActivity.Tables[0].Rows.Count > 0) { objListOpenTicketActivityTicket = dsActivity.Tables[0].AsEnumerable().Select(s => new TicketActivityOpenModel { Id = s.Field("id"), TicketId = s.Field("ticket_id"), ActivityTicketsOpenCreatedBy = s.Field("created_by"), ActivityTicketsOpenCreationTime = Convert.ToDateTime(s.Field("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), Remarks = s.Field("remarks"), TicketActivityStatus = s.Field("ticket_activity_status") }).ToList(); } // add ticket list and activity in syn model. objListSync.Add(new SyncOpenModel { TicketOpenList = objListCustomerOpenTicketDetail, TicketActivityOpenList = objListOpenTicketActivityTicket, DeviceAlias = model.DeviceAlias, DbSynLastTime = model.DbSynLastTime, Status = "1" }); return objListSync; } else { objListSync.Add(new SyncOpenModel { DeviceAlias = model.DeviceAlias, DbSynLastTime = model.DbSynLastTime, Status = "1", Message = ConfigurationManager.AppSettings["DataSetEmpty"].ToString() }); return objListSync; } } else { objListSync.Add(new SyncOpenModel { DeviceAlias = model.DeviceAlias, DbSynLastTime = model.DbSynLastTime, Status = "0", Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString() }); return objListSync; } } catch (Exception Ex) { objListSync.Add(new SyncOpenModel { DeviceAlias = model.DeviceAlias, DbSynLastTime = model.DbSynLastTime, Status = "0", Message = Ex.Message }); objLog.ErrorLogFile("GetSyncOpenTicketDetail", Ex.Message, path, errorlogtf); return objListSync; } } /// /// To get close tickets detail device alias wise /// /// close ticket sync info /// status and close tickets detail device alias wise public List GetSyncCloseTicketDetail(SyncCloseModel model) { List objListSync = new List(); SyncCloseModel objModelSync = new SyncCloseModel(); List objListCustomerOpenTicketDetail = new List(); List objListOpenTicketActivityTicket = new List(); try { objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { DataSet ds = new DataSet(); DataSet dsActivity = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2]; nSqlParam[0] = new NpgsqlParameter("indevice_alias", model.DeviceAlias); nSqlParam[1] = new NpgsqlParameter("db_syn_last_time", model.DbSynLastTime); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_syn_android_db_ticket_closed"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { objListCustomerOpenTicketDetail = ds.Tables[0].AsEnumerable().Select(s => new CustomerOpenTicketDetail { TicketId = s.Field("ticket_id"), Description = s.Field("description"), AssignedTo = s.Field("assigned_to"), ReportedVia = s.Field("reported_via"), TicketStatus = s.Field("ticket_status"), Priority = s.Field("priority"), CustomerScore = s.Field("customer_score"), CreatedBy = s.Field("created_by"), CreationTime = Convert.ToDateTime(s.Field("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), LastModifiedBy = s.Field("last_modified_by"), LastModifiedTime = Convert.ToDateTime(s.Field("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), BreakdownLocation = s.Field("breakdown_location"), BreakdownLongitude = s.Field("breakdown_longitude"), BreakdownLattitude = s.Field("breakdown_lattitude"), AssignedToUserId = s.Field("assigned_to_user_id"), AssignedToUserLattitude = s.Field("assigned_to_user_lattitude"), AssignedToUserLongitude = s.Field("assigned_to_user_longitude"), Isdeclined = s.Field("isdeclined"), EstimatedTimeForJobCompletion = s.Field("estimated_time_for_job_completion"), TotalTicketLifecycleTimeSla = s.Field("total_ticket_lifecycle_time_sla"), EstimatedTimeForJobCompletionSubmitTime = Convert.ToDateTime(s.Field("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), VehicleRegisterNumber = s.Field("vehicle_register_number"), BreakdownLocationLandmark = s.Field("breakdown_location_landmark"), RouteId = s.Field("route_id"), CustomerContactNo = s.Field("customer_contact_no"), EstimatedDistance = s.Field("estimated_distance") }).ToList(); string TicketId = ""; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (i == 0) { TicketId = ds.Tables[0].Rows[i]["ticket_id"].ToString(); } else { TicketId = TicketId + "," + ds.Tables[0].Rows[i]["ticket_id"].ToString(); } } nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inticket_id", TicketId); dsActivity = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_syn_android_db_close_ticket_activity"], nSqlParam); if (dsActivity.Tables[0].Rows.Count > 0) { objListOpenTicketActivityTicket = dsActivity.Tables[0].AsEnumerable().Select(s => new TicketActivityCloseModel { Id = s.Field("id"), TicketId = s.Field("ticket_id"), ActivityTicketsOpenCreatedBy = s.Field("created_by"), ActivityTicketsOpenCreationTime = Convert.ToDateTime(s.Field("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), Remarks = s.Field("remarks"), TicketActivityStatus = s.Field("ticket_activity_status") }).ToList(); } objListSync.Add(new SyncCloseModel { TicketCloseList = objListCustomerOpenTicketDetail, TicketActivityCloseList = objListOpenTicketActivityTicket, DeviceAlias = model.DeviceAlias, DbSynLastTime = model.DbSynLastTime, Status = "1" }); return objListSync; } else { objListSync.Add(new SyncCloseModel { DeviceAlias = model.DeviceAlias, DbSynLastTime = model.DbSynLastTime, Status = "1", Message = ConfigurationManager.AppSettings["DataSetEmpty"].ToString() }); return objListSync; } } else { objListSync.Add(new SyncCloseModel { DeviceAlias = model.DeviceAlias, DbSynLastTime = model.DbSynLastTime, Status = "0", Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString() }); return objListSync; } } catch (Exception Ex) { objListSync.Add(new SyncCloseModel { DeviceAlias = model.DeviceAlias, DbSynLastTime = model.DbSynLastTime, Status = "0", Message = Ex.Message }); objLog.ErrorLogFile("GetSyncCloseTicketDetail", Ex.Message, path, errorlogtf); return objListSync; } } /// /// To get Sync detail of open and close ticket /// /// ticket info /// status and Sync detail of open and close ticket public List GetSyncTicketDetail(SyncModel model) { List objListSync = new List(); SyncOpenModel objModelSyncOpen = new SyncOpenModel(); SyncCloseModel objModelSyncClose = new SyncCloseModel(); List objListCustomerOpenTicketDetail = new List(); List objListOpenTicketActivityTicket = new List(); List objListCustomerCloseTicketDetail = new List(); List objListCloseTicketActivityTicket = new List(); try { objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { DataSet dsTicketOpen = new DataSet(); DataSet dsActivityOpen = new DataSet(); DataSet dsTicketClose = new DataSet(); DataSet dsActivityClose = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3]; nSqlParam[0] = new NpgsqlParameter("indevice_alias", model.DeviceAlias); nSqlParam[1] = new NpgsqlParameter("inieminumber", model.Ieminumber); nSqlParam[2] = new NpgsqlParameter("db_syn_last_time", model.DbSynLastTime); dsTicketOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_syn_android_db_ticket_open"], nSqlParam); dsTicketClose = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_syn_android_db_ticket_closed"], nSqlParam); #region open Ticket if (dsTicketOpen.Tables[0].Rows.Count > 0) { objListCustomerOpenTicketDetail = dsTicketOpen.Tables[0].AsEnumerable().Select(s => new CustomerOpenTicketDetail { TicketId = s.Field("ticket_id"), Description = s.Field("description"), AssignedTo = s.Field("assigned_to"), ReportedVia = s.Field("reported_via"), TicketStatus = s.Field("ticket_status"), Priority = s.Field("priority"), CustomerScore = s.Field("customer_score"), CreatedBy = s.Field("created_by"), CreationTime = Convert.ToDateTime(s.Field("creation_time")).ToString("dd MMM yyy HH:mm:ss"), LastModifiedBy = s.Field("last_modified_by"), LastModifiedTime = Convert.ToDateTime(s.Field("last_modified_time")).ToString("dd MMM yyy HH:mm:ss"), BreakdownLocation = s.Field("breakdown_location"), BreakdownLongitude = s.Field("breakdown_longitude"), BreakdownLattitude = s.Field("breakdown_lattitude"), AssignedToUserId = s.Field("assigned_to_user_id"), AssignedToUserLattitude = s.Field("assigned_to_user_lattitude"), AssignedToUserLongitude = s.Field("assigned_to_user_longitude"), Isdeclined = s.Field("isdeclined"), EstimatedTimeForJobCompletion = s.Field("estimated_time_for_job_completion"), TotalTicketLifecycleTimeSla = s.Field("total_ticket_lifecycle_time_sla"), EstimatedTimeForJobCompletionSubmitTime = Convert.ToDateTime(s.Field("estimated_time_for_job_completion_submit_time")).ToString("dd MMM yyy HH:mm:ss"), VehicleRegisterNumber = s.Field("vehicle_register_number"), BreakdownLocationLandmark = s.Field("breakdown_location_landmark"), RouteId = s.Field("route_id"), CustomerContactNo = s.Field("customer_contact_no"), RepairCost = s.Field("repair_cost"), DefaultSlaTime = s.Field("default_sla_time"), SlaMissedReason = s.Field("sla_missed_reason"), SuggestionComment = s.Field("suggestion_comment"), JobCompleteResponseTime = s.Field("default_col_1"), DefaultCol2 = s.Field("default_col_2"), DefaultCol3 = s.Field("default_col_3"), EstimatedDistance = s.Field("estimated_distance"), Owner_Contact_no = s.Field("_owner_contact_no"), TicketIdAlias = s.Field("_ticket_id_alias"), IsTripEnd = s.Field("_trip_end"), ChassisNumber = s.Field("_chassis_number"), OdometerReading = s.Field("_odometer_reading"), VehicleType = s.Field("_vehicle_type"), PreviousOdometerReading = s.Field("_previous_odometer_reading"), //--------added on 31-12-2020 start------------------ VehicleWarranty = s.Field("_vehicle_warranty") == null ? "" : s.Field("_vehicle_warranty"), VehicleAMC = s.Field("_vehicle_amc") == null ? "" : s.Field("_vehicle_amc"), VehicleSalesDate = s.Field("_vehicle_sales_date"), TicketSource = s.Field("_toll_free_no_source") == null ? "" : s.Field("_toll_free_no_source"), OwnerName = s.Field("_owner_name") == null ? "" : s.Field("_owner_name"), CustomerId = s.Field("_customer_id") == null ? "" : s.Field("_customer_id"), CustomerType = s.Field("_customer_type") == null ? "" : s.Field("_customer_type"), // priya 15 oct 2022 IsTripStart = s.Field("istripstart"), IsKam = s.Field("_is_kam"), Product_Variant = s.Field("_product_variant"), Vehicle_Emission_Norms = s.Field("_vehicle_emission_norms") //--------added on 31-12-2020 end------------------ }).ToList(); } #endregion #region Close Ticket if (dsTicketClose.Tables[0].Rows.Count > 0) { objListCustomerCloseTicketDetail = dsTicketClose.Tables[0].AsEnumerable().Select(s => new CustomerCloseTicketDetail { TicketId = s.Field("ticket_id"), Description = s.Field("description"), AssignedTo = s.Field("assigned_to"), ReportedVia = s.Field("reported_via"), TicketStatus = s.Field("ticket_status"), Priority = s.Field("priority"), CustomerScore = s.Field("customer_score"), CreatedBy = s.Field("created_by"), CreationTime = Convert.ToDateTime(s.Field("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), LastModifiedBy = s.Field("last_modified_by"), LastModifiedTime = Convert.ToDateTime(s.Field("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), BreakdownLocation = s.Field("breakdown_location"), BreakdownLongitude = s.Field("breakdown_longitude"), BreakdownLattitude = s.Field("breakdown_lattitude"), AssignedToUserId = s.Field("assigned_to_user_id"), AssignedToUserLattitude = s.Field("assigned_to_user_lattitude"), AssignedToUserLongitude = s.Field("assigned_to_user_longitude"), Isdeclined = s.Field("isdeclined"), EstimatedTimeForJobCompletion = s.Field("estimated_time_for_job_completion"), TotalTicketLifecycleTimeSla = s.Field("total_ticket_lifecycle_time_sla"), EstimatedTimeForJobCompletionSubmitTime = Convert.ToDateTime(s.Field("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), VehicleRegisterNumber = s.Field("vehicle_register_number"), BreakdownLocationLandmark = s.Field("breakdown_location_landmark"), RouteId = s.Field("route_id"), CustomerContactNo = s.Field("customer_contact_no"), RepairCost = s.Field("repair_cost"), DefaultSlaTime = s.Field("default_sla_time"), SlaMissedReason = s.Field("sla_missed_reason"), SuggestionComment = s.Field("suggestion_comment"), JobCompleteResponseTime = s.Field("default_col_1"), DefaultCol2 = s.Field("default_col_2"), DefaultCol3 = s.Field("default_col_3"), EstimatedDistance = s.Field("estimated_distance"), Owner_Contact_no = s.Field("_owner_contact_no"), TicketIdAlias = s.Field("_ticket_id_alias"), IsTripEnd = s.Field("_trip_end"), ChassisNo = s.Field("_chassis_number"), //OdoMeter = s.Field("_odometer_reading"), //commented existing condition on 31-12-2020 OdometerReading = s.Field("_odometer_reading"), //added condition on 31-12-2020 VehicleType = s.Field("_vehicle_type"), PreviousOdometerReading = s.Field("_previous_odometer_reading"), //--------added on 31-12-2020 start------------------ VehicleWarranty = s.Field("_vehicle_warranty") == null ? "" : s.Field("_vehicle_warranty"), VehicleAMC = s.Field("_vehicle_amc") == null ? "" : s.Field("_vehicle_amc"), VehicleSalesDate = s.Field("_vehicle_sales_date"), TicketSource = s.Field("_toll_free_no_source") == null ? "" : s.Field("_toll_free_no_source"), OwnerName = s.Field("_owner_name") == null ? "" : s.Field("_owner_name"), CustomerId = s.Field("_customer_id") == null ? "" : s.Field("_customer_id"), CustomerType = s.Field("_customer_type") == null ? "" : s.Field("_customer_type"), // Added by priya 21102022 IsTripStart = s.Field("istripstart"), IsKam = s.Field("_is_kam"), //--------added on 31-12-2020 end------------------ }).ToList(); } #endregion objListSync.Add(new SyncModel { TicketOpenList = objListCustomerOpenTicketDetail, // TicketActivityOpenList = objListOpenTicketActivityTicket, TicketCloseList = objListCustomerCloseTicketDetail, // TicketActivityCloseList = objListCloseTicketActivityTicket, DeviceAlias = model.DeviceAlias, // DbSynLastTime = string.Format("{yyyy-MM-dd hh:mm:ss}", DateTime.UtcNow), DbSynLastTime = DateTime.UtcNow.ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), Status = "1" }); return objListSync; } else { objListSync.Add(new SyncModel { DeviceAlias = model.DeviceAlias, DbSynLastTime = model.DbSynLastTime, Status = "0", Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString() }); return objListSync; } } catch (Exception Ex) { objListSync.Add(new SyncModel { DeviceAlias = model.DeviceAlias, DbSynLastTime = model.DbSynLastTime, Status = "0", Message = Ex.Message }); objLog.ErrorLogFile("GetSyncTicketDetail", Ex.Message, path, errorlogtf); return objListSync; } } /// /// To get Sync detail of open and close ticket for dealer /// /// ticket info /// status and Sync detail of open and close ticket public List GetSyncTicketDetail_Dealer(SyncModel model) { List objListSync = new List(); SyncOpenModel objModelSyncOpen = new SyncOpenModel(); SyncCloseModel objModelSyncClose = new SyncCloseModel(); List objListCustomerOpenTicketDetail = new List(); List objListOpenTicketActivityTicket = new List(); List objListCustomerCloseTicketDetail = new List(); List objListCloseTicketActivityTicket = new List(); try { objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { DataSet dsTicketOpen = new DataSet(); DataSet dsActivityOpen = new DataSet(); DataSet dsTicketClose = new DataSet(); DataSet dsActivityClose = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2]; nSqlParam[0] = new NpgsqlParameter("indealer_code", model.DealerCode); nSqlParam[1] = new NpgsqlParameter("db_syn_last_time", model.DbSynLastTime); dsTicketOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_syn_android_db_ticket_open_dealer"], nSqlParam); dsTicketClose = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_syn_android_db_ticket_closed_dealer"], nSqlParam); #region open Ticket if (dsTicketOpen.Tables[0].Rows.Count > 0) { objListCustomerOpenTicketDetail = dsTicketOpen.Tables[0].AsEnumerable().Select(s => new CustomerOpenTicketDetail { TicketId = s.Field("ticket_id"), Description = s.Field("description"), AssignedTo = s.Field("assigned_to"), ReportedVia = s.Field("reported_via"), TicketStatus = s.Field("ticket_status"), Priority = s.Field("priority"), CustomerScore = s.Field("customer_score"), CreatedBy = s.Field("created_by"), CreationTime = Convert.ToDateTime(s.Field("creation_time")).ToString("dd MMM yyy HH:mm:ss"), LastModifiedBy = s.Field("last_modified_by"), LastModifiedTime = Convert.ToDateTime(s.Field("last_modified_time")).ToString("dd MMM yyy HH:mm:ss"), BreakdownLocation = s.Field("breakdown_location"), BreakdownLongitude = s.Field("breakdown_longitude"), BreakdownLattitude = s.Field("breakdown_lattitude"), AssignedToUserId = s.Field("assigned_to_user_id"), AssignedToUserLattitude = s.Field("assigned_to_user_lattitude"), AssignedToUserLongitude = s.Field("assigned_to_user_longitude"), Isdeclined = s.Field("isdeclined"), EstimatedTimeForJobCompletion = s.Field("estimated_time_for_job_completion"), TotalTicketLifecycleTimeSla = s.Field("total_ticket_lifecycle_time_sla"), EstimatedTimeForJobCompletionSubmitTime = Convert.ToDateTime(s.Field("estimated_time_for_job_completion_submit_time")).ToString("dd MMM yyy HH:mm:ss"), VehicleRegisterNumber = s.Field("vehicle_register_number"), BreakdownLocationLandmark = s.Field("breakdown_location_landmark"), RouteId = s.Field("route_id"), CustomerContactNo = s.Field("customer_contact_no"), RepairCost = s.Field("repair_cost"), DefaultSlaTime = s.Field("default_sla_time"), SlaMissedReason = s.Field("sla_missed_reason"), SuggestionComment = s.Field("suggestion_comment"), JobCompleteResponseTime = s.Field("default_col_1"), DefaultCol2 = s.Field("default_col_2"), DefaultCol3 = s.Field("default_col_3"), EstimatedDistance = s.Field("estimated_distance"), Owner_Contact_no = s.Field("_owner_contact_no"), TicketIdAlias = s.Field("_ticket_id_alias") }).ToList(); } #endregion #region Close Ticket if (dsTicketClose.Tables[0].Rows.Count > 0) { objListCustomerCloseTicketDetail = dsTicketClose.Tables[0].AsEnumerable().Select(s => new CustomerCloseTicketDetail { TicketId = s.Field("ticket_id"), Description = s.Field("description"), AssignedTo = s.Field("assigned_to"), ReportedVia = s.Field("reported_via"), TicketStatus = s.Field("ticket_status"), Priority = s.Field("priority"), CustomerScore = s.Field("customer_score"), CreatedBy = s.Field("created_by"), CreationTime = Convert.ToDateTime(s.Field("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), LastModifiedBy = s.Field("last_modified_by"), // LastModifiedTime = Convert.ToDateTime(s.Field("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), LastModifiedTime = Convert.ToDateTime(s.Field("last_modified_time")).AddMinutes(Convert.ToInt16(ConfigurationManager.AppSettings["UtcMinute"])).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), BreakdownLocation = s.Field("breakdown_location"), BreakdownLongitude = s.Field("breakdown_longitude"), BreakdownLattitude = s.Field("breakdown_lattitude"), AssignedToUserId = s.Field("assigned_to_user_id"), AssignedToUserLattitude = s.Field("assigned_to_user_lattitude"), AssignedToUserLongitude = s.Field("assigned_to_user_longitude"), Isdeclined = s.Field("isdeclined"), EstimatedTimeForJobCompletion = s.Field("estimated_time_for_job_completion"), TotalTicketLifecycleTimeSla = s.Field("total_ticket_lifecycle_time_sla"), EstimatedTimeForJobCompletionSubmitTime = Convert.ToDateTime(s.Field("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), VehicleRegisterNumber = s.Field("vehicle_register_number"), BreakdownLocationLandmark = s.Field("breakdown_location_landmark"), RouteId = s.Field("route_id"), CustomerContactNo = s.Field("customer_contact_no"), RepairCost = s.Field("repair_cost"), DefaultSlaTime = s.Field("default_sla_time"), SlaMissedReason = s.Field("sla_missed_reason"), SuggestionComment = s.Field("suggestion_comment"), JobCompleteResponseTime = s.Field("default_col_1"), DefaultCol2 = s.Field("default_col_2"), DefaultCol3 = s.Field("default_col_3"), EstimatedDistance = s.Field("estimated_distance"), Owner_Contact_no = s.Field("_owner_contact_no"), TicketIdAlias = s.Field("_ticket_id_alias") }).ToList(); } #endregion objListSync.Add(new SyncModel { TicketOpenList = objListCustomerOpenTicketDetail, // TicketActivityOpenList = objListOpenTicketActivityTicket, TicketCloseList = objListCustomerCloseTicketDetail, // TicketActivityCloseList = objListCloseTicketActivityTicket, DeviceAlias = model.DeviceAlias, // DbSynLastTime = string.Format("{yyyy-MM-dd hh:mm:ss}", DateTime.UtcNow), DbSynLastTime = DateTime.UtcNow.ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), Status = "1" }); return objListSync; } else { objListSync.Add(new SyncModel { DeviceAlias = model.DeviceAlias, DbSynLastTime = model.DbSynLastTime, Status = "0", Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString() }); return objListSync; } } catch (Exception Ex) { objListSync.Add(new SyncModel { DeviceAlias = model.DeviceAlias, DbSynLastTime = model.DbSynLastTime, Status = "0", Message = Ex.Message }); objLog.ErrorLogFile("GetSyncTicketDetail_Dealer", Ex.Message, path, errorlogtf); return objListSync; } } /// /// To get Sync detail of open and close ticket for KAM /// /// ticket info /// status and Sync detail of open and close ticket public List GetSyncTicketDetail_Kam(SyncModel model) { List objListSync = new List(); SyncOpenModel objModelSyncOpen = new SyncOpenModel(); SyncCloseModel objModelSyncClose = new SyncCloseModel(); List objListCustomerOpenTicketDetail = new List(); List objListOpenTicketActivityTicket = new List(); List objListCustomerCloseTicketDetail = new List(); List objListCloseTicketActivityTicket = new List(); try { objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { DataSet dsTicketOpen = new DataSet(); DataSet dsActivityOpen = new DataSet(); DataSet dsTicketClose = new DataSet(); DataSet dsActivityClose = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2]; nSqlParam[0] = new NpgsqlParameter("inkam_id", model.KamUserId); nSqlParam[1] = new NpgsqlParameter("db_syn_last_time", model.DbSynLastTime); dsTicketOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_syn_android_db_ticket_open_kam"], nSqlParam); dsTicketClose = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_syn_android_db_ticket_closed_kam"], nSqlParam); #region open Ticket if (dsTicketOpen.Tables[0].Rows.Count > 0) { objListCustomerOpenTicketDetail = dsTicketOpen.Tables[0].AsEnumerable().Select(s => new CustomerOpenTicketDetail { TicketId = s.Field("ticket_id"), Description = s.Field("description"), AssignedTo = s.Field("assigned_to"), ReportedVia = s.Field("reported_via"), TicketStatus = s.Field("ticket_status"), Priority = s.Field("priority"), CustomerScore = s.Field("customer_score"), CreatedBy = s.Field("created_by"), CreationTime = Convert.ToDateTime(s.Field("creation_time")).ToString("dd MMM yyy HH:mm:ss"), LastModifiedBy = s.Field("last_modified_by"), LastModifiedTime = Convert.ToDateTime(s.Field("last_modified_time")).ToString("dd MMM yyy HH:mm:ss"), BreakdownLocation = s.Field("breakdown_location"), BreakdownLongitude = s.Field("breakdown_longitude"), BreakdownLattitude = s.Field("breakdown_lattitude"), AssignedToUserId = s.Field("assigned_to_user_id"), AssignedToUserLattitude = s.Field("assigned_to_user_lattitude"), AssignedToUserLongitude = s.Field("assigned_to_user_longitude"), Isdeclined = s.Field("isdeclined"), EstimatedTimeForJobCompletion = s.Field("estimated_time_for_job_completion"), TotalTicketLifecycleTimeSla = s.Field("total_ticket_lifecycle_time_sla"), EstimatedTimeForJobCompletionSubmitTime = Convert.ToDateTime(s.Field("estimated_time_for_job_completion_submit_time")).ToString("dd MMM yyy HH:mm:ss"), VehicleRegisterNumber = s.Field("vehicle_register_number"), BreakdownLocationLandmark = s.Field("breakdown_location_landmark"), RouteId = s.Field("route_id"), CustomerContactNo = s.Field("customer_contact_no"), RepairCost = s.Field("repair_cost"), DefaultSlaTime = s.Field("default_sla_time"), SlaMissedReason = s.Field("sla_missed_reason"), SuggestionComment = s.Field("suggestion_comment"), JobCompleteResponseTime = s.Field("default_col_1"), DefaultCol2 = s.Field("default_col_2"), DefaultCol3 = s.Field("default_col_3"), EstimatedDistance = s.Field("estimated_distance"), Owner_Contact_no = s.Field("_owner_contact_no"), TicketIdAlias = s.Field("_ticket_id_alias") }).ToList(); } #endregion #region Close Ticket if (dsTicketClose.Tables[0].Rows.Count > 0) { objListCustomerCloseTicketDetail = dsTicketClose.Tables[0].AsEnumerable().Select(s => new CustomerCloseTicketDetail { TicketId = s.Field("ticket_id"), Description = s.Field("description"), AssignedTo = s.Field("assigned_to"), ReportedVia = s.Field("reported_via"), TicketStatus = s.Field("ticket_status"), Priority = s.Field("priority"), CustomerScore = s.Field("customer_score"), CreatedBy = s.Field("created_by"), CreationTime = Convert.ToDateTime(s.Field("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), LastModifiedBy = s.Field("last_modified_by"), LastModifiedTime = Convert.ToDateTime(s.Field("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), BreakdownLocation = s.Field("breakdown_location"), BreakdownLongitude = s.Field("breakdown_longitude"), BreakdownLattitude = s.Field("breakdown_lattitude"), AssignedToUserId = s.Field("assigned_to_user_id"), AssignedToUserLattitude = s.Field("assigned_to_user_lattitude"), AssignedToUserLongitude = s.Field("assigned_to_user_longitude"), Isdeclined = s.Field("isdeclined"), EstimatedTimeForJobCompletion = s.Field("estimated_time_for_job_completion"), TotalTicketLifecycleTimeSla = s.Field("total_ticket_lifecycle_time_sla"), EstimatedTimeForJobCompletionSubmitTime = Convert.ToDateTime(s.Field("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), VehicleRegisterNumber = s.Field("vehicle_register_number"), BreakdownLocationLandmark = s.Field("breakdown_location_landmark"), RouteId = s.Field("route_id"), CustomerContactNo = s.Field("customer_contact_no"), RepairCost = s.Field("repair_cost"), DefaultSlaTime = s.Field("default_sla_time"), SlaMissedReason = s.Field("sla_missed_reason"), SuggestionComment = s.Field("suggestion_comment"), JobCompleteResponseTime = s.Field("default_col_1"), DefaultCol2 = s.Field("default_col_2"), DefaultCol3 = s.Field("default_col_3"), EstimatedDistance = s.Field("estimated_distance"), Owner_Contact_no = s.Field("_owner_contact_no"), TicketIdAlias = s.Field("_ticket_id_alias") }).ToList(); } #endregion objListSync.Add(new SyncModel { TicketOpenList = objListCustomerOpenTicketDetail, // TicketActivityOpenList = objListOpenTicketActivityTicket, TicketCloseList = objListCustomerCloseTicketDetail, // TicketActivityCloseList = objListCloseTicketActivityTicket, DeviceAlias = model.DeviceAlias, // DbSynLastTime = string.Format("{yyyy-MM-dd hh:mm:ss}", DateTime.UtcNow), DbSynLastTime = DateTime.UtcNow.ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), Status = "1" }); return objListSync; } else { objListSync.Add(new SyncModel { DeviceAlias = model.DeviceAlias, DbSynLastTime = model.DbSynLastTime, Status = "0", Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString() }); return objListSync; } } catch (Exception Ex) { objListSync.Add(new SyncModel { DeviceAlias = model.DeviceAlias, DbSynLastTime = model.DbSynLastTime, Status = "0", Message = Ex.Message }); objLog.ErrorLogFile("GetSyncTicketDetail_Kam", Ex.Message, path, errorlogtf); return objListSync; } } // by priya public TicketStatusModel GetSyncTicketDetail(string ticketid, string strTicketStatus) { TicketStatusModel objModel = new TicketStatusModel(); objModel.Status = "1"; DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inticket_id", ticketid); if (strTicketStatus.ToLower() == "open") { ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_ticket_details_mobile"], nSqlParam); } else { ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_close_ticket_details_mobile"], nSqlParam); } if (ds.Tables[0].Rows.Count > 0) { objModel.IsTripStart = Convert.ToBoolean(ds.Tables[0].Rows[0]["is_trip_start"].ToString()) ; objModel.TicketStatus = Convert.ToInt32(ds.Tables[0].Rows[0]["_activity_ticket_status"].ToString()); objModel.TicketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString(); } objModel.Status = "1"; return objModel; } public List GetAllDtcDescriptionListDataSet(string[] dtccodes) { List objList = new List(); //DashboardModel objModel = new DashboardModel(); try { objAuthorization = new AuthenticationRepository(); DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("indtc_code ", dtccodes); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dtcdescription_bydtccode"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { objList = ds.Tables[0].AsEnumerable().Select(s => new DTCCodeMaster { // objNewDashboardModel = s.Field("_customer_vehicle_is_owner"), //DealerName = model.TicketNo, DTCCode = s.Field("_dtc_code"), // Region = s.Field("_region"), // TicketCount = s.Field("_ticket_count"), Description = s.Field("_description"), }).ToList(); } //} return objList; } catch (Exception Ex) { // objNewDashboardModel = new CustomerVehicleModel(); // objNewDashboardModel.Status = 0; // objCustomerVehicleModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; objLog.ErrorLogFile("GetCustomerDetails", Ex.Message, path, errorlogtf); return objList; } } public string getChassisNumberByRegnum(string RegNum) { string strchassisNumber = ""; try { objAuthorization = new AuthenticationRepository(); DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inRegNum", RegNum); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_chassisNumber_by_REGNumber"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { strchassisNumber = Convert.ToString(ds.Tables[0].Rows[0]["_chassis_number"]); } //} return strchassisNumber; } catch (Exception Ex) { // objNewDashboardModel = new CustomerVehicleModel(); // objNewDashboardModel.Status = 0; // objCustomerVehicleModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; objLog.ErrorLogFile("GetChassisNumber", Ex.Message, path, errorlogtf); return strchassisNumber; } } public string getChassisNumber(string ticketId) { string strchassisNumber = ""; string STRstatus = ""; try { objAuthorization = new AuthenticationRepository(); DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inticketId", ticketId); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_chassisNumber_by_ticketid"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { strchassisNumber = Convert.ToString(ds.Tables[0].Rows[0]["_chassis_number"]); STRstatus = Convert.ToString(ds.Tables[0].Rows[0]["_vehicle_status"]); } //} return strchassisNumber + ',' + STRstatus; } catch (Exception Ex) { // objNewDashboardModel = new CustomerVehicleModel(); // objNewDashboardModel.Status = 0; // objCustomerVehicleModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; objLog.ErrorLogFile("GetChassisNumber", Ex.Message, path, errorlogtf); return strchassisNumber; } } public string insertTechnicianNumber(string ticketId, string tech_number) { string strmessage = ""; try { NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2]; nSqlParam[0] = new NpgsqlParameter("inticket_id", ticketId); nSqlParam[1] = new NpgsqlParameter("intech_number", tech_number); DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_technician_detail"], nSqlParam); strmessage = "Mobile Number successfully saved"; } catch (Exception Ex) { // objNewDashboardModel = new CustomerVehicleModel(); // objNewDashboardModel.Status = 0; // objCustomerVehicleModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; objLog.ErrorLogFile("insertTechnicianNumber", Ex.Message, path, errorlogtf); } return strmessage; } public CustomerOpenTicketDetail getTicketDetailLatestUpdate(SyncModel model) { string dealerid = ""; CustomerOpenTicketDetail objModel = new CustomerOpenTicketDetail(); try { DataSet dsOpen = new DataSet(); DataSet dsActivityOpen = new DataSet(); DataSet dsTicketClose = new DataSet(); DataSet dsActivityClose = new DataSet(); /* NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3]; nSqlParam[0] = new NpgsqlParameter("indevice_alias", model.DeviceAlias); nSqlParam[1] = new NpgsqlParameter("inieminumber", model.Ieminumber); nSqlParam[2] = new NpgsqlParameter("db_syn_last_time", model.DbSynLastTime);*/ NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inticketId", model.ticketId); dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_syn_android_db_ticket_open_latest_activity_by_id"], nSqlParam); // dsTicketClose = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_syn_android_db_ticket_closed"], nSqlParam); if (dsOpen.Tables[0].Rows.Count > 0) { //assigned_to_user_id = dsOpen.Tables[0].Rows[0]["_assigned_to_user_id"].ToString(); // getting ticket id alias objModel.TicketId = dsOpen.Tables[0].Rows[0]["ticket_id"].ToString(); objModel.Description = dsOpen.Tables[0].Rows[0]["description"].ToString(); objModel.AssignedTo = dsOpen.Tables[0].Rows[0]["assigned_to"].ToString(); objModel.ReportedVia = dsOpen.Tables[0].Rows[0]["reported_via"].ToString(); objModel.TicketStatus = Convert.ToInt32(dsOpen.Tables[0].Rows[0]["ticket_status"]); objModel.Priority = Convert.ToInt32(dsOpen.Tables[0].Rows[0]["priority"]); objModel.CustomerScore = dsOpen.Tables[0].Rows[0]["customer_score"].ToString(); objModel.CreatedBy = dsOpen.Tables[0].Rows[0]["created_by"].ToString(); objModel.CreationTime = Convert.ToDateTime(dsOpen.Tables[0].Rows[0]["creation_time"]).ToString("dd MMM yyyy HH:mm:ss"); objModel.LastModifiedBy = dsOpen.Tables[0].Rows[0]["last_modified_by"].ToString(); objModel.LastModifiedTime = Convert.ToDateTime(dsOpen.Tables[0].Rows[0]["last_modified_time"]).ToString("dd MMM yyyy HH:mm:ss"); objModel.BreakdownLocation = dsOpen.Tables[0].Rows[0]["breakdown_location"].ToString(); objModel.BreakdownLongitude = dsOpen.Tables[0].Rows[0]["breakdown_longitude"].ToString(); objModel.BreakdownLattitude = dsOpen.Tables[0].Rows[0]["breakdown_lattitude"].ToString(); objModel.AssignedToUserId = dsOpen.Tables[0].Rows[0]["assigned_to_user_id"].ToString(); objModel.AssignedToUserLattitude = dsOpen.Tables[0].Rows[0]["assigned_to_user_lattitude"].ToString(); objModel.AssignedToUserLongitude = dsOpen.Tables[0].Rows[0]["assigned_to_user_longitude"].ToString(); objModel.Isdeclined = Convert.ToBoolean(dsOpen.Tables[0].Rows[0]["isdeclined"]); objModel.EstimatedTimeForJobCompletion = dsOpen.Tables[0].Rows[0]["estimated_time_for_job_completion"] == DBNull.Value ? 0 : Convert.ToInt32(dsOpen.Tables[0].Rows[0]["estimated_time_for_job_completion"].ToString()); // dsOpen.Tables[0].Rows[0]["estimated_time_for_job_completion"]); objModel.TotalTicketLifecycleTimeSla = dsOpen.Tables[0].Rows[0]["total_ticket_lifecycle_time_sla"] == DBNull.Value ? 0 : Convert.ToInt32(dsOpen.Tables[0].Rows[0]["total_ticket_lifecycle_time_sla"].ToString()); //Convert.ToInt32(dsOpen.Tables[0].Rows[0]["total_ticket_lifecycle_time_sla"]); objModel.EstimatedTimeForJobCompletionSubmitTime = dsOpen.Tables[0].Rows[0]["estimated_time_for_job_completion_submit_time"] == DBNull.Value ? string.Empty : Convert.ToDateTime(dsOpen.Tables[0].Rows[0]["estimated_time_for_job_completion_submit_time"]).ToString("dd MMM yyyy HH:mm:ss"); //Convert.ToDateTime(dsOpen.Tables[0].Rows[0]["estimated_time_for_job_completion_submit_time"]).ToString("dd MMM yyyy HH:mm:ss"); objModel.VehicleRegisterNumber = dsOpen.Tables[0].Rows[0]["vehicle_register_number"].ToString(); objModel.BreakdownLocationLandmark = dsOpen.Tables[0].Rows[0]["breakdown_location_landmark"].ToString(); objModel.RouteId = Convert.ToInt32(dsOpen.Tables[0].Rows[0]["route_id"]); objModel.CustomerContactNo = dsOpen.Tables[0].Rows[0]["customer_contact_no"].ToString(); objModel.RepairCost = dsOpen.Tables[0].Rows[0]["repair_cost"].ToString(); objModel.DefaultSlaTime = Convert.ToInt32(dsOpen.Tables[0].Rows[0]["default_sla_time"]); objModel.SlaMissedReason = dsOpen.Tables[0].Rows[0]["sla_missed_reason"].ToString(); objModel.SuggestionComment = dsOpen.Tables[0].Rows[0]["suggestion_comment"].ToString(); objModel.JobCompleteResponseTime = dsOpen.Tables[0].Rows[0]["default_col_1"] == DBNull.Value ? "" : dsOpen.Tables[0].Rows[0]["default_col_1"].ToString(); //dsOpen.Tables[0].Rows[0]["default_col_1"].ToString(); objModel.DefaultCol2 = dsOpen.Tables[0].Rows[0]["default_col_2"] == DBNull.Value ? "" : dsOpen.Tables[0].Rows[0]["default_col_2"].ToString(); //dsOpen.Tables[0].Rows[0]["default_col_2"].ToString(); objModel.DefaultCol3 = dsOpen.Tables[0].Rows[0]["default_col_3"] == DBNull.Value ? "" : dsOpen.Tables[0].Rows[0]["default_col_3"].ToString(); //dsOpen.Tables[0].Rows[0]["default_col_3"].ToString(); objModel.EstimatedDistance = dsOpen.Tables[0].Rows[0]["estimated_distance"].ToString(); objModel.Owner_Contact_no = dsOpen.Tables[0].Rows[0]["_owner_contact_no"].ToString(); objModel.TicketIdAlias = dsOpen.Tables[0].Rows[0]["_ticket_id_alias"].ToString(); objModel.IsTripEnd = Convert.ToBoolean(dsOpen.Tables[0].Rows[0]["_trip_end"]); objModel.ChassisNumber = dsOpen.Tables[0].Rows[0]["_chassis_number"].ToString(); objModel.OdometerReading = Convert.ToDouble(dsOpen.Tables[0].Rows[0]["_odometer_reading"]); objModel.VehicleType = dsOpen.Tables[0].Rows[0]["_vehicle_type"].ToString(); objModel.PreviousOdometerReading = Convert.ToDouble(dsOpen.Tables[0].Rows[0]["_previous_odometer_reading"].ToString()); //--------added on 31-12-2020 start------------------ objModel.VehicleWarranty = dsOpen.Tables[0].Rows[0]["_vehicle_warranty"] == DBNull.Value ? "" : dsOpen.Tables[0].Rows[0]["_vehicle_warranty"].ToString(); objModel.VehicleAMC = dsOpen.Tables[0].Rows[0]["_vehicle_amc"] == DBNull.Value ? "" : dsOpen.Tables[0].Rows[0]["_vehicle_amc"].ToString(); objModel.VehicleSalesDate = dsOpen.Tables[0].Rows[0]["_vehicle_sales_date"].ToString(); objModel.TicketSource = dsOpen.Tables[0].Rows[0]["_toll_free_no_source"] == DBNull.Value ? "" : dsOpen.Tables[0].Rows[0]["_toll_free_no_source"].ToString(); objModel.OwnerName = dsOpen.Tables[0].Rows[0]["_owner_name"] == DBNull.Value ? "" : dsOpen.Tables[0].Rows[0]["_owner_name"].ToString(); objModel.CustomerId = dsOpen.Tables[0].Rows[0]["_customer_id"] == DBNull.Value ? "" : dsOpen.Tables[0].Rows[0]["_customer_id"].ToString(); objModel.CustomerType = dsOpen.Tables[0].Rows[0]["_customer_type"] == DBNull.Value ? "" : dsOpen.Tables[0].Rows[0]["_customer_type"].ToString(); // priya 15 oct 2022 objModel.IsTripStart = Convert.ToBoolean(dsOpen.Tables[0].Rows[0]["istripstart"].ToString()); objModel.IsKam = Convert.ToBoolean(dsOpen.Tables[0].Rows[0]["_is_kam"].ToString()); objModel.Product_Variant = dsOpen.Tables[0].Rows[0]["_product_variant"].ToString(); objModel.Vehicle_Emission_Norms = dsOpen.Tables[0].Rows[0]["_vehicle_emission_norms"].ToString(); } return objModel; } catch (Exception Ex) { // objModel. = Ex.Message; objLog.ErrorLogFile("getTicketDetailLiveTabTracking", Ex.Message, path, errorlogtf); return objModel; } } #endregion } #endregion }