2034 lines
114 KiB
C#
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
|
|
} |