474 lines
28 KiB
C#
474 lines
28 KiB
C#
namespace VECV_WebApi.Models.Van
|
|
{
|
|
#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.Ticket;
|
|
using VECV_WebApi.Models.Util;
|
|
|
|
#endregion
|
|
|
|
#region Repository Class
|
|
|
|
/// <summary>
|
|
/// This class contain van releted methods
|
|
/// </summary>
|
|
public class VanRepository
|
|
{
|
|
#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 VanRepository(string connString)
|
|
{
|
|
this._connStr = connString;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region API Methods
|
|
|
|
/// <summary>
|
|
/// To get van detail with its position details
|
|
/// </summary>
|
|
/// <param name="model">van info</param>
|
|
/// <returns>status and van detail with its position details</returns>
|
|
public List<VanModel> GetVanPositionDetail(GetVanPositionModel model)
|
|
{
|
|
List<VanModel> objListModel = new List<VanModel>();
|
|
VanModel objModel = new VanModel();
|
|
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_van_postion_details"], nSqlParam);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
foreach (string vanId in ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("van_id")).Distinct())
|
|
{
|
|
objModel = new VanModel();
|
|
objModel.DealerId = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("van_id").Equals(vanId)).
|
|
Select(s => s.Field<string>("dealer_id")).FirstOrDefault();
|
|
objModel.DealerCity = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("van_id").Equals(vanId)).
|
|
Select(s => s.Field<string>("dealer_city")).FirstOrDefault();
|
|
objModel.DealerState = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("van_id").Equals(vanId)).
|
|
Select(s => s.Field<string>("dealer_state")).FirstOrDefault();
|
|
objModel.DealerName = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("van_id").Equals(vanId)).
|
|
Select(s => s.Field<string>("dealer_dealer_name")).FirstOrDefault();
|
|
objModel.VanDefaultLatitude = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("van_id").Equals(vanId)).
|
|
Select(s => s.Field<string>("van_van_default_lattitude")).FirstOrDefault();
|
|
objModel.VanDefaultLongitude = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("van_id").Equals(vanId)).
|
|
Select(s => s.Field<string>("van_van_default_longitude")).FirstOrDefault();
|
|
objModel.VanModelName = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("van_id").Equals(vanId)).
|
|
Select(s => s.Field<string>("van_van_model")).FirstOrDefault();
|
|
objModel.VanRegistrationNo = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("van_id").Equals(vanId)).
|
|
Select(s => s.Field<string>("van_registration_number")).FirstOrDefault();
|
|
objModel.VanId = vanId;
|
|
objModel.OrganizationName = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("van_id").Equals(vanId)).
|
|
Select(s => s.Field<string>("_organization_name")).FirstOrDefault();
|
|
objModel.OrganizationPath = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("van_id").Equals(vanId)).
|
|
Select(s => s.Field<string>("_organization_organization_path")).FirstOrDefault();
|
|
|
|
objModel.ServiceEngineerId = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("van_id").Equals(vanId)).
|
|
Select(s => s.Field<string>("service_engineer_id")).FirstOrDefault();
|
|
|
|
objModel.ServiceEngineerName = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("van_id").Equals(vanId)).
|
|
Select(s => s.Field<string>("_service_engineer_name")).FirstOrDefault();
|
|
|
|
objModel.ServiceEngineerContactNo = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("van_id").Equals(vanId)).
|
|
Select(s => s.Field<string>("service_engineer_contact_number")).FirstOrDefault();
|
|
|
|
objModel.VanPostionList = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("van_id").Equals(vanId)).
|
|
OrderBy(o => o.Field<Int64?>("_van_position_coverage_id")).
|
|
Select(s => new VanPositionModel
|
|
{
|
|
SlaTime = s.Field<int?>("_van_position_sla_sla_time"),
|
|
VanPositionCoverageId = s.Field<Int64?>("_van_position_coverage_id"),
|
|
VanPositionCoverageSlaId = s.Field<Int64?>("_van_position_coverage_sla_id"),
|
|
VanPositionCoverageVanId = s.Field<string>("_van_position_coverage_van_id"),
|
|
VanPositionCoverageVanLatitude = s.Field<string>("_van_position_coverage_van_latitude"),
|
|
VanPositionCoverageVanLongitude = s.Field<string>("_van_position_coverage_van_longitude"),
|
|
VanDefaultLatitude = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("van_id").Equals(vanId)).
|
|
Select(s1 => s1.Field<string>("van_van_default_lattitude")).FirstOrDefault(),
|
|
VanDefaultLongitude = ds.Tables[0].AsEnumerable().Where(w => w.Field<string>("van_id").Equals(vanId)).
|
|
Select(s1 => s1.Field<string>("van_van_default_longitude")).FirstOrDefault()
|
|
}).ToList();
|
|
|
|
objListModel.Add(objModel);
|
|
}
|
|
}
|
|
}
|
|
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 insert and get van postion coverage .
|
|
/// </summary>
|
|
/// <param name="model">van and coverage info</param>
|
|
/// <returns>status and data</returns>
|
|
public InsertGetVanPositionCoverage InsertGetVanPosition(InsertGetVanPositionCoverage model)
|
|
{
|
|
InsertGetVanPositionCoverage objListModel = new InsertGetVanPositionCoverage();
|
|
List<VanPositionCoverage> objVanPositionCoverage = new List<VanPositionCoverage>();
|
|
objVanPositionCoverage.Insert(0, new VanPositionCoverage { });
|
|
try
|
|
{
|
|
objAuthorization = new AuthenticationRepository();
|
|
if (objAuthorization.AuthenticateDevice(model.Token))
|
|
{
|
|
DataSet ds = new DataSet();
|
|
|
|
//Get van coverage.
|
|
if (model.Operation.Trim().ToUpper() == "GET")
|
|
{
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[8];
|
|
nSqlParam[0] = new NpgsqlParameter("inid", null);
|
|
nSqlParam[1] = new NpgsqlParameter("invan_id ", model.VanId);
|
|
nSqlParam[2] = new NpgsqlParameter("insla_id ", null);
|
|
nSqlParam[3] = new NpgsqlParameter("invan_coverage_latitude ", null);
|
|
nSqlParam[4] = new NpgsqlParameter("invan_coverage_longitude ", null);
|
|
nSqlParam[5] = new NpgsqlParameter("invan_lat ", model.VanDefaultLatitude);
|
|
nSqlParam[6] = new NpgsqlParameter("invan_longitude ", model.VanDefaultLongitude);
|
|
nSqlParam[7] = new NpgsqlParameter("inoperation ", model.Operation);
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_or_get_van_position_coverage"], nSqlParam);
|
|
|
|
objListModel.VanId = model.VanId;
|
|
objListModel.VanDefaultLatitude = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_van_default_lattitude")).FirstOrDefault();
|
|
objListModel.VanDefaultLongitude = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_van_default_longitude")).FirstOrDefault();
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
for (int j = 0; j < model.Coverage.Count; j++)
|
|
{
|
|
List<PositionCoverages> lstPositionCoverages = new List<PositionCoverages>();
|
|
lstPositionCoverages = ds.Tables[0].AsEnumerable().Where(w => w.Field<Int64?>("_van_position_coverage_sla_id").Equals(model.Coverage[j].SlaId)).Select(vansla =>
|
|
new PositionCoverages
|
|
{
|
|
VanPositionCoverageId = vansla.Field<Int64?>("_van_position_coverage_id"),
|
|
VanPositionCoverageVanLatitude = vansla.Field<string>("_van_position_coverage_van_latitude"),
|
|
VanPositionCoverageVanLongitude = vansla.Field<string>("_van_position_coverage_van_longitude")
|
|
}).ToList();
|
|
|
|
VanPositionCoverage objposition = new VanPositionCoverage();
|
|
objVanPositionCoverage.Insert(j, new VanPositionCoverage { SlaId = model.Coverage[j].SlaId, SlaValue = model.Coverage[j].SlaValue, ListCoverage = lstPositionCoverages });
|
|
|
|
}
|
|
}
|
|
objListModel.Coverage = objVanPositionCoverage;
|
|
}
|
|
// insert van coverage.
|
|
else
|
|
{
|
|
for (int i = 0; i < model.Coverage.Count; i++)
|
|
{
|
|
if (model.Coverage[i].SlaId != null && model.Coverage[i].ListCoverage != null)
|
|
{
|
|
for (int j = 0; j < model.Coverage[i].ListCoverage.Count; j++)
|
|
{
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[8];
|
|
nSqlParam[0] = new NpgsqlParameter("inid", model.Coverage[i].ListCoverage[j].VanPositionCoverageId);
|
|
nSqlParam[1] = new NpgsqlParameter("invan_id ", model.VanId);
|
|
nSqlParam[2] = new NpgsqlParameter("insla_id ", model.Coverage[i].SlaId);
|
|
nSqlParam[3] = new NpgsqlParameter("invan_coverage_latitude ", model.Coverage[i].ListCoverage[j].VanPositionCoverageVanLatitude);
|
|
nSqlParam[4] = new NpgsqlParameter("invan_coverage_longitude ", model.Coverage[i].ListCoverage[j].VanPositionCoverageVanLongitude);
|
|
nSqlParam[5] = new NpgsqlParameter("invan_lat ", model.VanDefaultLatitude);
|
|
nSqlParam[6] = new NpgsqlParameter("invan_longitude ", model.VanDefaultLongitude);
|
|
nSqlParam[7] = new NpgsqlParameter("inoperation ", model.Operation);
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_or_get_van_position_coverage"], nSqlParam);
|
|
|
|
// For Telematics Use
|
|
// NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_sync_telematics_van_position_coverage"], nSqlParam);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
objListModel.Status = "1";
|
|
}
|
|
else
|
|
{
|
|
objListModel.Status = "0";
|
|
objListModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objListModel.Status = "0";
|
|
objListModel.Message = Ex.Message;
|
|
objLog.ErrorLogFile("GetCustomerDetails", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objListModel;
|
|
}
|
|
|
|
/// <summary>
|
|
/// To update van position details
|
|
/// </summary>
|
|
/// <param name="model">contain van position detail</param>
|
|
/// <returns>status</returns>
|
|
public GetVanPositionModel UpdateVanPositionDetail(GetVanPositionModel model)
|
|
{
|
|
GetVanPositionModel objModel = new GetVanPositionModel();
|
|
try
|
|
{
|
|
objAuthorization = new AuthenticationRepository();
|
|
if (objAuthorization.AuthenticateDevice(model.Token))
|
|
{
|
|
for (int i = 0; i < model.VanList.Count; i++)
|
|
{
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[11];
|
|
nSqlParam[0] = new NpgsqlParameter("inid ", model.VanList[i].VanId);
|
|
nSqlParam[1] = new NpgsqlParameter("inalias ", null);
|
|
nSqlParam[2] = new NpgsqlParameter("invan_default_lattitude ", model.VanList[i].VanDefaultLatitude);
|
|
nSqlParam[3] = new NpgsqlParameter("invan_default_longitude ", model.VanList[i].VanDefaultLongitude);
|
|
nSqlParam[4] = new NpgsqlParameter("incity ", model.VanList[i].DealerCity);
|
|
nSqlParam[5] = new NpgsqlParameter("instate ", model.VanList[i].DealerState);
|
|
nSqlParam[6] = new NpgsqlParameter("invan_model ", model.VanList[i].VanModelName);
|
|
nSqlParam[7] = new NpgsqlParameter("inregistration_number ", model.VanList[i].VanRegistrationNo);
|
|
nSqlParam[8] = new NpgsqlParameter("invan_registered_as ", model.VanList[i].ServiceEngineerName);
|
|
nSqlParam[9] = new NpgsqlParameter("inisdeleted ", null);
|
|
nSqlParam[10] = new NpgsqlParameter("inroute_id ", null);
|
|
NpgSqlHelper.ExecuteNonQuery(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_van"], nSqlParam);
|
|
// For Telematics Use
|
|
//NpgSqlHelper.ExecuteNonQuery(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_sync_van_details"]);
|
|
for (int j = 0; j < model.VanList[i].VanPostionList.Count; j++)
|
|
{
|
|
nSqlParam = new NpgsqlParameter[5];
|
|
nSqlParam[0] = new NpgsqlParameter("inid ", model.VanList[i].VanPostionList[j].VanPositionCoverageId);
|
|
nSqlParam[1] = new NpgsqlParameter("invan_id ", model.VanList[i].VanPostionList[j].VanPositionCoverageVanId);
|
|
nSqlParam[2] = new NpgsqlParameter("insla_id ", model.VanList[i].VanPostionList[j].VanPositionCoverageSlaId);
|
|
nSqlParam[3] = new NpgsqlParameter("invan_latitude ", model.VanList[i].VanPostionList[j].VanPositionCoverageVanLatitude);
|
|
nSqlParam[4] = new NpgsqlParameter("invan_longitude ", model.VanList[i].VanPostionList[j].VanPositionCoverageVanLongitude);
|
|
NpgSqlHelper.ExecuteNonQuery(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_van_position_coverage"], nSqlParam);
|
|
// For Telematics Use
|
|
// NpgSqlHelper.ExecuteNonQuery(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_sync_van_position_coverage"]);
|
|
}
|
|
}
|
|
objModel.Status = "1";
|
|
}
|
|
else
|
|
{
|
|
objModel.Status = "0";
|
|
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Status = "0";
|
|
objModel.Message = Ex.Message;
|
|
objLog.ErrorLogFile("GetCustomerDetails", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objModel;
|
|
}
|
|
|
|
/// <summary>
|
|
/// To insert/remove alarm for van not move
|
|
/// </summary>
|
|
/// <param name="model">van info</param>
|
|
/// <returns>contain status or message</returns>
|
|
public GetVanPositionModel VanNotMoveAfterAcceptTicket(GetVanPositionModel model)
|
|
{
|
|
DataSet dsTicket = new DataSet();
|
|
DataSet dsTrack = new DataSet();
|
|
GetVanPositionModel objModel = new GetVanPositionModel();
|
|
try
|
|
{
|
|
//Declare local variable for default lat long.
|
|
double[] tempLatitude = { 0.0, 0.0 };
|
|
double[] tempLongitude = { 0.0, 0.0 };
|
|
double distance = 0.0;
|
|
DistanceCalc oDistanceCalc = new DistanceCalc();
|
|
objAuthorization = new AuthenticationRepository();
|
|
if (objAuthorization.AuthenticateDevice(model.Token))
|
|
{
|
|
//Get ticket for van not move
|
|
dsTicket = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_ticket_for_van_not_move"]);
|
|
|
|
string deviceAlias = null;
|
|
string ticketAssignDate = null;
|
|
DateTime dateAssign = new DateTime();
|
|
|
|
for (int i = 0; i < dsTicket.Tables[0].Rows.Count; i++)
|
|
{
|
|
//Get History log for calculating distance from assign time location and current location
|
|
dateAssign = DateTime.Parse(dsTicket.Tables[0].Rows[i]["last_modified_time"].ToString());
|
|
deviceAlias = dsTicket.Tables[0].Rows[i]["_service_engineer_device_alias"].ToString();
|
|
ticketAssignDate = dateAssign.ToString(ConfigurationManager.AppSettings["DateTimeFormat"]);
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
|
nSqlParam[0] = new NpgsqlParameter("indevice_alias ", deviceAlias);
|
|
nSqlParam[1] = new NpgsqlParameter("inaccept_time ", ticketAssignDate);
|
|
nSqlParam[2] = new NpgsqlParameter("induration ", ConfigurationManager.AppSettings["VanPostionMoveDurationTime"]);
|
|
dsTrack = NpgSqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings["Vecv_Tracking"].ToString(), CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_current_and_history_log_for_van_move_or_not"], nSqlParam);
|
|
|
|
for (int j = 0; j < dsTrack.Tables[0].Rows.Count; j++)
|
|
{
|
|
tempLatitude[0] = Convert.ToDouble(dsTrack.Tables[0].Rows[j]["_latitude"].ToString());
|
|
tempLatitude[1] = Convert.ToDouble(dsTrack.Tables[0].Rows[j]["h_latitude"].ToString());
|
|
|
|
tempLongitude[0] = Convert.ToDouble(dsTrack.Tables[0].Rows[j]["_longitude"].ToString());
|
|
tempLongitude[1] = Convert.ToDouble(dsTrack.Tables[0].Rows[j]["h_longitude"].ToString());
|
|
|
|
// Get distance diff.
|
|
distance = oDistanceCalc.DistanceInKM(tempLatitude, tempLongitude);
|
|
|
|
/* check distance if distance is less then define distance for van not move like(.5 km)
|
|
then create a ticket(escalation) for van not move.*/
|
|
if (distance < Convert.ToDouble(ConfigurationManager.AppSettings["VanPostionMoveDurationInKM"].ToString()))
|
|
{
|
|
// create escalation ticket for van not move.
|
|
nSqlParam = new NpgsqlParameter[1];
|
|
nSqlParam[0] = new NpgsqlParameter("inticket_id ",
|
|
dsTicket.Tables[0].Rows[i]["tickets_open_id"].ToString());
|
|
NpgSqlHelper.ExecuteNonQuery(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_alarm_escalation_open_tickets"], nSqlParam);
|
|
}
|
|
else
|
|
{
|
|
/* If van move then remove escalation ticket for van.*/
|
|
nSqlParam = new NpgsqlParameter[1];
|
|
nSqlParam[0] = new NpgsqlParameter("inticket_id ", dsTicket.Tables[0].Rows[i]["tickets_open_id"].ToString());
|
|
NpgSqlHelper.ExecuteNonQuery(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_remove_alarm_escalation_open_tickets"], nSqlParam);
|
|
}
|
|
}
|
|
}
|
|
objModel.Status = "1";
|
|
}
|
|
else
|
|
{
|
|
objModel.Status = "0";
|
|
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Status = "0";
|
|
objModel.Message = Ex.Message;
|
|
objLog.ErrorLogFile("GetCustomerDetails", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objModel;
|
|
}
|
|
|
|
/// <summary>
|
|
/// To insert/remove alarm for van not Live
|
|
/// </summary>
|
|
/// <param name="model">van info and tracking</param>
|
|
/// <returns>status</returns>
|
|
public GetVanPositionModel VanNotLive(GetVanPositionModel model)
|
|
{
|
|
DataSet dsTicket = new DataSet();
|
|
DataSet dsTrack = new DataSet();
|
|
GetVanPositionModel objModel = new GetVanPositionModel();
|
|
try
|
|
{
|
|
objAuthorization = new AuthenticationRepository();
|
|
if (objAuthorization.AuthenticateDevice(model.Token))
|
|
{
|
|
//Get current log details from tracking db.
|
|
dsTicket = NpgSqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings["Vecv_Tracking"].ToString(), CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_current_log_devices_not_live_from_30min"]);
|
|
string strDeleteRecord = "true";
|
|
|
|
for (int i = 0; i < dsTicket.Tables[0].Rows.Count; i++)
|
|
{
|
|
if (i > 0)
|
|
{
|
|
strDeleteRecord = "false";
|
|
}
|
|
// insert current tracking details into eicher db.
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[11];
|
|
nSqlParam[0] = new NpgsqlParameter("indevicealias ", dsTicket.Tables[0].Rows[i]["_device_alias"]);
|
|
nSqlParam[1] = new NpgsqlParameter("inlatitude", dsTicket.Tables[0].Rows[i]["_latitude"]);
|
|
nSqlParam[2] = new NpgsqlParameter("inlongitude ", dsTicket.Tables[0].Rows[i]["_longitude"]);
|
|
nSqlParam[3] = new NpgsqlParameter("inlogtime ", dsTicket.Tables[0].Rows[i]["_log_time"]);
|
|
nSqlParam[4] = new NpgsqlParameter("inX_coordinate", dsTicket.Tables[0].Rows[i]["_x_coordinate"]);
|
|
nSqlParam[5] = new NpgsqlParameter("inY_coordinate", dsTicket.Tables[0].Rows[i]["_y_coordinate"]);
|
|
nSqlParam[6] = new NpgsqlParameter("inZ_coordinate", dsTicket.Tables[0].Rows[i]["_z_coordinate"]);
|
|
nSqlParam[7] = new NpgsqlParameter("inbattery_status", dsTicket.Tables[0].Rows[i]["_battery_status"]);
|
|
nSqlParam[8] = new NpgsqlParameter("ingps_status", dsTicket.Tables[0].Rows[i]["_gps_status"]);
|
|
nSqlParam[9] = new NpgsqlParameter("inis_charging", dsTicket.Tables[0].Rows[i]["_is_charging"]);
|
|
nSqlParam[10] = new NpgsqlParameter("inis_deleted", strDeleteRecord);
|
|
|
|
dsTrack = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_update_log"], nSqlParam);
|
|
}
|
|
objModel.Status = "1";
|
|
}
|
|
|
|
else
|
|
{
|
|
objModel.Status = "0";
|
|
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Status = "0";
|
|
objModel.Message = Ex.Message;
|
|
objLog.ErrorLogFile("GetCustomerDetails", Ex.Message, path, errorlogtf);
|
|
|
|
}
|
|
return objModel;
|
|
}
|
|
|
|
#endregion
|
|
}
|
|
|
|
#endregion
|
|
} |