namespace VECV_WebApi.Models.Dealer { #region Namespaces using DBHelper; using LoggingHelper; using Npgsql; using System; using System.Collections.Generic; using System.Configuration; using System.Data; using System.Linq; using System.Web; using VECV_WebApi.Models.Authorization; using VECV_WebApi.Models.Dashboard; using VECV_WebApi.Models.EmailServices; using VECV_WebApi.Models.ServiceEngineer; using VECV_WebApi.Models.Sync; //using VECV_WebApi.Models.Ticket; using VECV_WebApi.Models.User; #endregion #region Repository Class /// /// This class contain dealer releted methods /// public class DealerRepository { #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 database /// public DealerRepository(string connString) { this._connStr = connString; } #endregion #region API Methods /// /// To get dealer detail with its position details /// /// dealer info /// status and dealer detail with its position details public List GetDealerPositionDetail(GetDealerPositionModel model) { List objListModel = new List(); DealerPositionModel objModel = new DealerPositionModel(); try { objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[5]; nSqlParam[0] = new NpgsqlParameter("instate", model.State); nSqlParam[1] = new NpgsqlParameter("incity", model.City); nSqlParam[2] = new NpgsqlParameter("indealer_id", model.DealerId); nSqlParam[3] = new NpgsqlParameter("insla_id", model.SlaId); nSqlParam[4] = new NpgsqlParameter("inorganization", model.RegionId); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dealer_postion_details"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { objListModel = ds.Tables[0].AsEnumerable().Select(s => new DealerPositionModel { DealerId = s.Field("dealer_id"), OrganizationId = s.Field("dealer_organization_id"), DealerName = s.Field("dealer_dealer_name"), DealerCity = s.Field("dealer_city"), DealerState = s.Field("dealer_state"), DealerDefaultLatitude = s.Field("dealer_dealer_default_lattitude"), DealerDefaultLongitude = s.Field("dealer_dealer_default_longitude"), OrganizationName = s.Field("_organization_name"), OrganizationAlias = s.Field("_organization_organization_alias"), OrganizationCity = s.Field("_organization_organization_city"), OrganizationState = s.Field("_organization_organization_state"), OrganizationCountry = s.Field("_organization_organization_country"), OrganizationPath = s.Field("_organization_organization_path"), OrganizationDepth = s.Field("_organization_organization_depth"), }).ToList(); } } else { objModel.Status = "0"; objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); objListModel.Add(objModel); } } catch (Exception Ex) { // writing error logs objLog.ErrorLogFile("GetCustomerDetails", Ex.Message, path, errorlogtf); objModel.Status = "0"; objModel.Message = Ex.Message; objListModel.Add(objModel); } return objListModel; } /// /// To get open ticket detail of dealer /// /// dealer info /// status and open ticket detail of dealer public List GetDealerOpenTicketDetail(DealerOpenTicketDetailModel model) { DealerOpenTicketDetailModel objModel = new DealerOpenTicketDetailModel(); List objList = new List(); try { DataSet ds = new DataSet(); objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dealer_open_ticket_details_new"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { objList = ds.Tables[0].AsEnumerable().Select(s => new DealerOpenTicketDetailModel { 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 = s.Field("creation_time") != null ? Convert.ToDateTime(s.Field("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), LastModifiedBy = s.Field("last_modified_by"), LastModifiedTime = s.Field("last_modified_time") != null ? Convert.ToDateTime(s.Field("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), BreakdownLocation = s.Field("breakdown_location"), DreakdownLongitude = 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 = s.Field("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : 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"), DefaultSlTtime = s.Field("default_sla_time"), SlaMissedReason = s.Field("sla_missed_reason"), SuggestionComment = s.Field("suggestion_comment"), TicketStatusAlias = s.Field("ticket_status_alias"), JobCompleteResponseTime = s.Field("default_col_1"), DefaultCol2 = s.Field("default_col_2"), DefaultCol3 = s.Field("default_col_3"), TicketIdAlias = s.Field("_ticket_id_alias"), TollFreeNoSource= s.Field("_toll_free_no_source") }).ToList(); } objModel.Status = "1"; } else { objModel.Status = "0"; objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objList; } catch (Exception Ex) { objModel.Status = "0"; objModel.Message = Ex.Message; objLog.ErrorLogFile("GetDealerOpenTicketDetail", Ex.Message, path, errorlogtf); return objList; } } /// /// To get close ticket detail of dealer /// /// dealer info /// status and close ticket detail of dealer public List GetDealerCloseTicketDetail(DealerCloseTicketDetailModel model) { DealerCloseTicketDetailModel objModel = new DealerCloseTicketDetailModel(); List objList = new List(); try { DataSet ds = new DataSet(); objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dealer_close_ticket_details_new"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { objList = ds.Tables[0].AsEnumerable().Select(s => new DealerCloseTicketDetailModel { 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 = s.Field("creation_time") != null ? Convert.ToDateTime(s.Field("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), LastModifiedBy = s.Field("last_modified_by"), LastModifiedTime = s.Field("last_modified_time") != null ? Convert.ToDateTime(s.Field("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), BreakdownLocation = s.Field("breakdown_location"), DreakdownLongitude = 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 = s.Field("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : 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"), DefaultSlTtime = s.Field("default_sla_time"), SlaMissedReason = s.Field("sla_missed_reason"), SuggestionComment = s.Field("suggestion_comment"), TicketStatusAlias = s.Field("ticket_status_alias"), JobCompleteResponseTime = s.Field("default_col_1"), DefaultCol2 = s.Field("default_col_2"), DefaultCol3 = s.Field("default_col_3"), TicketIdAlias = s.Field("_ticket_id_alias"), TollFreeNoSource = s.Field("_toll_free_no_source") }).ToList(); } objModel.Status = "1"; } else { objModel.Status = "0"; objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objList; } catch (Exception Ex) { objModel.Status = "0"; objModel.Message = Ex.Message; objLog.ErrorLogFile("GetDealerCloseTicketDetail", Ex.Message, path, errorlogtf); return objList; } } /// /// To get dealer notification list /// /// dealer info /// status and dealer notification list public List GetDealerNortification(DealerNortificationModel model) { DealerNortificationModel objModel = new DealerNortificationModel(); List objList = new List(); try { DataSet ds = new DataSet(); objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dealer_nortification"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { objList = ds.Tables[0].AsEnumerable().Select(s => new DealerNortificationModel { TicketId = s.Field("_ticket_id"), TicketIdAlias = s.Field("_ticket_id_alias"), TicketStatus = s.Field("_ticket_status"), TicketStatusAlias = s.Field("_ticket_status_alias"), NotificationTime = s.Field("_notification_time") != null ? Convert.ToDateTime(s.Field("_notification_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("_notification_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), DealerDealerName = s.Field("dealer_dealer_name"), VanId = s.Field("van_id"), VanRegistrationNumber = s.Field("van_registration_number"), ServiceEngineerName = s.Field("_service_engineer_name"), CreatedBy = s.Field("_created_by"), AssignedTo = s.Field("_assigned_to"), NotificationId = s.Field("_notification_id"), CreationTime = Convert.ToDateTime(s.Field("_creation_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), }).ToList(); } objModel.Status = "1"; } else { objModel.Status = "0"; objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objList; } catch (Exception Ex) { objModel.Status = "0"; objModel.Message = Ex.Message; objLog.ErrorLogFile("GetDealerNortificationModel", Ex.Message, path, errorlogtf); return objList; } } /// /// To get child dealer list for a principal dealer /// /// principal dealer info /// status and child dealer list for a principal dealer public DealerDetailModel GetChildDealerships(DealerDetailModel model) { DealerDetailModel objModel = new DealerDetailModel(); List objList = new List(); try { DataSet ds = new DataSet(); objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inid", model.DealerId); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dealer_child"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { objList = ds.Tables[0].AsEnumerable().Select(s => new DealerChildPrincipalModel { DealerId = s.Field("dealer_id"), DealerOrganizationId = s.Field("dealer_organization_id").ToString(), DealerName = s.Field("dealer_dealer_name"), DealerCity = s.Field("dealer_city"), DealerState = s.Field("dealer_state"), DealerLatitude = s.Field("dealer_dealer_default_lattitude"), DealerLongitude = s.Field("dealer_dealer_default_longitude"), DealerContact1 = s.Field("dealer_contact_number1"), DealerContact2 = s.Field("dealer_contact_number2") }).ToList(); } objModel.DealerChildPrincipalList = objList; objModel.Status = "1"; } else { objModel.Status = "0"; objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objModel; } catch (Exception Ex) { objModel.Status = "0"; objModel.Message = Ex.Message; objLog.ErrorLogFile("GetChildDealerships", Ex.Message, path, errorlogtf); return objModel; } } /// /// To get principal delership details /// /// principal dealer info /// status and principal delership details public DealerDetailModel GetPrincipalDealershipDetails(DealerDetailModel model) { DealerDetailModel objModel = new DealerDetailModel(); List objList = new List(); try { DataSet ds = new DataSet(); objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inid", model.DealerId); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dealer_principal"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { objList = ds.Tables[0].AsEnumerable().Select(s => new DealerChildPrincipalModel { DealerId = s.Field("dealer_id"), DealerOrganizationId = s.Field("dealer_organization_id").ToString(), DealerName = s.Field("dealer_dealer_name"), DealerCity = s.Field("dealer_city"), DealerState = s.Field("dealer_state"), DealerLatitude = s.Field("dealer_dealer_default_lattitude"), DealerLongitude = s.Field("dealer_dealer_default_longitude"), DealerContact1 = s.Field("dealer_contact_number1"), DealerContact2 = s.Field("dealer_contact_number2") }).ToList(); } objModel.DealerChildPrincipalList = objList; objModel.Status = "1"; } else { objModel.Status = "0"; objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objModel; } catch (Exception Ex) { objModel.Status = "0"; objModel.Message = Ex.Message; objLog.ErrorLogFile("GetChildDealerships", Ex.Message, path, errorlogtf); return objModel; } } /// /// To get dealer complete detail /// /// dealer info /// status and dealer complete detail public DealerDetailModel GetDealerDetailDealerIdWise(DealerDetailModel model) { DealerDetailModel objModel = new DealerDetailModel(); List objList = new List(); try { DataSet ds = new DataSet(); objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("indealer_id", model.DealerId); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_dealer_service_engg_dealer_id_wise"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { foreach (string dealerid in ds.Tables[0].AsEnumerable().Select(s => s.Field("dealer_id")).Distinct()) { objModel.DealerId = dealerid; objModel.DealerCity = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("dealer_city")).First(); objModel.DealerContactNo = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("dealer_contact_number1")).First(); objModel.DealerDealerDefaultLattitude = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("dealer_dealer_default_lattitude")).First(); objModel.DealerDealerDefaultLongitude = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("dealer_dealer_default_longitude")).First(); objModel.DealerDealerName = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("dealer_dealer_name")).First(); objModel.DealerOrganizationId = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("dealer_organization_id")).First(); objModel.DealerState = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("dealer_state")).First(); objModel.OrganizationAlias = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("_organization_organization_alias")).First(); objModel.OrganizationCity = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("_organization_organization_city")).First(); objModel.OrganizationColor = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("_organization_organization_color")).First(); objModel.OrganizationCountry = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("_organization_organization_country")).First(); objModel.OrganizationDepth = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("_organization_organization_depth")).First(); objModel.OrganizationDescription = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("_organization_organization_description")).First(); //objModel.OrganizationId = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("dealer_state")).First(); objModel.OrganizationName = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("_organization_name")).First(); objModel.OrganizationPath = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("_organization_organization_path")).First(); objModel.OrganizationRegion = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("_organization_organization_region")).First(); objModel.OrganizationState = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("_organization_organization_state")).First(); objModel.DealerContactNo2 = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("dealer_contact_number2")).First(); objModel.IsDeleted = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => s.Field("dealer_isdeleted")).First(); objModel.VanList = ds.Tables[0].AsEnumerable().Where(w => w.Field("dealer_id").Equals(dealerid)).Select(s => new VanDetailModel { ServiceEngineerAlias = s.Field("service_engineer_alias"), ServiceEngineerApplicationLicenseKey = s.Field("service_engineer_application_license_key"), ServiceEngineerContactNumber = s.Field("service_engineer_contact_number"), ServiceEngineerDeviceAlias = s.Field("service_engineer_device_alias"), ServiceEngineerId = s.Field("service_engineer_id"), ServiceEngineerImeiNumber = s.Field("service_engineer_imei_number"), ServiceEngineerMobileApplicationBlocked = s.Field("service_engineer_mobile_application_blocked"), ServiceEngineerName = s.Field("_service_engineer_name"), ServiceEngineerPinPassword = s.Field("service_engineer_pin_password"), ServiceEngineerVanServiceEngineerId = s.Field("service_engineer_van_service_engineer_id"), ServiceEngineerVanVanId = s.Field("service_engineer_van_van_id"), VanAlias = s.Field("van_alias"), VanCity = s.Field("van_city"), VanState = s.Field("van_state"), VanDefaultLatitude = s.Field("van_van_default_lattitude"), VanDefaultLongitude = s.Field("van_van_default_longitude"), VanId = s.Field("van_id"), VanModelName = s.Field("van_van_model"), VanregisteredAs = s.Field("van_van_registered_as"), VanRegistrationNo = s.Field("van_registration_number"), VanIsVisitedInterState = s.Field("van_is_visited_interstate"), VanRoutId = s.Field("_van_route_id"), IsDeletedVan = s.Field("_van_is_deleted"), IsDeletedServiceEngg = s.Field("service_engineer_isdeleted"), IsVanRelease = s.Field("_is_released"), }).ToList(); } } objModel.Status = "1"; } else { objModel.Status = "0"; objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objModel; } catch (Exception Ex) { objModel.Status = "0"; objModel.Message = Ex.Message; objLog.ErrorLogFile("GetDealerDetailDealerIdWise", Ex.Message, path, errorlogtf); return objModel; } } /// /// To insert or update dealer detail /// /// deaelr details /// status public DealerDetailModel InsertOrUpdateDealerDetail(DealerDetailModel model) { DealerDetailModel objModel = new DealerDetailModel(); List objList = new List(); try { DataSet ds = new DataSet(); objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { NpgsqlParameter[] nSqlParam = new NpgsqlParameter[11]; nSqlParam[0] = new NpgsqlParameter("inid", model.DealerId); nSqlParam[1] = new NpgsqlParameter("inorganization_id", model.DealerOrganizationId); nSqlParam[2] = new NpgsqlParameter("indealer_name", model.DealerDealerName); nSqlParam[3] = new NpgsqlParameter("incity", model.DealerCity); nSqlParam[4] = new NpgsqlParameter("instate", model.DealerState); nSqlParam[5] = new NpgsqlParameter("indealer_default_lattitude", model.DealerDealerDefaultLattitude); nSqlParam[6] = new NpgsqlParameter("indealer_default_longitude", model.DealerDealerDefaultLongitude); nSqlParam[7] = new NpgsqlParameter("inisdeleted", model.IsDeleted); nSqlParam[8] = new NpgsqlParameter("incontact_number1", model.DealerContactNo); nSqlParam[9] = new NpgsqlParameter("incontact_number2", model.DealerContactNo2); nSqlParam[10] = new NpgsqlParameter("inaction", model.Operation); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_or_update_dealer"], nSqlParam); // For Telematics Use // NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_sync_dealer_details"]); model.DealerId = ds.Tables[0].Rows[0][0].ToString(); if (model.DealerId != null && model.DealerId.Trim().ToUpper() != "DUPLICATE") { string result = InsertOrUpdateVanDetail(model); if (result == "1") { objModel.Status = "1"; } else { objModel.Status = "2"; objModel.Message = result; } } else { objModel.Status = "3"; objModel.Message = "DUPLICATE"; } } else { objModel.Status = "0"; objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objModel; } catch (Exception Ex) { objModel.Status = "0"; objModel.Message = Ex.Message; objLog.ErrorLogFile("InsertOrUpdateDealerDetail", Ex.Message, path, errorlogtf); return objModel; } } /// /// To insert or update van detail /// /// van detail /// status public string InsertOrUpdateVanDetail(DealerDetailModel model) { string result = "0"; try { if (model.VanList == null) { } else { for (int i = 0; i < model.VanList.Count; i++) { NpgsqlParameter[] nSqlParam = new NpgsqlParameter[20]; nSqlParam[0] = new NpgsqlParameter("indealer_id", model.DealerId); nSqlParam[1] = new NpgsqlParameter("invan_id", model.VanList[i].VanId); nSqlParam[2] = new NpgsqlParameter("inalias", model.VanList[i].VanAlias); nSqlParam[3] = new NpgsqlParameter("invan_default_lattitude", model.VanList[i].VanDefaultLatitude); nSqlParam[4] = new NpgsqlParameter("invan_default_longitude", model.VanList[i].VanDefaultLongitude); nSqlParam[5] = new NpgsqlParameter("incity", model.VanList[i].VanCity); nSqlParam[6] = new NpgsqlParameter("state", model.VanList[i].VanState); nSqlParam[7] = new NpgsqlParameter("invan_model", model.VanList[i].VanModelName); nSqlParam[8] = new NpgsqlParameter("inregistration_number", model.VanList[i].VanRegistrationNo); nSqlParam[9] = new NpgsqlParameter("invan_registered_as", model.VanList[i].VanregisteredAs); nSqlParam[10] = new NpgsqlParameter("inisdeleted_van", model.VanList[i].IsDeletedVan); nSqlParam[11] = new NpgsqlParameter("inroute_id", null); nSqlParam[12] = new NpgsqlParameter("inis_visited_interstate", model.VanList[i].VanIsVisitedInterState); nSqlParam[13] = new NpgsqlParameter("inservice_engg_id", model.VanList[i].ServiceEngineerId); nSqlParam[14] = new NpgsqlParameter("inservice_engineer_name", model.VanList[i].ServiceEngineerName); nSqlParam[15] = new NpgsqlParameter("inservice_engineer_alias", model.VanList[i].ServiceEngineerAlias); nSqlParam[16] = new NpgsqlParameter("incontact_number", model.VanList[i].ServiceEngineerContactNumber); nSqlParam[17] = new NpgsqlParameter("inmobile_application_blocked", model.VanList[i].ServiceEngineerMobileApplicationBlocked); nSqlParam[18] = new NpgsqlParameter("inisdeleted_service_engg", model.VanList[i].IsDeletedServiceEngg); if (model.VanList[i].VanId == null || model.VanList[i].VanId == "") { nSqlParam[19] = new NpgsqlParameter("inaction", "INSERT"); } else { nSqlParam[19] = new NpgsqlParameter("inaction", "UPDATE"); DataSet dsRemoveServiceDeiceCredential = new DataSet(); if (!model.VanList[i].IsVanRelease) { NpgsqlParameter[] nSqlParamServiceDeiceCredential = new NpgsqlParameter[1]; nSqlParamServiceDeiceCredential[0] = new NpgsqlParameter("inapplication_license_key", model.VanList[i].ServiceEngineerApplicationLicenseKey); dsRemoveServiceDeiceCredential = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_release_service_engg_device_credentials"], nSqlParamServiceDeiceCredential); } } DataSet ds = new DataSet(); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_or_update_service_engg_and_van"], nSqlParam); if(i== model.VanList.Count-1) { } // For Telematics Use // NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_sync_van_details"]); // NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_sync_service_engineer_details"]); // NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_sync_service_engineer_van_details"]); // NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_sync_dealer_van_details"]); if (ds.Tables[0].Rows[0][0].ToString() == "0") { result = "Van already registered"; return result; } else { result = "1"; } } } } catch (Exception Ex) { result = Ex.Message; objLog.ErrorLogFile("InsertOrUpdateVanDetail", Ex.Message, path, errorlogtf); } return result; } /// /// To insert Principle dealer detail /// /// principal deaelr details /// status public DealerDetailModel InsertOrUpdatePrincipleDealerDetail(DealerDetailModel model) { DealerDetailModel objModel = new DealerDetailModel(); try { DataSet ds = new DataSet(); objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { // splitting dealer child list and storing them in array string[] dealerChildList = model.DealerChildList.Split(','); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[14]; nSqlParam[0] = new NpgsqlParameter("inid", model.DealerId); nSqlParam[1] = new NpgsqlParameter("in_principal_dealer_name", model.PrincipalDealerName); nSqlParam[2] = new NpgsqlParameter("inlast_name", model.DealerDealerName); nSqlParam[3] = new NpgsqlParameter("inuser_name", model.UserName); nSqlParam[4] = new NpgsqlParameter("indesignation", model.Designation); nSqlParam[5] = new NpgsqlParameter("inorganization_id", model.DealerOrganizationId); nSqlParam[6] = new NpgsqlParameter("incity", model.DealerCity); nSqlParam[7] = new NpgsqlParameter("instate", model.DealerState); nSqlParam[8] = new NpgsqlParameter("is_deleted", model.IsDeleted); nSqlParam[9] = new NpgsqlParameter("incontact_number", model.DealerContactNo); nSqlParam[10] = new NpgsqlParameter("is_parent", model.IsParent); nSqlParam[11] = new NpgsqlParameter("child_id", dealerChildList); nSqlParam[12] = new NpgsqlParameter("inaction", model.Operation); nSqlParam[13] = new NpgsqlParameter("intimezone_id", model.TimeZoneId); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_or_update_principal_dealer"], nSqlParam); // For Telematics Use // NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_sync_dealer_details"]); // NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_sync_users"]); string dealerId = ds.Tables[0].Rows[0][0].ToString(); if (!String.IsNullOrEmpty(dealerId)) { objModel.Status = "1"; objModel.Message = dealerId; } } else { objModel.Status = "0"; objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objModel; } catch (Exception Ex) { objModel.Status = "0"; objModel.Message = Ex.Message; objLog.ErrorLogFile("InsertOrUpdatePrincipleDealerDetail", Ex.Message, path, errorlogtf); return objModel; } } /// /// To check Van and dealer exist or not by mob no. and van reg no. /// /// DealerDetailModel(mob and reg no.) /// type is a string contain like (van, dealer) /// public DealerDetailModel CheckDealerOrVanStatusExistOrNot(DealerDetailModel model, string type) { DealerDetailModel objModel = new DealerDetailModel(); try { DataSet ds = new DataSet(); objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; if (type == "van") { nSqlParam[0] = new NpgsqlParameter("inregistration_number", model.DealerContactNo); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_van_registration_no_exists_or_not"], nSqlParam); } else if (type == "dealer") { nSqlParam[0] = new NpgsqlParameter("inmobile_no", model.DealerContactNo); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_dealer_exists_or_not_by_mob_no_wise"], nSqlParam); } if (ds.Tables[0].Rows[0][0].ToString() == "0") { objModel.Status = "1"; } else { objModel.Status = "2"; } } else { objModel.Status = "0"; objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objModel; } catch (Exception Ex) { objModel.Status = "0"; objModel.Message = Ex.Message; objLog.ErrorLogFile("CheckDealerOrVanStatusExistOrNot", Ex.Message, path, errorlogtf); return objModel; } } /// /// To get dealer details organization wise. /// /// dealer and organization info /// status and dealer details organization wise public List GetDealerListUserWiseOrgWise(DealerModelList obj) { List objModel = new List(); try { DataSet ds = new DataSet(); objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(obj.Token)) { NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2]; nSqlParam[0] = new NpgsqlParameter("inid", obj.Id); nSqlParam[1] = new NpgsqlParameter("inorg", obj.DealerOrganizationId); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dealer_user_org_wise"], nSqlParam); objModel = ds.Tables[0].AsEnumerable().Select(s => new DealerModelList { DealerId = s.Field("dealer_id"), DealerOrganizationId = s.Field("dealer_organization_id"), DealerDealerName = s.Field("dealer_dealer_name"), DealerCity = s.Field("dealer_city"), DealerState = s.Field("dealer_state"), DealerDealerDefaultLattitude = s.Field("dealer_dealer_default_lattitude"), DealerDealerDefaultLongitude = s.Field("dealer_dealer_default_longitude"), DealerOrgName = s.Field("_organization_name"), OrgPath = s.Field("_organization_organization_path"), Region = s.Field("_organization_organization_region"), }).ToList(); objModel.RemoveAll(item => String.IsNullOrEmpty(item.DealerId)); return objModel; } else { return objModel; } } catch (Exception ex) { objLog.ErrorLogFile("GetDealerListUserWiseOrgWise", ex.Message, path, errorlogtf); return objModel; } } public DealerOutputModel GetDealerExistOrNot(DealerInputModel model) { DealerOutputModel objModel = new DealerOutputModel(); try { DataSet ds = new DataSet(); objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("indealer_code", model.DealerCode); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_dealer_exist_or_not"], nSqlParam); if (ds.Tables[0].Rows[0][0].ToString() == "0") { objModel.Message = "Dealer Does Not Exist."; objModel.Status = "1"; } else if (ds.Tables[0].Rows[0][0].ToString() == "1") { objModel.Message = "Dealer Exist."; objModel.Status = "2"; } } else { objModel.Status = "0"; objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objModel; } catch (Exception Ex) { objModel.Status = "0"; objModel.Message = Ex.Message; objLog.ErrorLogFile("GetChildDealerships", Ex.Message, path, errorlogtf); return objModel; } } #region dealer list for dealer wise dashboard /// /// Get dealer list with user id of dealer for dealer wise dashboard. /// /// login user info /// dealer list with dealer's user id public List GetDealerListWithUserId(UserModel obj) { List objModel = new List(); try { DataSet ds = new DataSet(); objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(obj.Token)) { NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inuser_id", obj.UserId); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dealer_user_id"], nSqlParam); objModel = ds.Tables[0].AsEnumerable().Select(s => new DealerUserIdList { DealerId = s.Field("_dealer_code"), DealerOrganizationId = s.Field("_dealer_organization_id"), //DealerDealerName = s.Field("_dealer_first_name") + " " + s.Field("_dealer_last_name"), DealerDealerName = s.Field("_dealer_name"), dealer_first_name = s.Field("_dealer_first_name"), dealer_last_name = s.Field("_dealer_last_name"), dealer_user_id = s.Field("_dealer_user_id"), }).ToList(); objModel.RemoveAll(item => String.IsNullOrEmpty(Convert.ToString(item.dealer_user_id))); return objModel; } else { return objModel; } } catch (Exception ex) { objLog.ErrorLogFile("GetDealerListWithUserId", ex.Message, path, errorlogtf); return objModel; } } #endregion /// /// To get van and dealer list. /// /// van and dealer info /// van and dealer list public List GetDealerVanListStateWise(DealerVanListStateWise model) { List objListModel = new List(); DealerVanListStateWise objModel = new DealerVanListStateWise(); try { objModel.Status = "1"; objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { DataSet ds = new DataSet(); DataSet dsTracking = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[4]; nSqlParam[0] = new NpgsqlParameter("inuser_id ", model.UserId); nSqlParam[1] = new NpgsqlParameter("instate_name ", model.StateName); nSqlParam[2] = new NpgsqlParameter("inlimit ", model.Limit); nSqlParam[3] = new NpgsqlParameter("dealer_id_val ", model.DealerId); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_dealer_list_state_dealer_wise"], nSqlParam); string deviceAlias = ""; for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { if (ds.Tables[0].Rows[i]["type"].ToString().Trim().ToLower() == "van") { if (i == 0) { deviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString(); } else { deviceAlias = deviceAlias + "," + ds.Tables[0].Rows[i]["device_alias"].ToString(); } } } //Get device tracking log nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("indevice_alias", deviceAlias); dsTracking = NpgSqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings["Vecv_Tracking"].ToString(), CommandType.StoredProcedure, ConfigurationManager.AppSettings["vecv_log_sp_get_current_log_devices_user_wise"], nSqlParam); List listTracking = new List(); listTracking = dsTracking.Tables[0].AsEnumerable().Select(s => new TrackingModel { LogId = s.Field("_log_id"), DeviceAlias = s.Field("_device_alias"), Latitude = s.Field("_latitude"), Longitude = s.Field("_longitude"), LogTime = s.Field("_log_time") != null ? Convert.ToDateTime(s.Field("_log_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("_log_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), IsConnected = s.Field("_device_status"), Xcordinate = s.Field("_x_coordinate"), Ycordinate = s.Field("_y_coordinate"), Zcordinate = s.Field("_z_coordinate"), CreationTime = s.Field("_creation_time") != null ? Convert.ToDateTime(s.Field("_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), DeviceStatus = s.Field("_device_status") }).ToList(); if (ds.Tables[0].Rows.Count > 0) { for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { objModel = new DealerVanListStateWise(); //get dealer details. if (ds.Tables[0].Rows[i]["type"].ToString().Trim().ToLower() == "dealer") { objModel.DealerVanId = ds.Tables[0].Rows[i]["dealer_van_id"].ToString(); objModel.DealerVanName = ds.Tables[0].Rows[i]["dealer_van_name"].ToString(); objModel.DealerVanLattitude = ds.Tables[0].Rows[i]["dealer_van_lattitude"].ToString(); objModel.DealerVanLongitude = ds.Tables[0].Rows[i]["dealer_van_longitude"].ToString(); objModel.DealerVanCity = ds.Tables[0].Rows[i]["dealer_van_city"].ToString(); objModel.DealerVanState = ds.Tables[0].Rows[i]["dealer_van_state"].ToString(); objModel.DeviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString(); objModel.NoOfAssignedTicket = Convert.ToInt64(ds.Tables[0].Rows[i]["no_of_assigned_ticket"].ToString()); objModel.Type = ds.Tables[0].Rows[i]["type"].ToString(); objModel.RemainingTime = ds.Tables[0].Rows[i]["remaining_time"].ToString(); objModel.DeviceStatus = "False"; objModel.DealerOrVanContactNo = ds.Tables[0].Rows[i]["contact_number"].ToString(); objModel.DealerSCode = ds.Tables[0].Rows[i]["dealer_id"].ToString(); } else { //get van details and bind with tracking log device alias wise. objModel.DealerVanId = ds.Tables[0].Rows[i]["dealer_van_id"].ToString(); objModel.DealerVanName = ds.Tables[0].Rows[i]["dealer_van_name"].ToString(); objModel.DealerVanLattitude = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString())) .Select(s => s.Latitude).FirstOrDefault() == null ? ds.Tables[0].Rows[i]["dealer_van_lattitude"].ToString() : listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString())) .Select(s => s.Latitude).FirstOrDefault(); objModel.DealerVanLongitude = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString())) .Select(s => s.Longitude).FirstOrDefault() == null ? ds.Tables[0].Rows[i]["dealer_van_longitude"].ToString() : listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString())) .Select(s => s.Longitude).FirstOrDefault(); ; objModel.DeviceStatus = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString())) .Select(s => s.DeviceStatus).FirstOrDefault() == null ? "False" : listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString())) .Select(s => s.DeviceStatus).FirstOrDefault() ; objModel.DealerVanCity = ds.Tables[0].Rows[i]["dealer_van_city"].ToString(); objModel.DealerVanState = ds.Tables[0].Rows[i]["dealer_van_state"].ToString(); objModel.DeviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString(); objModel.NoOfAssignedTicket = Convert.ToInt64(ds.Tables[0].Rows[i]["no_of_assigned_ticket"].ToString()); objModel.Type = ds.Tables[0].Rows[i]["type"].ToString(); objModel.RemainingTime = ds.Tables[0].Rows[i]["remaining_time"].ToString(); objModel.DealerSCode = ds.Tables[0].Rows[i]["dealer_id"].ToString(); objModel.DealerOrVanContactNo = ds.Tables[0].Rows[i]["contact_number"].ToString(); } objListModel.Add(objModel); } } } else { objModel.Status = "0"; objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); return objListModel; } return objListModel; } catch (Exception Ex) { objModel.Status = "0"; objModel.Message = Ex.Message; objLog.ErrorLogFile("dealer repositoyry GetVanDealerListStateWise", Ex.Message, path, errorlogtf); throw Ex; } } /// /// To check Van exist or not by mob no. /// /// DealerDetailModel(mob no.) /// type is a string contain like (van, dealer) /// public DealerDetailModel CheckVanContactDetailsExistOrNot(DealerDetailModel model, string type) { DealerDetailModel objModel = new DealerDetailModel(); try { DataSet ds = new DataSet(); objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { if (type == "van") { string strPar = model.VanContactNo; ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.Text, "Select Count(*) from _service_engineer where contact_number=('"+ strPar+ "')"); } if (ds.Tables[0].Rows[0][0].ToString() == "0") { objModel.Status = "1"; } else { objModel.Status = "2"; } } else { objModel.Status = "0"; objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objModel; } catch (Exception Ex) { objModel.Status = "0"; objModel.Message = Ex.Message; objLog.ErrorLogFile("CheckVanContactDetailsExistOrNot", Ex.Message, path, errorlogtf); return objModel; } } public string CheckVanContactDetailsExistOrNotIsdeleted(DealerDetailModel model, string type) { DealerDetailModel objModel = new DealerDetailModel(); string strmessage = ""; string strdealer = ""; try { DataSet ds = new DataSet(); objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { if (type == "van") { string strPar = model.VanContactNo; // ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.Text, "Select Count(*) from _service_engineer where contact_number=('"+ strPar+ "')"); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("in_VanContactNo", model.VanContactNo); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_van_contact_number"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { strdealer = ds.Tables[0].Rows[0]["_dealer_name"].ToString(); } if (ds.Tables[0].Rows[0][0].ToString() == "") { strmessage = ""; } else { strmessage = "contact number already exist with " + strdealer; } } } else { objModel.Status = "0"; objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } } catch (Exception Ex) { objModel.Status = "0"; objModel.Message = Ex.Message; objLog.ErrorLogFile("CheckVanContactDetailsExistOrNotIsdeleted", Ex.Message, path, errorlogtf); // return objModel; } return strmessage; } public string updateWMAppVersion(string userid, string app_version) { string strsucess = ""; try { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2]; nSqlParam[0] = new NpgsqlParameter("inuserid ", userid); nSqlParam[1] = new NpgsqlParameter("inappversion ", app_version); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_app_version_WMwise"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { string appversion = Convert.ToString(ds.Tables[0].Rows[0]["sp_update_app_version_WMwise"]); if (appversion == "" || appversion == null) { strsucess = "Invalid userid"; } else { strsucess = "success"; } } } catch (Exception Ex) { objLog.ErrorLogFile("UpdateAppVersion", Ex.Message, path, errorlogtf); //return objServiceEngRegistrationRepsonseModel; } return strsucess; } public List GetTileDashboardDataSetWM(DashboardModel model) { List dashboardDataSetVecv = new List(); DashboardModel dashboardModel = new DashboardModel(); try { if (model.mobileNumber == "") { model.mobileNumber = null; } objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[4]; nSqlParam[0] = new NpgsqlParameter("inumobileNumber", model.mobileNumber); nSqlParam[1] = new NpgsqlParameter("instart_date ", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinutes))); nSqlParam[2] = new NpgsqlParameter("inend_date ", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinutes))); nSqlParam[3] = new NpgsqlParameter("indealercodes ", model.dealerCodes); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dashboard_tile_data_wm_User"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { dashboardDataSetVecv = ds.Tables[0].AsEnumerable().Select(s => new DashboardModel { Key = s.Field("_key"), KeyName = s.Field("_key_name") == null ? "-" : s.Field("_key_name"), KeyValue = s.Field("_key_value") == null ? "-" : s.Field("_key_value"), Status = "1" }).ToList(); } } else { dashboardModel.Status = "0"; dashboardModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); dashboardDataSetVecv.Add(dashboardModel); } return dashboardDataSetVecv; } catch (Exception ex) { dashboardModel.Status = "0"; dashboardModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + ex.Message; dashboardDataSetVecv.Add(dashboardModel); this.objLog.ErrorLogFile("GetTileDashboardDataSetWM", ex.Message, this.path, this.errorlogtf); return dashboardDataSetVecv; } } public RegistrationResponseModel RegisterWMDevice(ServiceEngineerRegistrationRequestModel model) { RegistrationResponseModel oRegistrationResponseModel = new RegistrationResponseModel(); try { DataSet ds = new DataSet(); if (model.PushNotificationBit != 1) { model.PushNotificationBit = 0; } NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inapplication_license_key", model.RegistrationNo); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_mobile_users_device_resitration_wm"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { oRegistrationResponseModel.Status = "1"; oRegistrationResponseModel.Massage = ConfigurationManager.AppSettings["1"].ToString(); oRegistrationResponseModel.Token = ConfigurationManager.AppSettings["Token"].ToString(); oRegistrationResponseModel.UserId = ds.Tables[0].Rows[0]["_user_id"].ToString(); oRegistrationResponseModel.UserName = ds.Tables[0].Rows[0]["_user_name"].ToString(); oRegistrationResponseModel.City = ds.Tables[0].Rows[0]["_city"].ToString(); oRegistrationResponseModel.State = ds.Tables[0].Rows[0]["_state"].ToString(); oRegistrationResponseModel.Contact1 = ds.Tables[0].Rows[0]["_contact_number1"].ToString(); oRegistrationResponseModel.Contact2 = ds.Tables[0].Rows[0]["_contact_number2"].ToString(); oRegistrationResponseModel.Address = ds.Tables[0].Rows[0]["_address"].ToString(); oRegistrationResponseModel.Email = ds.Tables[0].Rows[0]["_emails"].ToString(); oRegistrationResponseModel.DeviceAlias = ds.Tables[0].Rows[0]["_device_alias"].ToString(); oRegistrationResponseModel.UserType = ds.Tables[0].Rows[0]["_user_type"].ToString(); oRegistrationResponseModel.IsPasswordExist = ds.Tables[0].Rows[0]["_is_password_exist"].ToString(); } else { oRegistrationResponseModel.Status = "0"; oRegistrationResponseModel.Massage = ConfigurationManager.AppSettings["0"].ToString(); } return oRegistrationResponseModel; } catch (Exception Ex) { //oRegistrationResponseModel = new ServiceEngineerRegistrationResponseModel(); oRegistrationResponseModel.Status = "0"; oRegistrationResponseModel.Massage = ConfigurationManager.AppSettings["0"].ToString() + Ex.Message; objLog.ErrorLogFile("RegisterKamOrDealerDevice", Ex.Message, path, errorlogtf); return oRegistrationResponseModel; } } public ServiceEngineerRegistrationResponseModel LoginWMUser(ServiceEngineerRegistrationRequestModel model) { ServiceEngineerRegistrationResponseModel objServiceEngRegistrationRepsonseModel = new ServiceEngineerRegistrationResponseModel(); try { objServiceEngRegistrationRepsonseModel = new ServiceEngineerRegistrationResponseModel(); objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2]; nSqlParam[0] = new NpgsqlParameter("inuser_name ", model.RegistrationNo); nSqlParam[1] = new NpgsqlParameter("inpin_password ", model.DevicePin); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_login_wm_user"], nSqlParam); if (ds.Tables[0].Rows[0]["sp_login_wm_user"].ToString() == "1") { objServiceEngRegistrationRepsonseModel.Status = "1"; objServiceEngRegistrationRepsonseModel.Massage = ConfigurationManager.AppSettings["PwdUpdate"].ToString(); } else if (ds.Tables[0].Rows[0]["sp_login_wm_user"].ToString() == "2") { objServiceEngRegistrationRepsonseModel.Status = "0"; objServiceEngRegistrationRepsonseModel.Massage = ConfigurationManager.AppSettings["DeviceWrongPassword"].ToString(); } else { objServiceEngRegistrationRepsonseModel.Status = "0"; objServiceEngRegistrationRepsonseModel.Massage = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString(); } } else { objServiceEngRegistrationRepsonseModel.Status = "0"; objServiceEngRegistrationRepsonseModel.Massage = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objServiceEngRegistrationRepsonseModel; } catch (Exception Ex) { objServiceEngRegistrationRepsonseModel = new ServiceEngineerRegistrationResponseModel(); objServiceEngRegistrationRepsonseModel.Status = "0"; objServiceEngRegistrationRepsonseModel.Massage = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; objLog.ErrorLogFile("LoginWMUser", Ex.Message, path, errorlogtf); return objServiceEngRegistrationRepsonseModel; } } public string GetWMAppVersion(string userid, string token) { string strsucess = ""; try { objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(token)) { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inuserid ", userid); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_app_version_WMwise"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { strsucess = Convert.ToString(ds.Tables[0].Rows[0]["sp_app_version_WMwise"]); } } } catch (Exception Ex) { // write error log into file objLog.ErrorLogFile("GetWMAppVersion", Ex.Message, path, errorlogtf); } return strsucess; } public RegistrationResponseModel GetUserDetailWMWise(ServiceEngineerRegistrationRequestModel model,string otp) { RegistrationResponseModel objRegistrationResponseModel = new RegistrationResponseModel(); try { objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inusername ", model.RegistrationNo); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_user_details_wm_wise"], nSqlParam); objRegistrationResponseModel.Status = "1"; objRegistrationResponseModel.UserName = ds.Tables[0].Rows[0]["_auth_engine_id"].ToString(); objRegistrationResponseModel.City = ds.Tables[0].Rows[0]["_city"].ToString(); objRegistrationResponseModel.UserType = ds.Tables[0].Rows[0]["_designation"].ToString(); objRegistrationResponseModel.State = ds.Tables[0].Rows[0]["_state"].ToString(); GlobalRepository objGlobalRepository = new GlobalRepository(_connStr); string msgWMOTP = System.Web.Configuration.WebConfigurationManager.AppSettings["msgWMLoginOTP"].ToString(); // set content in msg msgWMOTP = string.Format(msgWMOTP,otp); string url = System.Web.Configuration.WebConfigurationManager.AppSettings["SmsUrl"].ToString(); // string KamSms = string.Format(url, "9993778106", msgWMOTP); string KamSms = string.Format(url, model.RegistrationNo, msgWMOTP); objGlobalRepository.SendMessage(KamSms); } else { objRegistrationResponseModel.Status = "0"; objRegistrationResponseModel.Massage = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objRegistrationResponseModel; } catch (Exception Ex) { // write error log into file objRegistrationResponseModel.Status = "0"; objRegistrationResponseModel.Massage = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message; objLog.ErrorLogFile("GetUserDetailWMWise", Ex.Message, path, errorlogtf); return objRegistrationResponseModel; } } public List GetWMOpenTicketDetail(DealerOpenTicketDetailModel model) { DealerOpenTicketDetailModel objModel = new DealerOpenTicketDetailModel(); List objList = new List(); try { DataSet ds = new DataSet(); objAuthorization = new AuthenticationRepository(); if(model.MobileNumber == "") { model.MobileNumber = null; } if (model.DealerCodes == "") { model.DealerCodes = null; } if (objAuthorization.AuthenticateDevice(model.Token)) { NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2]; nSqlParam[0] = new NpgsqlParameter("inmobile_number", model.MobileNumber); nSqlParam[1] = new NpgsqlParameter("indealercode", model.DealerCodes); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_WM_open_ticket_details"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { objList = ds.Tables[0].AsEnumerable().Select(s => new DealerOpenTicketDetailModel { 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 = s.Field("creation_time") != null ? Convert.ToDateTime(s.Field("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), LastModifiedBy = s.Field("last_modified_by"), LastModifiedTime = s.Field("last_modified_time") != null ? Convert.ToDateTime(s.Field("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), BreakdownLocation = s.Field("breakdown_location"), DreakdownLongitude = 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 = s.Field("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : 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"), DefaultSlTtime = s.Field("default_sla_time"), SlaMissedReason = s.Field("sla_missed_reason"), SuggestionComment = s.Field("suggestion_comment"), TicketStatusAlias = s.Field("ticket_status_alias"), JobCompleteResponseTime = s.Field("default_col_1"), DefaultCol2 = s.Field("default_col_2"), DefaultCol3 = s.Field("default_col_3"), TicketIdAlias = s.Field("_ticket_id_alias"), TollFreeNoSource = s.Field("_toll_free_no_source"), DealerName = s.Field("_dealer_name"), }).ToList(); } objModel.Status = "1"; } else { objModel.Status = "0"; objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objList; } catch (Exception Ex) { objModel.Status = "0"; objModel.Message = Ex.Message; objLog.ErrorLogFile("GetDealerOpenTicketDetail", Ex.Message, path, errorlogtf); return objList; } } public List GetSyncTicketDetail_WM(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(); if(model.mobileNumber == "") { model.mobileNumber = null; } NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3]; nSqlParam[0] = new NpgsqlParameter("inmobile_number", model.mobileNumber); nSqlParam[1] = new NpgsqlParameter("indealercode", model.DealerCode); nSqlParam[2] = 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_WM"], 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; } } public List GetWMCloseTicketDetail(DealerCloseTicketDetailModel model) { DealerCloseTicketDetailModel objModel = new DealerCloseTicketDetailModel(); List objList = new List(); try { DataSet ds = new DataSet(); objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dealer_close_ticket_details"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { objList = ds.Tables[0].AsEnumerable().Select(s => new DealerCloseTicketDetailModel { 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 = s.Field("creation_time") != null ? Convert.ToDateTime(s.Field("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), LastModifiedBy = s.Field("last_modified_by"), LastModifiedTime = s.Field("last_modified_time") != null ? Convert.ToDateTime(s.Field("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), BreakdownLocation = s.Field("breakdown_location"), DreakdownLongitude = 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 = s.Field("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : 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"), DefaultSlTtime = s.Field("default_sla_time"), SlaMissedReason = s.Field("sla_missed_reason"), SuggestionComment = s.Field("suggestion_comment"), TicketStatusAlias = s.Field("ticket_status_alias"), JobCompleteResponseTime = s.Field("default_col_1"), DefaultCol2 = s.Field("default_col_2"), DefaultCol3 = s.Field("default_col_3"), TicketIdAlias = s.Field("_ticket_id_alias"), TollFreeNoSource = s.Field("_toll_free_no_source") }).ToList(); } objModel.Status = "1"; } else { objModel.Status = "0"; objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objList; } catch (Exception Ex) { objModel.Status = "0"; objModel.Message = Ex.Message; objLog.ErrorLogFile("GetDealerCloseTicketDetail", Ex.Message, path, errorlogtf); return objList; } } public TiatnResponseModel GetTitanDealerDetail(TiatnResponseModel model) { TiatnResponseModel oTiatnResponseModel = new TiatnResponseModel(); try { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("indealer_code", model.DealerCode.Trim()); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_allocated_ticket"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { oTiatnResponseModel.Status = "1"; oTiatnResponseModel.istitan = ds.Tables[0].Rows[0]["_is_titan"].ToString(); oTiatnResponseModel.Count = ds.Tables[0].Rows[0]["_count"].ToString(); } else { oTiatnResponseModel.Status = "0"; oTiatnResponseModel.Message = ConfigurationManager.AppSettings["0"].ToString(); } return oTiatnResponseModel; } catch (Exception Ex) { //oRegistrationResponseModel = new ServiceEngineerRegistrationResponseModel(); oTiatnResponseModel.Status = "0"; // oTiatnResponseModel.Massage = ConfigurationManager.AppSettings["0"].ToString() + Ex.Message; objLog.ErrorLogFile("GetTitanDealerDetail", Ex.Message, path, errorlogtf); return oTiatnResponseModel; } } public string updateAllocationStatus(TiatnAllocationModel model) { string strSuccess = ""; try { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2]; nSqlParam[0] = new NpgsqlParameter("inticket_id", model.ticketid_alias); nSqlParam[1] = new NpgsqlParameter("inallocatedstatus", model.Status); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_allocated_status"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { strSuccess = "Success"; } else { strSuccess = "Fail"; } return strSuccess; } catch (Exception Ex) { //oRegistrationResponseModel = new ServiceEngineerRegistrationResponseModel(); // oTiatnResponseModel.Massage = ConfigurationManager.AppSettings["0"].ToString() + Ex.Message; objLog.ErrorLogFile("updateAllocationStatus", Ex.Message, path, errorlogtf); return strSuccess; } } public List GetTitanticketList(TiatnResponseModel model) { // DealerOpenTicketDetailModel objModel = new DealerOpenTicketDetailModel(); List objList = new List(); try { DataSet ds = new DataSet(); objAuthorization = new AuthenticationRepository(); if (objAuthorization.AuthenticateDevice(model.Token)) { NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("indealer_id", model.DealerCode); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dealer_titan_ticket_details"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { objList = ds.Tables[0].AsEnumerable().Select(s => new TitanTicketDealerModel { 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 = s.Field("creation_time") != null ? Convert.ToDateTime(s.Field("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), LastModifiedBy = s.Field("last_modified_by"), LastModifiedTime = s.Field("last_modified_time") != null ? Convert.ToDateTime(s.Field("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), BreakdownLocation = s.Field("breakdown_location"), DreakdownLongitude = 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 = s.Field("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : 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"), // DefaultSlTtime = s.Field("default_sla_time"), SlaMissedReason = s.Field("sla_missed_reason"), SuggestionComment = s.Field("suggestion_comment"), TicketStatusAlias = s.Field("ticket_status_alias"), JobCompleteResponseTime = s.Field("default_col_1"), DefaultCol2 = s.Field("default_col_2"), DefaultCol3 = s.Field("default_col_3"), TicketIdAlias = s.Field("_ticket_id_alias"), TollFreeNoSource = s.Field("_toll_free_no_source") }).ToList(); } } else { // objModel.Status = "0"; // objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString(); } return objList; } catch (Exception Ex) { // objModel.Status = "0"; // objModel.Message = Ex.Message; objLog.ErrorLogFile("GetDealerOpenTicketDetail", Ex.Message, path, errorlogtf); return objList; } } //Added by Mayuri on 23/07/2025 public Ticket.InsertOpenTicket getDelaerIdByState(string stateName) { try { DataSet ds = new DataSet(); NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1]; nSqlParam[0] = new NpgsqlParameter("instate_name", stateName); ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dealer_id_by_state"], nSqlParam); if (ds.Tables[0].Rows.Count > 0) { //string assignedDealer = ds.Tables[0].Rows[0]["dealer_id"].ToString(); VECV_WebApi.Models.Ticket.InsertOpenTicket obj = new VECV_WebApi.Models.Ticket.InsertOpenTicket(); obj.AssignedToUserId = ds.Tables[0].Rows[0]["dealer_id"].ToString(); obj.AssignedToUserLattitude = ds.Tables[0].Rows[0]["_lat"].ToString(); obj.AssignedToUserLongitude = ds.Tables[0].Rows[0]["_long"].ToString(); return obj; ; } else { return null; } } catch (Exception Ex) { objLog.ErrorLogFile("getDelaerIdByState", Ex.Message, path, errorlogtf); } return null; } #endregion } #endregion }