EOS-WebAPI/Models/Dealer/DealerRepository.cs
Nidhi Bhargava d0ac8a7790 Code Commit
2025-09-04 17:30:22 +05:30

2034 lines
114 KiB
C#

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
/// <summary>
/// This class contain dealer releted methods
/// </summary>
public class DealerRepository
{
#region Global Variables
/// <summary>
/// making object of LoggingUtility class available to this class
/// </summary>
LoggingUtility objLog = new LoggingUtility();
/// <summary>
/// making the data-log file path available to this class
/// </summary>
string path = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["PathLog"]);
/// <summary>
/// making error log file path available to this class
/// </summary>
string errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]);
/// <summary>
/// making the Database connection string available to this class
/// </summary>
private string _connStr;
/// <summary>
/// making Authentication Repository object available to this class
/// </summary>
AuthenticationRepository objAuthorization;
#endregion
#region Contructors
/// <summary>
/// Default constructor intialize connection string of vecv database
/// </summary>
public DealerRepository(string connString)
{
this._connStr = connString;
}
#endregion
#region API Methods
/// <summary>
/// To get dealer detail with its position details
/// </summary>
/// <param name="model">dealer info</param>
/// <returns>status and dealer detail with its position details</returns>
public List<DealerPositionModel> GetDealerPositionDetail(GetDealerPositionModel model)
{
List<DealerPositionModel> objListModel = new List<DealerPositionModel>();
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<string>("dealer_id"),
OrganizationId = s.Field<Int32?>("dealer_organization_id"),
DealerName = s.Field<string>("dealer_dealer_name"),
DealerCity = s.Field<string>("dealer_city"),
DealerState = s.Field<string>("dealer_state"),
DealerDefaultLatitude = s.Field<string>("dealer_dealer_default_lattitude"),
DealerDefaultLongitude = s.Field<string>("dealer_dealer_default_longitude"),
OrganizationName = s.Field<string>("_organization_name"),
OrganizationAlias = s.Field<string>("_organization_organization_alias"),
OrganizationCity = s.Field<string>("_organization_organization_city"),
OrganizationState = s.Field<string>("_organization_organization_state"),
OrganizationCountry = s.Field<string>("_organization_organization_country"),
OrganizationPath = s.Field<string>("_organization_organization_path"),
OrganizationDepth = s.Field<string>("_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;
}
/// <summary>
/// To get open ticket detail of dealer
/// </summary>
/// <param name="model">dealer info</param>
/// <returns>status and open ticket detail of dealer</returns>
public List<DealerOpenTicketDetailModel> GetDealerOpenTicketDetail(DealerOpenTicketDetailModel model)
{
DealerOpenTicketDetailModel objModel = new DealerOpenTicketDetailModel();
List<DealerOpenTicketDetailModel> objList = new List<DealerOpenTicketDetailModel>();
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<string>("ticket_id"),
Description = s.Field<string>("description"),
AssignedTo = s.Field<string>("assigned_to"),
ReportedVia = s.Field<string>("reported_via"),
TicketStatus = s.Field<int?>("ticket_status"),
Priority = s.Field<int?>("priority"),
CustomerScore = s.Field<string>("customer_score"),
CreatedBy = s.Field<string>("created_by"),
CreationTime = s.Field<DateTime?>("creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
LastModifiedBy = s.Field<string>("last_modified_by"),
LastModifiedTime = s.Field<DateTime?>("last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
BreakdownLocation = s.Field<string>("breakdown_location"),
DreakdownLongitude = s.Field<string>("breakdown_longitude"),
BreakdownLattitude = s.Field<string>("breakdown_lattitude"),
AssignedToUserId = s.Field<string>("assigned_to_user_id"),
AssignedToUserLattitude = s.Field<string>("assigned_to_user_lattitude"),
AssignedToUserLongitude = s.Field<string>("assigned_to_user_longitude"),
Isdeclined = s.Field<Boolean?>("isdeclined"),
EstimatedTimeForJobCompletion = s.Field<int?>("estimated_time_for_job_completion"),
TotalTicketLifecycleTimeSla = s.Field<int?>("total_ticket_lifecycle_time_sla"),
EstimatedTimeForJobCompletionSubmitTime = s.Field<DateTime?>("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
VehicleRegisterNumber = s.Field<string>("vehicle_register_number"),
BreakdownLocationLandmark = s.Field<string>("breakdown_location_landmark"),
RouteId = s.Field<int?>("route_id"),
CustomerContactNo = s.Field<string>("customer_contact_no"),
RepairCost = s.Field<string>("repair_cost"),
DefaultSlTtime = s.Field<int?>("default_sla_time"),
SlaMissedReason = s.Field<string>("sla_missed_reason"),
SuggestionComment = s.Field<string>("suggestion_comment"),
TicketStatusAlias = s.Field<string>("ticket_status_alias"),
JobCompleteResponseTime = s.Field<string>("default_col_1"),
DefaultCol2 = s.Field<string>("default_col_2"),
DefaultCol3 = s.Field<string>("default_col_3"),
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
TollFreeNoSource= s.Field<string>("_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;
}
}
/// <summary>
/// To get close ticket detail of dealer
/// </summary>
/// <param name="model">dealer info</param>
/// <returns>status and close ticket detail of dealer</returns>
public List<DealerCloseTicketDetailModel> GetDealerCloseTicketDetail(DealerCloseTicketDetailModel model)
{
DealerCloseTicketDetailModel objModel = new DealerCloseTicketDetailModel();
List<DealerCloseTicketDetailModel> objList = new List<DealerCloseTicketDetailModel>();
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<string>("ticket_id"),
Description = s.Field<string>("description"),
AssignedTo = s.Field<string>("assigned_to"),
ReportedVia = s.Field<string>("reported_via"),
TicketStatus = s.Field<int?>("ticket_status"),
Priority = s.Field<int?>("priority"),
CustomerScore = s.Field<string>("customer_score"),
CreatedBy = s.Field<string>("created_by"),
CreationTime = s.Field<DateTime?>("creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
LastModifiedBy = s.Field<string>("last_modified_by"),
LastModifiedTime = s.Field<DateTime?>("last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
BreakdownLocation = s.Field<string>("breakdown_location"),
DreakdownLongitude = s.Field<string>("breakdown_longitude"),
BreakdownLattitude = s.Field<string>("breakdown_lattitude"),
AssignedToUserId = s.Field<string>("assigned_to_user_id"),
AssignedToUserLattitude = s.Field<string>("assigned_to_user_lattitude"),
AssignedToUserLongitude = s.Field<string>("assigned_to_user_longitude"),
Isdeclined = s.Field<Boolean?>("isdeclined"),
EstimatedTimeForJobCompletion = s.Field<int?>("estimated_time_for_job_completion"),
TotalTicketLifecycleTimeSla = s.Field<int?>("total_ticket_lifecycle_time_sla"),
EstimatedTimeForJobCompletionSubmitTime = s.Field<DateTime?>("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
VehicleRegisterNumber = s.Field<string>("vehicle_register_number"),
BreakdownLocationLandmark = s.Field<string>("breakdown_location_landmark"),
RouteId = s.Field<int?>("route_id"),
CustomerContactNo = s.Field<string>("customer_contact_no"),
RepairCost = s.Field<string>("repair_cost"),
DefaultSlTtime = s.Field<int?>("default_sla_time"),
SlaMissedReason = s.Field<string>("sla_missed_reason"),
SuggestionComment = s.Field<string>("suggestion_comment"),
TicketStatusAlias = s.Field<string>("ticket_status_alias"),
JobCompleteResponseTime = s.Field<string>("default_col_1"),
DefaultCol2 = s.Field<string>("default_col_2"),
DefaultCol3 = s.Field<string>("default_col_3"),
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
TollFreeNoSource = s.Field<string>("_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;
}
}
/// <summary>
/// To get dealer notification list
/// </summary>
/// <param name="model">dealer info</param>
/// <returns>status and dealer notification list</returns>
public List<DealerNortificationModel> GetDealerNortification(DealerNortificationModel model)
{
DealerNortificationModel objModel = new DealerNortificationModel();
List<DealerNortificationModel> objList = new List<DealerNortificationModel>();
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<string>("_ticket_id"),
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
TicketStatus = s.Field<Int32?>("_ticket_status"),
TicketStatusAlias = s.Field<string>("_ticket_status_alias"),
NotificationTime = s.Field<DateTime?>("_notification_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_notification_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_notification_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
DealerDealerName = s.Field<string>("dealer_dealer_name"),
VanId = s.Field<string>("van_id"),
VanRegistrationNumber = s.Field<string>("van_registration_number"),
ServiceEngineerName = s.Field<string>("_service_engineer_name"),
CreatedBy = s.Field<string>("_created_by"),
AssignedTo = s.Field<string>("_assigned_to"),
NotificationId = s.Field<Int64?>("_notification_id"),
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_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;
}
}
/// <summary>
/// To get child dealer list for a principal dealer
/// </summary>
/// <param name="model">principal dealer info</param>
/// <returns>status and child dealer list for a principal dealer</returns>
public DealerDetailModel GetChildDealerships(DealerDetailModel model)
{
DealerDetailModel objModel = new DealerDetailModel();
List<DealerChildPrincipalModel> objList = new List<DealerChildPrincipalModel>();
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<string>("dealer_id"),
DealerOrganizationId = s.Field<Int32>("dealer_organization_id").ToString(),
DealerName = s.Field<string>("dealer_dealer_name"),
DealerCity = s.Field<string>("dealer_city"),
DealerState = s.Field<string>("dealer_state"),
DealerLatitude = s.Field<string>("dealer_dealer_default_lattitude"),
DealerLongitude = s.Field<string>("dealer_dealer_default_longitude"),
DealerContact1 = s.Field<string>("dealer_contact_number1"),
DealerContact2 = s.Field<string>("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;
}
}
/// <summary>
/// To get principal delership details
/// </summary>
/// <param name="model">principal dealer info</param>
/// <returns>status and principal delership details</returns>
public DealerDetailModel GetPrincipalDealershipDetails(DealerDetailModel model)
{
DealerDetailModel objModel = new DealerDetailModel();
List<DealerChildPrincipalModel> objList = new List<DealerChildPrincipalModel>();
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<string>("dealer_id"),
DealerOrganizationId = s.Field<Int32>("dealer_organization_id").ToString(),
DealerName = s.Field<string>("dealer_dealer_name"),
DealerCity = s.Field<string>("dealer_city"),
DealerState = s.Field<string>("dealer_state"),
DealerLatitude = s.Field<string>("dealer_dealer_default_lattitude"),
DealerLongitude = s.Field<string>("dealer_dealer_default_longitude"),
DealerContact1 = s.Field<string>("dealer_contact_number1"),
DealerContact2 = s.Field<string>("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;
}
}
/// <summary>
/// To get dealer complete detail
/// </summary>
/// <param name="model">dealer info</param>
/// <returns>status and dealer complete detail</returns>
public DealerDetailModel GetDealerDetailDealerIdWise(DealerDetailModel model)
{
DealerDetailModel objModel = new DealerDetailModel();
List<VanDetailModel> objList = new List<VanDetailModel>();
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<string>("dealer_id")).Distinct())
{
objModel.DealerId = dealerid;
objModel.DealerCity = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<string>("dealer_city")).First();
objModel.DealerContactNo = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<string>("dealer_contact_number1")).First();
objModel.DealerDealerDefaultLattitude = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<string>("dealer_dealer_default_lattitude")).First();
objModel.DealerDealerDefaultLongitude = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<string>("dealer_dealer_default_longitude")).First();
objModel.DealerDealerName = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<string>("dealer_dealer_name")).First();
objModel.DealerOrganizationId = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<int?>("dealer_organization_id")).First();
objModel.DealerState = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<string>("dealer_state")).First();
objModel.OrganizationAlias = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<string>("_organization_organization_alias")).First();
objModel.OrganizationCity = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<string>("_organization_organization_city")).First();
objModel.OrganizationColor = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<string>("_organization_organization_color")).First();
objModel.OrganizationCountry = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<string>("_organization_organization_country")).First();
objModel.OrganizationDepth = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<string>("_organization_organization_depth")).First();
objModel.OrganizationDescription = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<string>("_organization_organization_description")).First();
//objModel.OrganizationId = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<string>("dealer_state")).First();
objModel.OrganizationName = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<string>("_organization_name")).First();
objModel.OrganizationPath = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<string>("_organization_organization_path")).First();
objModel.OrganizationRegion = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<string>("_organization_organization_region")).First();
objModel.OrganizationState = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<string>("_organization_organization_state")).First();
objModel.DealerContactNo2 = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<string>("dealer_contact_number2")).First();
objModel.IsDeleted = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => s.Field<bool?>("dealer_isdeleted")).First();
objModel.VanList = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("dealer_id").Equals(dealerid)).Select(s => new VanDetailModel
{
ServiceEngineerAlias = s.Field<string>("service_engineer_alias"),
ServiceEngineerApplicationLicenseKey = s.Field<string>("service_engineer_application_license_key"),
ServiceEngineerContactNumber = s.Field<string>("service_engineer_contact_number"),
ServiceEngineerDeviceAlias = s.Field<Int64?>("service_engineer_device_alias"),
ServiceEngineerId = s.Field<string>("service_engineer_id"),
ServiceEngineerImeiNumber = s.Field<string>("service_engineer_imei_number"),
ServiceEngineerMobileApplicationBlocked = s.Field<bool?>("service_engineer_mobile_application_blocked"),
ServiceEngineerName = s.Field<string>("_service_engineer_name"),
ServiceEngineerPinPassword = s.Field<string>("service_engineer_pin_password"),
ServiceEngineerVanServiceEngineerId = s.Field<string>("service_engineer_van_service_engineer_id"),
ServiceEngineerVanVanId = s.Field<string>("service_engineer_van_van_id"),
VanAlias = s.Field<string>("van_alias"),
VanCity = s.Field<string>("van_city"),
VanState = s.Field<string>("van_state"),
VanDefaultLatitude = s.Field<string>("van_van_default_lattitude"),
VanDefaultLongitude = s.Field<string>("van_van_default_longitude"),
VanId = s.Field<string>("van_id"),
VanModelName = s.Field<string>("van_van_model"),
VanregisteredAs = s.Field<string>("van_van_registered_as"),
VanRegistrationNo = s.Field<string>("van_registration_number"),
VanIsVisitedInterState = s.Field<bool?>("van_is_visited_interstate"),
VanRoutId = s.Field<int?>("_van_route_id"),
IsDeletedVan = s.Field<bool?>("_van_is_deleted"),
IsDeletedServiceEngg = s.Field<bool?>("service_engineer_isdeleted"),
IsVanRelease = s.Field<bool>("_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;
}
}
/// <summary>
/// To insert or update dealer detail
/// </summary>
/// <param name="model">deaelr details</param>
/// <returns>status</returns>
public DealerDetailModel InsertOrUpdateDealerDetail(DealerDetailModel model)
{
DealerDetailModel objModel = new DealerDetailModel();
List<VanDetailModel> objList = new List<VanDetailModel>();
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;
}
}
/// <summary>
/// To insert or update van detail
/// </summary>
/// <param name="model">van detail</param>
/// <returns>status</returns>
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;
}
/// <summary>
/// To insert Principle dealer detail
/// </summary>
/// <param name="model">principal deaelr details</param>
/// <returns>status</returns>
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;
}
}
/// <summary>
/// To check Van and dealer exist or not by mob no. and van reg no.
/// </summary>
/// <param name="model">DealerDetailModel(mob and reg no.)</param>
/// <param name="type">type is a string contain like (van, dealer)</param>
/// <returns></returns>
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;
}
}
/// <summary>
/// To get dealer details organization wise.
/// </summary>
/// <param name="obj">dealer and organization info</param>
/// <returns>status and dealer details organization wise</returns>
public List<DealerModelList> GetDealerListUserWiseOrgWise(DealerModelList obj)
{
List<DealerModelList> objModel = new List<DealerModelList>();
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<string>("dealer_id"),
DealerOrganizationId = s.Field<Int32>("dealer_organization_id"),
DealerDealerName = s.Field<string>("dealer_dealer_name"),
DealerCity = s.Field<string>("dealer_city"),
DealerState = s.Field<string>("dealer_state"),
DealerDealerDefaultLattitude = s.Field<string>("dealer_dealer_default_lattitude"),
DealerDealerDefaultLongitude = s.Field<string>("dealer_dealer_default_longitude"),
DealerOrgName = s.Field<string>("_organization_name"),
OrgPath = s.Field<string>("_organization_organization_path"),
Region = s.Field<string>("_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
/// <summary>
/// Get dealer list with user id of dealer for dealer wise dashboard.
/// </summary>
/// <param name="obj">login user info</param>
/// <returns>dealer list with dealer's user id</returns>
public List<DealerUserIdList> GetDealerListWithUserId(UserModel obj)
{
List<DealerUserIdList> objModel = new List<DealerUserIdList>();
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<string>("_dealer_code"),
DealerOrganizationId = s.Field<Int32>("_dealer_organization_id"),
//DealerDealerName = s.Field<string>("_dealer_first_name") + " " + s.Field<string>("_dealer_last_name"),
DealerDealerName = s.Field<string>("_dealer_name"),
dealer_first_name = s.Field<string>("_dealer_first_name"),
dealer_last_name = s.Field<string>("_dealer_last_name"),
dealer_user_id = s.Field<Int64?>("_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
/// <summary>
/// To get van and dealer list.
/// </summary>
/// <param name="model">van and dealer info</param>
/// <returns>van and dealer list</returns>
public List<DealerVanListStateWise> GetDealerVanListStateWise(DealerVanListStateWise model)
{
List<DealerVanListStateWise> objListModel = new List<DealerVanListStateWise>();
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<TrackingModel> listTracking = new List<TrackingModel>();
listTracking = dsTracking.Tables[0].AsEnumerable().Select(s => new TrackingModel
{
LogId = s.Field<Int32>("_log_id"),
DeviceAlias = s.Field<string>("_device_alias"),
Latitude = s.Field<string>("_latitude"),
Longitude = s.Field<string>("_longitude"),
LogTime = s.Field<DateTime?>("_log_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_log_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_log_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
IsConnected = s.Field<string>("_device_status"),
Xcordinate = s.Field<string>("_x_coordinate"),
Ycordinate = s.Field<string>("_y_coordinate"),
Zcordinate = s.Field<string>("_z_coordinate"),
CreationTime = s.Field<DateTime?>("_creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
DeviceStatus = s.Field<string>("_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;
}
}
/// <summary>
/// To check Van exist or not by mob no.
/// </summary>
/// <param name="model">DealerDetailModel(mob no.)</param>
/// <param name="type">type is a string contain like (van, dealer)</param>
/// <returns></returns>
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<DashboardModel> GetTileDashboardDataSetWM(DashboardModel model)
{
List<DashboardModel> dashboardDataSetVecv = new List<DashboardModel>();
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<string>("_key"),
KeyName = s.Field<string>("_key_name") == null ? "-" : s.Field<string>("_key_name"),
KeyValue = s.Field<string>("_key_value") == null ? "-" : s.Field<string>("_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<DealerOpenTicketDetailModel> GetWMOpenTicketDetail(DealerOpenTicketDetailModel model)
{
DealerOpenTicketDetailModel objModel = new DealerOpenTicketDetailModel();
List<DealerOpenTicketDetailModel> objList = new List<DealerOpenTicketDetailModel>();
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<string>("ticket_id"),
Description = s.Field<string>("description"),
AssignedTo = s.Field<string>("assigned_to"),
ReportedVia = s.Field<string>("reported_via"),
TicketStatus = s.Field<int?>("ticket_status"),
Priority = s.Field<int?>("priority"),
CustomerScore = s.Field<string>("customer_score"),
CreatedBy = s.Field<string>("created_by"),
CreationTime = s.Field<DateTime?>("creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
LastModifiedBy = s.Field<string>("last_modified_by"),
LastModifiedTime = s.Field<DateTime?>("last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
BreakdownLocation = s.Field<string>("breakdown_location"),
DreakdownLongitude = s.Field<string>("breakdown_longitude"),
BreakdownLattitude = s.Field<string>("breakdown_lattitude"),
AssignedToUserId = s.Field<string>("assigned_to_user_id"),
AssignedToUserLattitude = s.Field<string>("assigned_to_user_lattitude"),
AssignedToUserLongitude = s.Field<string>("assigned_to_user_longitude"),
Isdeclined = s.Field<Boolean?>("isdeclined"),
EstimatedTimeForJobCompletion = s.Field<int?>("estimated_time_for_job_completion"),
TotalTicketLifecycleTimeSla = s.Field<int?>("total_ticket_lifecycle_time_sla"),
EstimatedTimeForJobCompletionSubmitTime = s.Field<DateTime?>("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
VehicleRegisterNumber = s.Field<string>("vehicle_register_number"),
BreakdownLocationLandmark = s.Field<string>("breakdown_location_landmark"),
RouteId = s.Field<int?>("route_id"),
CustomerContactNo = s.Field<string>("customer_contact_no"),
RepairCost = s.Field<string>("repair_cost"),
DefaultSlTtime = s.Field<int?>("default_sla_time"),
SlaMissedReason = s.Field<string>("sla_missed_reason"),
SuggestionComment = s.Field<string>("suggestion_comment"),
TicketStatusAlias = s.Field<string>("ticket_status_alias"),
JobCompleteResponseTime = s.Field<string>("default_col_1"),
DefaultCol2 = s.Field<string>("default_col_2"),
DefaultCol3 = s.Field<string>("default_col_3"),
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
TollFreeNoSource = s.Field<string>("_toll_free_no_source"),
DealerName = s.Field<string>("_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<SyncModel> GetSyncTicketDetail_WM(SyncModel model)
{
List<SyncModel> objListSync = new List<SyncModel>();
SyncOpenModel objModelSyncOpen = new SyncOpenModel();
SyncCloseModel objModelSyncClose = new SyncCloseModel();
List<CustomerOpenTicketDetail> objListCustomerOpenTicketDetail = new List<CustomerOpenTicketDetail>();
List<TicketActivityOpenModel> objListOpenTicketActivityTicket = new List<TicketActivityOpenModel>();
List<CustomerCloseTicketDetail> objListCustomerCloseTicketDetail = new List<CustomerCloseTicketDetail>();
List<TicketActivityCloseModel> objListCloseTicketActivityTicket = new List<TicketActivityCloseModel>();
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<string>("ticket_id"),
Description = s.Field<string>("description"),
AssignedTo = s.Field<string>("assigned_to"),
ReportedVia = s.Field<string>("reported_via"),
TicketStatus = s.Field<int?>("ticket_status"),
Priority = s.Field<int?>("priority"),
CustomerScore = s.Field<string>("customer_score"),
CreatedBy = s.Field<string>("created_by"),
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("creation_time")).ToString("dd MMM yyy HH:mm:ss"),
LastModifiedBy = s.Field<string>("last_modified_by"),
LastModifiedTime = Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).ToString("dd MMM yyy HH:mm:ss"),
BreakdownLocation = s.Field<string>("breakdown_location"),
BreakdownLongitude = s.Field<string>("breakdown_longitude"),
BreakdownLattitude = s.Field<string>("breakdown_lattitude"),
AssignedToUserId = s.Field<string>("assigned_to_user_id"),
AssignedToUserLattitude = s.Field<string>("assigned_to_user_lattitude"),
AssignedToUserLongitude = s.Field<string>("assigned_to_user_longitude"),
Isdeclined = s.Field<Boolean?>("isdeclined"),
EstimatedTimeForJobCompletion = s.Field<int?>("estimated_time_for_job_completion"),
TotalTicketLifecycleTimeSla = s.Field<int?>("total_ticket_lifecycle_time_sla"),
EstimatedTimeForJobCompletionSubmitTime = Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).ToString("dd MMM yyy HH:mm:ss"),
VehicleRegisterNumber = s.Field<string>("vehicle_register_number"),
BreakdownLocationLandmark = s.Field<string>("breakdown_location_landmark"),
RouteId = s.Field<int?>("route_id"),
CustomerContactNo = s.Field<string>("customer_contact_no"),
RepairCost = s.Field<string>("repair_cost"),
DefaultSlaTime = s.Field<int?>("default_sla_time"),
SlaMissedReason = s.Field<string>("sla_missed_reason"),
SuggestionComment = s.Field<string>("suggestion_comment"),
JobCompleteResponseTime = s.Field<string>("default_col_1"),
DefaultCol2 = s.Field<string>("default_col_2"),
DefaultCol3 = s.Field<string>("default_col_3"),
EstimatedDistance = s.Field<string>("estimated_distance"),
Owner_Contact_no = s.Field<string>("_owner_contact_no"),
TicketIdAlias = s.Field<string>("_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<string>("ticket_id"),
Description = s.Field<string>("description"),
AssignedTo = s.Field<string>("assigned_to"),
ReportedVia = s.Field<string>("reported_via"),
TicketStatus = s.Field<int?>("ticket_status"),
Priority = s.Field<int?>("priority"),
CustomerScore = s.Field<string>("customer_score"),
CreatedBy = s.Field<string>("created_by"),
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
LastModifiedBy = s.Field<string>("last_modified_by"),
// LastModifiedTime = Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
LastModifiedTime = Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).AddMinutes(Convert.ToInt16(ConfigurationManager.AppSettings["UtcMinute"])).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
BreakdownLocation = s.Field<string>("breakdown_location"),
BreakdownLongitude = s.Field<string>("breakdown_longitude"),
BreakdownLattitude = s.Field<string>("breakdown_lattitude"),
AssignedToUserId = s.Field<string>("assigned_to_user_id"),
AssignedToUserLattitude = s.Field<string>("assigned_to_user_lattitude"),
AssignedToUserLongitude = s.Field<string>("assigned_to_user_longitude"),
Isdeclined = s.Field<Boolean?>("isdeclined"),
EstimatedTimeForJobCompletion = s.Field<int?>("estimated_time_for_job_completion"),
TotalTicketLifecycleTimeSla = s.Field<int?>("total_ticket_lifecycle_time_sla"),
EstimatedTimeForJobCompletionSubmitTime = Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
VehicleRegisterNumber = s.Field<string>("vehicle_register_number"),
BreakdownLocationLandmark = s.Field<string>("breakdown_location_landmark"),
RouteId = s.Field<int?>("route_id"),
CustomerContactNo = s.Field<string>("customer_contact_no"),
RepairCost = s.Field<string>("repair_cost"),
DefaultSlaTime = s.Field<int?>("default_sla_time"),
SlaMissedReason = s.Field<string>("sla_missed_reason"),
SuggestionComment = s.Field<string>("suggestion_comment"),
JobCompleteResponseTime = s.Field<string>("default_col_1"),
DefaultCol2 = s.Field<string>("default_col_2"),
DefaultCol3 = s.Field<string>("default_col_3"),
EstimatedDistance = s.Field<string>("estimated_distance"),
Owner_Contact_no = s.Field<string>("_owner_contact_no"),
TicketIdAlias = s.Field<string>("_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<DealerCloseTicketDetailModel> GetWMCloseTicketDetail(DealerCloseTicketDetailModel model)
{
DealerCloseTicketDetailModel objModel = new DealerCloseTicketDetailModel();
List<DealerCloseTicketDetailModel> objList = new List<DealerCloseTicketDetailModel>();
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<string>("ticket_id"),
Description = s.Field<string>("description"),
AssignedTo = s.Field<string>("assigned_to"),
ReportedVia = s.Field<string>("reported_via"),
TicketStatus = s.Field<int?>("ticket_status"),
Priority = s.Field<int?>("priority"),
CustomerScore = s.Field<string>("customer_score"),
CreatedBy = s.Field<string>("created_by"),
CreationTime = s.Field<DateTime?>("creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
LastModifiedBy = s.Field<string>("last_modified_by"),
LastModifiedTime = s.Field<DateTime?>("last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
BreakdownLocation = s.Field<string>("breakdown_location"),
DreakdownLongitude = s.Field<string>("breakdown_longitude"),
BreakdownLattitude = s.Field<string>("breakdown_lattitude"),
AssignedToUserId = s.Field<string>("assigned_to_user_id"),
AssignedToUserLattitude = s.Field<string>("assigned_to_user_lattitude"),
AssignedToUserLongitude = s.Field<string>("assigned_to_user_longitude"),
Isdeclined = s.Field<Boolean?>("isdeclined"),
EstimatedTimeForJobCompletion = s.Field<int?>("estimated_time_for_job_completion"),
TotalTicketLifecycleTimeSla = s.Field<int?>("total_ticket_lifecycle_time_sla"),
EstimatedTimeForJobCompletionSubmitTime = s.Field<DateTime?>("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
VehicleRegisterNumber = s.Field<string>("vehicle_register_number"),
BreakdownLocationLandmark = s.Field<string>("breakdown_location_landmark"),
RouteId = s.Field<int?>("route_id"),
CustomerContactNo = s.Field<string>("customer_contact_no"),
RepairCost = s.Field<string>("repair_cost"),
DefaultSlTtime = s.Field<int?>("default_sla_time"),
SlaMissedReason = s.Field<string>("sla_missed_reason"),
SuggestionComment = s.Field<string>("suggestion_comment"),
TicketStatusAlias = s.Field<string>("ticket_status_alias"),
JobCompleteResponseTime = s.Field<string>("default_col_1"),
DefaultCol2 = s.Field<string>("default_col_2"),
DefaultCol3 = s.Field<string>("default_col_3"),
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
TollFreeNoSource = s.Field<string>("_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<TitanTicketDealerModel> GetTitanticketList(TiatnResponseModel model)
{
// DealerOpenTicketDetailModel objModel = new DealerOpenTicketDetailModel();
List<TitanTicketDealerModel> objList = new List<TitanTicketDealerModel>();
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<string>("ticket_id"),
Description = s.Field<string>("description"),
AssignedTo = s.Field<string>("assigned_to"),
ReportedVia = s.Field<string>("reported_via"),
// TicketStatus = s.Field<int?>("ticket_status"),
// Priority = s.Field<int?>("priority"),
CustomerScore = s.Field<string>("customer_score"),
CreatedBy = s.Field<string>("created_by"),
CreationTime = s.Field<DateTime?>("creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
LastModifiedBy = s.Field<string>("last_modified_by"),
LastModifiedTime = s.Field<DateTime?>("last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
BreakdownLocation = s.Field<string>("breakdown_location"),
DreakdownLongitude = s.Field<string>("breakdown_longitude"),
BreakdownLattitude = s.Field<string>("breakdown_lattitude"),
AssignedToUserId = s.Field<string>("assigned_to_user_id"),
AssignedToUserLattitude = s.Field<string>("assigned_to_user_lattitude"),
AssignedToUserLongitude = s.Field<string>("assigned_to_user_longitude"),
//Isdeclined = s.Field<Boolean?>("isdeclined"),
//EstimatedTimeForJobCompletion = s.Field<int?>("estimated_time_for_job_completion"),
TotalTicketLifecycleTimeSla = s.Field<int?>("total_ticket_lifecycle_time_sla"),
EstimatedTimeForJobCompletionSubmitTime = s.Field<DateTime?>("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
VehicleRegisterNumber = s.Field<string>("vehicle_register_number"),
BreakdownLocationLandmark = s.Field<string>("breakdown_location_landmark"),
// RouteId = s.Field<int?>("route_id"),
CustomerContactNo = s.Field<string>("customer_contact_no"),
RepairCost = s.Field<string>("repair_cost"),
// DefaultSlTtime = s.Field<int?>("default_sla_time"),
SlaMissedReason = s.Field<string>("sla_missed_reason"),
SuggestionComment = s.Field<string>("suggestion_comment"),
TicketStatusAlias = s.Field<string>("ticket_status_alias"),
JobCompleteResponseTime = s.Field<string>("default_col_1"),
DefaultCol2 = s.Field<string>("default_col_2"),
DefaultCol3 = s.Field<string>("default_col_3"),
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
TollFreeNoSource = s.Field<string>("_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
}