4509 lines
184 KiB
C#
4509 lines
184 KiB
C#
namespace VECV_WebApi.Models.EmailServices
|
|
{
|
|
#region Namespaces
|
|
|
|
using DBHelper;
|
|
using LoggingHelper;
|
|
using Npgsql;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.Globalization;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Reflection;
|
|
using System.Text;
|
|
using System.Web;
|
|
using System.Web.Script.Serialization;
|
|
using System.Xml;
|
|
using System.Xml.Linq;
|
|
using VECV_WebApi.Models.Authorization;
|
|
using VECV_WebApi.Models.Customer;
|
|
using VECV_WebApi.Models.Dealer;
|
|
using VECV_WebApi.Models.ServiceEngineer;
|
|
using RestSharp;
|
|
using RestSharp.Deserializers;
|
|
using VECV_WebApi.Models.Ticket;
|
|
using Newtonsoft.Json.Linq;
|
|
using VECV_WebApi.Common;
|
|
using Newtonsoft.Json;
|
|
using System.Threading.Tasks;
|
|
using System.Net.Http;
|
|
using System.Net.Http.Headers;
|
|
using System.Security.Cryptography.X509Certificates;
|
|
using System.Net.Security;
|
|
|
|
#endregion
|
|
|
|
#region Repository Class
|
|
|
|
/// <summary>
|
|
/// This class contain global used method details
|
|
/// </summary>
|
|
public class GlobalRepository
|
|
{
|
|
#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 GlobalRepository(string connString)
|
|
{
|
|
this._connStr = connString;
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region API Methods
|
|
|
|
/// <summary>
|
|
/// To get all region list
|
|
/// </summary>
|
|
/// <returns>all region list</returns>
|
|
public List<RegionModel> GetAllRegionList()
|
|
{
|
|
List<RegionModel> objList = new List<RegionModel>();
|
|
RegionModel objModel = new RegionModel();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_region"]);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new RegionModel
|
|
{
|
|
RegionName = s.Field<string>("_region")
|
|
}).ToList();
|
|
}
|
|
return objList;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
|
objList.Add(objModel);
|
|
objLog.ErrorLogFile("GlobalRepository GetAllRegionList", Ex.Message, path, errorlogtf);
|
|
return objList;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// To get all TimeZone list
|
|
/// </summary>
|
|
/// <returns>all TimeZone list</returns>
|
|
public DealerDetailModel ReleaseIMEI(string IMEI)
|
|
{
|
|
DataSet dsRemoveServiceDeiceCredential = new DataSet();
|
|
TimeZoneModel objModel = new TimeZoneModel();
|
|
DealerDetailModel objDealerDetailModel = new DealerDetailModel();
|
|
try
|
|
{
|
|
NpgsqlParameter[] nSqlParamServiceDeiceCredential = new NpgsqlParameter[1];
|
|
nSqlParamServiceDeiceCredential[0] = new NpgsqlParameter("inimei_number", IMEI);
|
|
dsRemoveServiceDeiceCredential = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_release_service_engg_device_credentials_imei_number"], nSqlParamServiceDeiceCredential);
|
|
objDealerDetailModel.Status = dsRemoveServiceDeiceCredential.Tables[0].Rows[0][0].ToString();
|
|
return objDealerDetailModel;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
|
|
|
objLog.ErrorLogFile("GlobalRepository ReleaseIMEI", Ex.Message, path, errorlogtf);
|
|
throw Ex;
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// To get all TimeZone list
|
|
/// </summary>
|
|
/// <returns>all TimeZone list</returns>
|
|
public List<TimeZoneModel> GetAllTimeZoneList()
|
|
{
|
|
List<TimeZoneModel> objList = new List<TimeZoneModel>();
|
|
TimeZoneModel objModel = new TimeZoneModel();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_timezone_info"]);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TimeZoneModel
|
|
{
|
|
TimeZoneId = s.Field<Int64>("timezone_id"),
|
|
TimeZoneName = s.Field<string>("display_name"),
|
|
UtcMinute = s.Field<double?>("offset_in_minutes"),
|
|
DisplayId = s.Field<string>("display_id"),
|
|
}).ToList();
|
|
}
|
|
return objList;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
|
objList.Add(objModel);
|
|
objLog.ErrorLogFile("GlobalRepository GetAllTimeZoneList", Ex.Message, path, errorlogtf);
|
|
return objList;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get all State list
|
|
/// </summary>
|
|
/// <param name="model">state info</param>
|
|
/// <returns>all State list</returns>
|
|
public List<StateModel> GetAllStateList(StateModel model)
|
|
{
|
|
List<StateModel> objList = new List<StateModel>();
|
|
StateModel objModel = new StateModel();
|
|
try
|
|
{
|
|
objAuthorization = new AuthenticationRepository();
|
|
if (objAuthorization.AuthenticateDevice(model.Token))
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_state"]);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new StateModel
|
|
{
|
|
StateId = s.Field<string>("state_id"),
|
|
StateAlias = s.Field<string>("state_alias")
|
|
}).ToList();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
|
objList.Add(objModel);
|
|
}
|
|
|
|
return objList;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
|
objList.Add(objModel);
|
|
objLog.ErrorLogFile("GlobalRepository GetAllStateList", Ex.Message, path, errorlogtf);
|
|
return objList;
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// To get all State list Region Wise
|
|
/// </summary>
|
|
/// <param name="model">state info</param>
|
|
/// <returns>all State list</returns>
|
|
public List<StateModel> GetAllStateListRegionWise(OrgganizationModel model)
|
|
{
|
|
List<StateModel> objList = new List<StateModel>();
|
|
StateModel objModel = new StateModel();
|
|
try
|
|
{
|
|
objAuthorization = new AuthenticationRepository();
|
|
if (objAuthorization.AuthenticateDevice(model.Token))
|
|
{
|
|
DataSet ds = new DataSet();
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
|
nSqlParam[0] = new NpgsqlParameter("inregion_id ", model.Id);
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_state_region_wise"], nSqlParam);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new StateModel
|
|
{
|
|
StateId = s.Field<string>("state_id"),
|
|
StateAlias = s.Field<string>("state_alias")
|
|
}).ToList();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
|
objList.Add(objModel);
|
|
}
|
|
|
|
return objList;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
|
objList.Add(objModel);
|
|
objLog.ErrorLogFile("GlobalRepository GetAllStateListRegionWise", Ex.Message, path, errorlogtf);
|
|
return objList;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get all City List State Id Wise
|
|
/// </summary>
|
|
/// <param name="model">state info</param>
|
|
/// <returns>all City List State Id Wise</returns>
|
|
public List<CityModel> GetAllCityListStateIdWise(CityModel model)
|
|
{
|
|
List<CityModel> objList = new List<CityModel>();
|
|
CityModel objModel = new CityModel();
|
|
try
|
|
{
|
|
objAuthorization = new AuthenticationRepository();
|
|
if (objAuthorization.AuthenticateDevice(model.Token))
|
|
{
|
|
DataSet ds = new DataSet();
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
|
nSqlParam[0] = new NpgsqlParameter("instate_id ", model.StateId);
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_city_state_wise"], nSqlParam);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new CityModel
|
|
{
|
|
CityId = s.Field<string>("city_id"),
|
|
CityName = s.Field<string>("city_alias")
|
|
}).ToList();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
|
objList.Add(objModel);
|
|
}
|
|
return objList;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
|
objList.Add(objModel);
|
|
objLog.ErrorLogFile("GlobalRepository GetAllCityListStateIdWise", Ex.Message, path, errorlogtf);
|
|
return objList;
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get all Organization List User Id Wise
|
|
/// </summary>
|
|
/// <param name="model">user info</param>
|
|
/// <returns>all Organization List User Id Wise</returns>
|
|
public List<OrgganizationModel> GetAllOrganizationListUserIdWise(OrgganizationModel model)
|
|
{
|
|
List<OrgganizationModel> objList = new List<OrgganizationModel>();
|
|
OrgganizationModel objModel = new OrgganizationModel();
|
|
try
|
|
{
|
|
objAuthorization = new AuthenticationRepository();
|
|
if (objAuthorization.AuthenticateDevice(model.Token))
|
|
{
|
|
DataSet ds = new DataSet();
|
|
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
|
nSqlParam[0] = new NpgsqlParameter("inuserid ", model.Id);
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_organization_user_wise"], nSqlParam);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new OrgganizationModel
|
|
{
|
|
OrganizationName = s.Field<string>("_organization_name"),
|
|
Region = s.Field<string>("_region"),
|
|
Id = s.Field<int>("_id")
|
|
}).ToList();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
|
objList.Add(objModel);
|
|
}
|
|
return objList;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
|
objList.Add(objModel);
|
|
objLog.ErrorLogFile("GlobalRepository GetAllOrganizationListUserIdWise", Ex.Message, path, errorlogtf);
|
|
return objList;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get all Organization all Vehicle Type List
|
|
/// </summary>
|
|
/// <returns>all Organization all Vehicle Type List</returns>
|
|
public List<VehicleTypeModel> GetAllVehicleTypeList()
|
|
{
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
List<VehicleTypeModel> objList = new List<VehicleTypeModel>();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_vehicle_model"]);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new VehicleTypeModel
|
|
{
|
|
VehicleTypeId = s.Field<string>("id"),
|
|
VehicleTypeName = s.Field<string>("name"),
|
|
VehicleTypeTagging = s.Field<string>("tagging"),
|
|
IsDeleted = s.Field<bool>("is_deleted"),
|
|
udanVehicleProductId = s.Field<string>("udanVehicleProductId"),
|
|
udanVehicleProductName = s.Field<string>("udanVehicleProductName")
|
|
}).ToList();
|
|
}
|
|
return objList;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetAllVehicleTypeList", Ex.Message, path, errorlogtf);
|
|
throw Ex;
|
|
}
|
|
}
|
|
|
|
public List<VehicleTypeModel> GetAllVehicleTypeListByFuelType(string fueltype)
|
|
{
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
List<VehicleTypeModel> objList = new List<VehicleTypeModel>();
|
|
// ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_vehicle_model"]);
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
|
nSqlParam[0] = new NpgsqlParameter("infueltype ", fueltype);
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_vehicle_model_fuel_type"], nSqlParam);
|
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new VehicleTypeModel
|
|
{
|
|
VehicleTypeId = s.Field<string>("id"),
|
|
VehicleTypeName = s.Field<string>("name"),
|
|
VehicleTypeTagging = s.Field<string>("tagging"),
|
|
IsDeleted = s.Field<bool>("is_deleted"),
|
|
udanVehicleProductId = s.Field<string>("udanVehicleProductId"),
|
|
udanVehicleProductName = s.Field<string>("udanVehicleProductName")
|
|
}).ToList();
|
|
}
|
|
return objList;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetAllVehicleTypeList", Ex.Message, path, errorlogtf);
|
|
throw Ex;
|
|
}
|
|
}
|
|
|
|
|
|
public Telematic_Model ChassisTelematicDetail(string Chassis)
|
|
{
|
|
string APIRegistrationNo = string.Format(ConfigurationManager.AppSettings["EOSAPIFORGETTINGTELEMATICDATA"].ToString(), Chassis);
|
|
|
|
try
|
|
{
|
|
Telematic_Model model = new Telematic_Model();
|
|
WebRequest req = WebRequest.Create(APIRegistrationNo);
|
|
req.Method = "GET";
|
|
|
|
ServicePointManager.Expect100Continue = true;
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
|
| SecurityProtocolType.Tls11
|
|
| SecurityProtocolType.Tls12
|
|
| SecurityProtocolType.Ssl3
|
|
| (SecurityProtocolType)3072;
|
|
WebResponse webRes = req.GetResponse();
|
|
|
|
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
|
|
if (resp.StatusCode == HttpStatusCode.Created)
|
|
{
|
|
StreamReader ResponseDataStream = new StreamReader(resp.GetResponseStream());
|
|
String res = ResponseDataStream.ReadToEnd();
|
|
JavaScriptSerializer js = new JavaScriptSerializer();
|
|
model = js.Deserialize<Telematic_Model>(res);
|
|
|
|
}
|
|
return model;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository ChassisTelematicDetail " + APIRegistrationNo, Ex.Message, path, errorlogtf);
|
|
throw Ex;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/* public async Task<Telematic_Model> getTelematics(string chssis_no)
|
|
{
|
|
Telematic_Model objTelematic_Model = new Telematic_Model();
|
|
var client = new HttpClient();
|
|
var request = new HttpRequestMessage(HttpMethod.Get, ConfigurationManager.AppSettings["EOSAPIFORGETTINGTELEMATICDATA"].ToString());
|
|
|
|
// Username and password for Basic Authentication
|
|
var username = ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGTELEMATICDATA"].ToString();
|
|
var password = ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGTELEMATICDATA"].ToString();
|
|
|
|
var byteArray = System.Text.Encoding.ASCII.GetBytes($"{username}:{password}");
|
|
request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
|
|
|
|
|
|
|
|
var response = await client.SendAsync(request);
|
|
|
|
response.EnsureSuccessStatusCode();
|
|
Console.WriteLine(await response.Content.ReadAsStringAsync());
|
|
return objTelematic_Model;
|
|
}*/
|
|
|
|
public async Task<Telematic_Model> getTelematics(string chssis_no)
|
|
{
|
|
Telematic_Model objTelematic_Model = new Telematic_Model();
|
|
var client = new HttpClient();
|
|
var request = new HttpRequestMessage(HttpMethod.Get, ConfigurationManager.AppSettings["EOSAPIFORGETTINGTELEMATICDATA"].ToString());
|
|
|
|
// Username and password for Basic Authentication
|
|
var username = ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGTELEMATICDATA"].ToString();
|
|
var password = ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGTELEMATICDATA"].ToString();
|
|
|
|
var byteArray = System.Text.Encoding.ASCII.GetBytes($"{username}:{password}");
|
|
request.Headers.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
|
|
|
|
|
|
try
|
|
{
|
|
var response = await client.SendAsync(request);
|
|
if (!response.IsSuccessStatusCode)
|
|
{
|
|
string errorContent = await response.Content.ReadAsStringAsync();
|
|
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
|
|
|
bool isSend = objTicketRepository.emailForError($"HTTP {(int)response.StatusCode}: {response.ReasonPhrase}", "getTelematics");
|
|
objLog.ErrorLogFile("getTelematics", errorContent, path, errorlogtf);
|
|
|
|
return null; // or handle fallback
|
|
}
|
|
response.EnsureSuccessStatusCode();
|
|
Console.WriteLine(await response.Content.ReadAsStringAsync());
|
|
|
|
}
|
|
catch (HttpRequestException ex)
|
|
{
|
|
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
|
bool isSend = objTicketRepository.emailForError("HTTP Request failed: " + ex.Message, "getTelematics");
|
|
objLog.ErrorLogFile("getTelematics", ex.Message, path, errorlogtf);
|
|
}
|
|
return objTelematic_Model;
|
|
}
|
|
|
|
public CustomerModel checkRegistartionNoandGetDetail(CustomerModel model)
|
|
{
|
|
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
|
nSqlParam[0] = new NpgsqlParameter("inregistration_number", model.VehicleRegistrationNumber);
|
|
nSqlParam[1] = new NpgsqlParameter("inchassis_number", model.VehicleNumberPlate);
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_detail_By_DBM"], nSqlParam);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
|
|
model.VehicleRegistrationNumber = ds.Tables[0].Rows[0]["_vehicle_registration_number"].ToString();
|
|
model.VehicleNumberPlate = ds.Tables[0].Rows[0]["vehicle_number_plate"].ToString();
|
|
model.VehicleModelNumber = ds.Tables[0].Rows[0]["_customer_vehicle_model_name"].ToString();
|
|
model.VehicleType = ds.Tables[0].Rows[0]["_vehicle_type"].ToString();
|
|
model.CustomerCustomerName = ds.Tables[0].Rows[0]["_customer_customer_name"].ToString();
|
|
model.CustomerMobileNumber1 = ds.Tables[0].Rows[0]["_customer_mobile_number_1"].ToString();
|
|
model.CustomerEmailId = ds.Tables[0].Rows[0]["_customer_mobile_number_1"].ToString();
|
|
model.CustomerAddress = ds.Tables[0].Rows[0]["_customer_address"].ToString();
|
|
model.CustomerState = ds.Tables[0].Rows[0]["_customer_state"].ToString();
|
|
model.CustomerCity = ds.Tables[0].Rows[0]["_customer_city"].ToString();
|
|
if (ds.Tables[0].Rows[0]["_customer_id"].ToString() == null) { model.CustomerId = ""; }
|
|
else
|
|
{
|
|
model.CustomerId = ds.Tables[0].Rows[0]["_customer_id"].ToString();
|
|
}
|
|
|
|
model.CustomerType = ds.Tables[0].Rows[0]["_customer_type"].ToString();
|
|
}
|
|
else
|
|
{
|
|
model.CustomerType = "";
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository checkRegistartionNoandGetDetail", Ex.Message, path, errorlogtf);
|
|
throw Ex;
|
|
}
|
|
return model;
|
|
}
|
|
|
|
|
|
|
|
public CustomerModel checkChassisNoandGetDetail(CustomerModel model)
|
|
{
|
|
try
|
|
{
|
|
String result = model.VehicleRegistrationNumber.Substring(model.VehicleRegistrationNumber.Length - 6);
|
|
DataSet ds = new DataSet();
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
|
nSqlParam[0] = new NpgsqlParameter("inregistration_number ", null);
|
|
nSqlParam[1] = new NpgsqlParameter("inchassis_number ", result);
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_detail_By_DBM"], nSqlParam);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
|
|
model.VehicleRegistrationNumber = ds.Tables[0].Rows[0]["_vehicle_registration_number"].ToString();
|
|
model.VehicleNumberPlate = ds.Tables[0].Rows[0]["vehicle_number_plate"].ToString();
|
|
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository checkChassisNoandGetDetail", Ex.Message, path, errorlogtf);
|
|
throw Ex;
|
|
}
|
|
return model;
|
|
}
|
|
public CustomerModel checkChassisNoandGetDetailEPS(CustomerModel model)
|
|
{
|
|
try
|
|
{
|
|
// String result = model.VehicleRegistrationNumber.Substring(model.VehicleRegistrationNumber.Length - 6);
|
|
DataSet ds = new DataSet();
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
|
|
|
nSqlParam[0] = new NpgsqlParameter("inengine_number ", model.VehicleNumberPlate);
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_valid_engine_number_eps"], nSqlParam);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
|
|
// model.VehicleRegistrationNumber = ds.Tables[0].Rows[0]["_vehicle_registration_number"].ToString();
|
|
model.VehicleNumberPlate = ds.Tables[0].Rows[0]["sp_valid_engine_number_eps"].ToString();
|
|
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository checkChassisNoandGetDetail", Ex.Message, path, errorlogtf);
|
|
throw Ex;
|
|
}
|
|
return model;
|
|
}
|
|
|
|
public CustomerModel checkChassisNoandGetDetailpreclosure(CustomerModel model)
|
|
{
|
|
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
|
string APIRegistrationNo = string.Format(ConfigurationManager.AppSettings["EOSAPIFORGETTINGCUSTOMERDATA"].ToString(), "", model.VehicleRegistrationNumber.ToUpper());
|
|
try
|
|
{
|
|
WebRequest req = WebRequest.Create(APIRegistrationNo);
|
|
req.Method = "GET";
|
|
string userNameAndPassword = ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGCUSTOMERDATA"].ToString() + ":" + ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGCUSTOMERDATA"].ToString();
|
|
req.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(userNameAndPassword));
|
|
req.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGCUSTOMERDATA"].ToString(), ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGCUSTOMERDATA"].ToString());
|
|
ServicePointManager.Expect100Continue = true;
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
|
| SecurityProtocolType.Tls11
|
|
| SecurityProtocolType.Tls12
|
|
| SecurityProtocolType.Ssl3
|
|
| (SecurityProtocolType)3072;
|
|
WebResponse webRes = req.GetResponse();
|
|
|
|
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
|
|
if (resp.StatusCode == HttpStatusCode.OK)
|
|
{
|
|
StreamReader ResponseDataStream = new StreamReader(resp.GetResponseStream());
|
|
String res = ResponseDataStream.ReadToEnd();
|
|
|
|
XmlDocument XMLDoc = new XmlDocument();
|
|
XMLDoc.LoadXml(res);
|
|
|
|
XmlNodeList nodeList = XMLDoc.GetElementsByTagName("content");
|
|
XNamespace ab = "http://schemas.microsoft.com/ado/2007/08/dataservices";
|
|
string Short_Fall = string.Empty;
|
|
foreach (XmlNode node in nodeList)
|
|
{
|
|
XDocument doc = XDocument.Parse(node.InnerXml);
|
|
XElement tempElement = doc.Descendants(ab + "Vhvin").FirstOrDefault();
|
|
model.VehicleRegistrationNumber = tempElement.Value;
|
|
|
|
model.VehicleNumberPlate = tempElement.Value;//Chassis Number
|
|
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
bool isSend = objTicketRepository.emailForError(Ex.Message, APIRegistrationNo);
|
|
|
|
objLog.ErrorLogFile("GlobalRepository checkChassisNoandGetDetailpreclosure " + APIRegistrationNo, Ex.Message, path, errorlogtf);
|
|
throw Ex;
|
|
}
|
|
return model;
|
|
}
|
|
|
|
/* public CustomerModel checkChassisNoandGetDetailpreclosure(CustomerModel model)
|
|
{
|
|
string APIRegistrationNo = string.Format(
|
|
ConfigurationManager.AppSettings["EOSAPIFORGETTINGCUSTOMERDATA"].ToString(),
|
|
"",
|
|
model.VehicleRegistrationNumber.ToUpper()
|
|
);
|
|
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
|
|
|
try
|
|
{
|
|
var clientVehicleType = new RestClient(APIRegistrationNo)
|
|
{
|
|
Timeout = 10000
|
|
};
|
|
|
|
var requestVehicleType = new RestRequest(Method.GET);
|
|
|
|
// Configure security protocols
|
|
ServicePointManager.Expect100Continue = true;
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
|
| SecurityProtocolType.Tls11
|
|
| SecurityProtocolType.Tls12
|
|
| SecurityProtocolType.Ssl3
|
|
| (SecurityProtocolType)3072;
|
|
|
|
// Basic authentication
|
|
var username = ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGCUSTOMERDATA"].ToString();
|
|
var password = ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGCUSTOMERDATA"].ToString();
|
|
var credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes($"{username}:{password}"));
|
|
|
|
requestVehicleType.AddHeader("Authorization", $"Basic {credentials}");
|
|
requestVehicleType.AddHeader("Accept", "application/xml");
|
|
requestVehicleType.AddHeader("Content-Type", "application/xml");
|
|
|
|
IRestResponse responseVehicleType = clientVehicleType.Execute(requestVehicleType);
|
|
|
|
|
|
// Handle connection or timeout errors
|
|
if (responseVehicleType.ResponseStatus == ResponseStatus.Error ||
|
|
responseVehicleType.ResponseStatus == ResponseStatus.TimedOut)
|
|
{
|
|
bool isSendemail = objTicketRepository.emailForError(responseVehicleType.ErrorMessage.ToString(), clientVehicleType.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), responseVehicleType.ErrorMessage.ToString(), path, errorlogtf);
|
|
|
|
model.Status = "2";
|
|
model.Message = "API error or timeout occurred.";
|
|
return model;
|
|
}
|
|
|
|
// Handle Unauthorized
|
|
if (responseVehicleType.StatusCode == HttpStatusCode.Unauthorized)
|
|
{
|
|
bool isSendEmail = objTicketRepository.emailForError("API Login Failed: Unauthorized.", clientVehicleType.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), "API Login Failed: Unauthorized.", path, errorlogtf);
|
|
|
|
model.Status = "2";
|
|
model.Message = "Unauthorized API access.";
|
|
return model;
|
|
}
|
|
|
|
// Handle BadRequest or NotFound
|
|
if (responseVehicleType.StatusCode == HttpStatusCode.BadRequest ||
|
|
responseVehicleType.StatusCode == HttpStatusCode.NotFound)
|
|
{
|
|
model.Status = "2";
|
|
model.Message = "Invalid chassis number or request.";
|
|
//bool isSendemail = objTicketRepository.emailForError($"API returned {responseVehicleType.StatusCode}: {responseVehicleType.Content}", APIRegistrationNo);
|
|
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(),
|
|
$"API returned {responseVehicleType.StatusCode}: {responseVehicleType.Content}",
|
|
path, errorlogtf);
|
|
|
|
return model;
|
|
}
|
|
|
|
// Handle OK response
|
|
if (responseVehicleType.StatusCode == HttpStatusCode.OK)
|
|
{
|
|
byte[] bytes = Encoding.Default.GetBytes(responseVehicleType.Content);
|
|
string res = Encoding.UTF8.GetString(bytes);
|
|
|
|
XmlDocument XMLDoc = new XmlDocument();
|
|
XMLDoc.LoadXml(res);
|
|
|
|
XmlNodeList nodeList = XMLDoc.GetElementsByTagName("content");
|
|
XNamespace ab = "http://schemas.microsoft.com/ado/2007/08/dataservices";
|
|
|
|
if (nodeList.Count == 0)
|
|
{
|
|
model.Status = "2";
|
|
model.Message = "No data found for the given chassis number.";
|
|
return model;
|
|
}
|
|
|
|
foreach (XmlNode node in nodeList)
|
|
{
|
|
XDocument doc = XDocument.Parse(node.InnerXml);
|
|
XElement tempElement = doc.Descendants(ab + "Vhvin").FirstOrDefault();
|
|
|
|
if (tempElement != null)
|
|
{
|
|
model.VehicleRegistrationNumber = tempElement.Value;
|
|
model.VehicleNumberPlate = tempElement.Value; // Chassis Number
|
|
model.Status = "1";
|
|
model.Message = "Data retrieved successfully.";
|
|
}
|
|
else
|
|
{
|
|
model.Status = "2";
|
|
model.Message = "Chassis number data not found in response.";
|
|
}
|
|
}
|
|
|
|
return model;
|
|
}
|
|
|
|
// If response is something else unexpected
|
|
model.Status = "2";
|
|
model.Message = $"Unexpected API response: {responseVehicleType.StatusCode}";
|
|
// bool isSend = objTicketRepository.emailForError($"Unexpected API response: {responseVehicleType.StatusCode} - {responseVehicleType.Content}", APIRegistrationNo);
|
|
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(),
|
|
$"Unexpected API response: {responseVehicleType.StatusCode} - {responseVehicleType.Content}",
|
|
path, errorlogtf);
|
|
|
|
return model;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
bool isSend = objTicketRepository.emailForError(ex.Message, APIRegistrationNo);
|
|
objLog.ErrorLogFile("GlobalRepository checkChassisNoandGetDetailpreclosure " + APIRegistrationNo, ex.Message, path, errorlogtf);
|
|
throw; // preserve stack trace
|
|
}
|
|
}*/
|
|
|
|
/* public CustomerModel checkChassisNoandGetDetailpreclosure(CustomerModel model)
|
|
{
|
|
|
|
string APIRegistrationNo = string.Format(ConfigurationManager.AppSettings["EOSAPIFORGETTINGCUSTOMERDATA"].ToString(), "", model.VehicleRegistrationNumber.ToUpper());
|
|
try
|
|
{
|
|
var clientVehicleType = new RestClient(APIRegistrationNo);
|
|
clientVehicleType.Timeout = 10000;
|
|
var requestVehicleType = new RestRequest(Method.GET);
|
|
ServicePointManager.Expect100Continue = true;
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
|
| SecurityProtocolType.Tls11
|
|
| SecurityProtocolType.Tls12
|
|
| SecurityProtocolType.Ssl3
|
|
| (SecurityProtocolType)3072;
|
|
var username = ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGCUSTOMERDATA"].ToString();
|
|
var password = ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGCUSTOMERDATA"].ToString();
|
|
|
|
// Add Basic Authentication
|
|
var credentials = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes($"{username}:{password}"));
|
|
|
|
// Add Basic Authentication header
|
|
requestVehicleType.AddHeader("Authorization", $"Basic {credentials}");
|
|
requestVehicleType.AddHeader("Accept", "application/xml");
|
|
requestVehicleType.AddHeader("Content-Type", "application/xml");
|
|
IRestResponse responseVehicleType = clientVehicleType.Execute(requestVehicleType);
|
|
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
|
if (responseVehicleType.ResponseStatus.ToString() == "Error")
|
|
{
|
|
|
|
bool isSend = objTicketRepository.emailForError(responseVehicleType.ErrorMessage.ToString(), clientVehicleType.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), responseVehicleType.ErrorMessage.ToString(), path, errorlogtf);
|
|
|
|
}
|
|
else
|
|
{
|
|
if (responseVehicleType.ResponseStatus.ToString() == "TimedOut")
|
|
{
|
|
|
|
bool isSend = objTicketRepository.emailForError(responseVehicleType.ErrorMessage.ToString(), clientVehicleType.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), responseVehicleType.ErrorMessage.ToString(), path, errorlogtf);
|
|
|
|
}
|
|
else
|
|
{
|
|
if (responseVehicleType.StatusCode == System.Net.HttpStatusCode.Unauthorized)
|
|
{
|
|
bool isSend = objTicketRepository.emailForError("API Login Failed:Login failed.The server response is Unauthorized. ", clientVehicleType.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), "API Login Failed:Login failed. The server response is Unauthorized. ", path, errorlogtf);
|
|
|
|
}
|
|
else
|
|
if (responseVehicleType.StatusCode == System.Net.HttpStatusCode.OK)
|
|
{
|
|
byte[] bytes = Encoding.Default.GetBytes(responseVehicleType.Content);
|
|
string res = Encoding.UTF8.GetString(bytes);
|
|
|
|
|
|
XmlDocument XMLDoc = new XmlDocument();
|
|
XMLDoc.LoadXml(res);
|
|
|
|
XmlNodeList nodeList = XMLDoc.GetElementsByTagName("content");
|
|
XNamespace ab = "http://schemas.microsoft.com/ado/2007/08/dataservices";
|
|
string Short_Fall = string.Empty;
|
|
foreach (XmlNode node in nodeList)
|
|
{
|
|
XDocument doc = XDocument.Parse(node.InnerXml);
|
|
XElement tempElement = doc.Descendants(ab + "Vhvin").FirstOrDefault();
|
|
model.VehicleRegistrationNumber = tempElement.Value;
|
|
|
|
model.VehicleNumberPlate = tempElement.Value;//Chassis Number
|
|
|
|
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
|
|
// bool isSend = objTicketRepository.emailForError(responseVehicleType.StatusCode.ToString(), clientVehicleType.BaseUrl.ToString());
|
|
// objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), "API Login Failed:Login failed. The server response is Unauthorized. ", path, errorlogtf);
|
|
model.Status = "2";
|
|
model.Message = "invalid chassis";
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository checkChassisNoandGetDetailpreclosure " + APIRegistrationNo, Ex.Message, path, errorlogtf);
|
|
throw Ex;
|
|
}
|
|
return model;
|
|
}*/
|
|
|
|
|
|
public List<Engine_SRCH_Model> getEngineBysuggestion(Engine_SRCH_Model model)
|
|
{
|
|
List<Engine_SRCH_Model> objList = new List<Engine_SRCH_Model>();
|
|
if (model.EngineSearch == null)
|
|
{
|
|
}
|
|
else
|
|
{
|
|
CustomerModel objModelCustomerModel = new CustomerModel();
|
|
objModelCustomerModel.VehicleNumberPlate = model.EngineSearch;
|
|
//objModelCustomerModel = objGlobalRepository.checkChassisNoandGetDetailEPS(objModelCustomerModel);
|
|
List<CustomerModel> objCustomerList = new List<CustomerModel>();
|
|
objCustomerList = checkChassisNoandGetCustomerDetailEPS(objModelCustomerModel);
|
|
//if (objModelCustomerModel.VehicleNumberPlate != "" || (objModelCustomerModel.VehicleNumberPlate != null))
|
|
if (objCustomerList.Count > 0)
|
|
{
|
|
/*model.EngineNo = objModelCustomerModel.VehicleNumberPlate;
|
|
model.ChassisNo = objModelCustomerModel.VehicleNumberPlate;
|
|
model.VehicleType = "EPS";\*/
|
|
foreach (var customer in objCustomerList)
|
|
{
|
|
Engine_SRCH_Model resultModel = new Engine_SRCH_Model
|
|
{
|
|
ChassisNo = customer.VehicleRegistrationNumber,
|
|
EngineNo = customer.VehicleRegistrationNumber,
|
|
VehRegNo = customer.VehicleRegistrationNumber, // Use appropriate property if different
|
|
VehicleType = "EPS"
|
|
};
|
|
objList.Add(resultModel);
|
|
}
|
|
}
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
/* public List<CHASSIS_SRCH_Model> getChassisBysuggestion(CHASSIS_SRCH_Model model)
|
|
{
|
|
List<CHASSIS_SRCH_Model> objList = new List<CHASSIS_SRCH_Model>();
|
|
if (model.ChassisSearch == null)
|
|
{
|
|
}
|
|
else
|
|
{
|
|
string APIChassisSearch = string.Format(ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH"].ToString(), model.ChassisSearch.ToUpper());
|
|
|
|
|
|
try
|
|
{
|
|
//CHASSIS_SRCH_Model objChassis = new CHASSIS_SRCH_Mode();
|
|
|
|
ServicePointManager.Expect100Continue = true;
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
|
| SecurityProtocolType.Tls11
|
|
| SecurityProtocolType.Tls12
|
|
| SecurityProtocolType.Ssl3
|
|
| (SecurityProtocolType)3072;
|
|
WebRequest req = WebRequest.Create(APIChassisSearch);
|
|
req.Method = "GET";
|
|
string userNameAndPassword = ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_USERNAME"].ToString() + ":" + ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_PWD"].ToString();
|
|
req.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(userNameAndPassword));
|
|
req.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_USERNAME"].ToString(), ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_PWD"].ToString());
|
|
WebResponse webRes = req.GetResponse();
|
|
|
|
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
|
|
if (resp.StatusCode == HttpStatusCode.OK)
|
|
{
|
|
StreamReader ResponseDataStream = new StreamReader(resp.GetResponseStream());
|
|
String res = ResponseDataStream.ReadToEnd();
|
|
|
|
XmlDocument XMLDoc = new XmlDocument();
|
|
XMLDoc.LoadXml(res);
|
|
|
|
XmlNodeList nodeList = XMLDoc.GetElementsByTagName("content");
|
|
XNamespace ab = "http://schemas.microsoft.com/ado/2007/08/dataservices";
|
|
string Short_Fall = string.Empty;
|
|
foreach (XmlNode node in nodeList)
|
|
{
|
|
XDocument doc = XDocument.Parse(node.InnerXml);
|
|
XElement tempElement = doc.Descendants(ab + "Vhvin").FirstOrDefault();
|
|
model.ChassisNo = tempElement.Value;
|
|
|
|
tempElement = doc.Descendants(ab + "RegNo").FirstOrDefault();
|
|
model.VehRegNo = tempElement.Value;
|
|
|
|
// vehicle type logic - if Modline is blank then VT is H else type is Tipper
|
|
tempElement = doc.Descendants(ab + "Modline").FirstOrDefault();
|
|
model.VehicleType = tempElement.Value != "" & tempElement.Value != null ? "Tipper" : "Haulage";
|
|
|
|
objList.Add(new CHASSIS_SRCH_Model() { VehRegNo = model.VehRegNo, ChassisNo = model.ChassisNo, VehicleType = model.VehicleType });
|
|
// model.VehicleNumberPlate = tempElement.Value;//Chassis Number
|
|
|
|
|
|
}
|
|
}
|
|
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objList.Add(new CHASSIS_SRCH_Model() { Status = "0" });
|
|
// objList.Status = "0";
|
|
//objModel.Message = Ex.Message;
|
|
objLog.ErrorLogFile("GlobalRepository getChassisBysuggestion" + APIChassisSearch, Ex.Message, path, errorlogtf);
|
|
return objList;
|
|
}
|
|
}
|
|
return objList;
|
|
}*/
|
|
|
|
public List<CHASSIS_SRCH_Model> getChassisBysuggestion(CHASSIS_SRCH_Model model)
|
|
{
|
|
List<CHASSIS_SRCH_Model> objList = new List<CHASSIS_SRCH_Model>();
|
|
if (model.ChassisSearch == null)
|
|
{
|
|
}
|
|
else
|
|
{
|
|
string APIChassisSearch = string.Format(ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH"].ToString(), model.ChassisSearch.ToUpper());
|
|
|
|
|
|
try
|
|
{
|
|
//CHASSIS_SRCH_Model objChassis = new CHASSIS_SRCH_Mode();
|
|
|
|
ServicePointManager.Expect100Continue = true;
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
|
| SecurityProtocolType.Tls11
|
|
| SecurityProtocolType.Tls12
|
|
| SecurityProtocolType.Ssl3
|
|
| (SecurityProtocolType)3072;
|
|
WebRequest req = WebRequest.Create(APIChassisSearch);
|
|
req.Method = "GET";
|
|
string userNameAndPassword = ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_USERNAME"].ToString() + ":" + ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_PWD"].ToString();
|
|
req.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(userNameAndPassword));
|
|
req.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_USERNAME"].ToString(), ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_PWD"].ToString());
|
|
WebResponse webRes = req.GetResponse();
|
|
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
|
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
|
|
|
|
if (resp.StatusCode.ToString() == "Error")
|
|
{
|
|
|
|
bool isSend = objTicketRepository.emailForError(resp.StatusCode.ToString(), APIChassisSearch.ToString());
|
|
objLog.ErrorLogFile(APIChassisSearch, resp.StatusCode.ToString(), path, errorlogtf);
|
|
|
|
}
|
|
else
|
|
{
|
|
if (resp.StatusCode.ToString() == "TimedOut")
|
|
{
|
|
|
|
bool isSend = objTicketRepository.emailForError(resp.StatusCode.ToString(), APIChassisSearch.ToString());
|
|
objLog.ErrorLogFile(APIChassisSearch, resp.StatusCode.ToString(), path, errorlogtf);
|
|
|
|
}
|
|
else
|
|
{
|
|
if (resp.StatusCode == System.Net.HttpStatusCode.Unauthorized)
|
|
{
|
|
bool isSend = objTicketRepository.emailForError("API Login Failed:Login failed.The server response is Unauthorized. ", APIChassisSearch.ToString());
|
|
objLog.ErrorLogFile(APIChassisSearch, "API Login Failed:Login failed. The server response is Unauthorized. ", path, errorlogtf);
|
|
|
|
}
|
|
else if (resp.StatusCode == System.Net.HttpStatusCode.OK)
|
|
{
|
|
|
|
|
|
StreamReader ResponseDataStream = new StreamReader(resp.GetResponseStream());
|
|
String res = ResponseDataStream.ReadToEnd();
|
|
|
|
XmlDocument XMLDoc = new XmlDocument();
|
|
XMLDoc.LoadXml(res);
|
|
|
|
XmlNodeList nodeList = XMLDoc.GetElementsByTagName("content");
|
|
XNamespace ab = "http://schemas.microsoft.com/ado/2007/08/dataservices";
|
|
string Short_Fall = string.Empty;
|
|
foreach (XmlNode node in nodeList)
|
|
{
|
|
XDocument doc = XDocument.Parse(node.InnerXml);
|
|
XElement tempElement = doc.Descendants(ab + "Vhvin").FirstOrDefault();
|
|
model.ChassisNo = tempElement.Value;
|
|
|
|
tempElement = doc.Descendants(ab + "RegNo").FirstOrDefault();
|
|
model.VehRegNo = tempElement.Value;
|
|
|
|
// vehicle type logic - if Modline is blank then VT is H else type is Tipper
|
|
tempElement = doc.Descendants(ab + "Modline").FirstOrDefault();
|
|
model.VehicleType = tempElement.Value != "" & tempElement.Value != null ? "Tipper" : "Haulage";
|
|
|
|
objList.Add(new CHASSIS_SRCH_Model() { VehRegNo = model.VehRegNo, ChassisNo = model.ChassisNo, VehicleType = model.VehicleType });
|
|
// model.VehicleNumberPlate = tempElement.Value;//Chassis Number
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objList.Add(new CHASSIS_SRCH_Model() { Status = "0" });
|
|
// objList.Status = "0";
|
|
//objModel.Message = Ex.Message;
|
|
objLog.ErrorLogFile("GlobalRepository getChassisBysuggestion" + APIChassisSearch, Ex.Message, path, errorlogtf);
|
|
return objList;
|
|
}
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
/* public CHASSIS_ODOMETER_Model getOdoMeterBYChassis(CHASSIS_ODOMETER_Model model)
|
|
{
|
|
string APIChassisSearch = string.Format(ConfigurationManager.AppSettings["EOSAPI_ODOMETER_BY_CHASSIS"].ToString(), model.TicketIdAlias, model.ChassisNo.ToUpper());
|
|
|
|
try
|
|
{
|
|
ServicePointManager.Expect100Continue = true;
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
|
| SecurityProtocolType.Tls11
|
|
| SecurityProtocolType.Tls12
|
|
| SecurityProtocolType.Ssl3
|
|
| (SecurityProtocolType)3072;
|
|
WebRequest req = WebRequest.Create(APIChassisSearch);
|
|
req.Method = "GET";
|
|
string userNameAndPassword = ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_USERNAME"].ToString() + ":" + ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_PWD"].ToString();
|
|
req.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(userNameAndPassword));
|
|
req.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_USERNAME"].ToString(), ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_PWD"].ToString());
|
|
WebResponse webRes = req.GetResponse();
|
|
|
|
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
|
|
if (resp.StatusCode == HttpStatusCode.OK)
|
|
{
|
|
StreamReader ResponseDataStream = new StreamReader(resp.GetResponseStream());
|
|
String res = ResponseDataStream.ReadToEnd();
|
|
|
|
XmlDocument XMLDoc = new XmlDocument();
|
|
XMLDoc.LoadXml(res);
|
|
|
|
XmlNodeList nodeList = XMLDoc.GetElementsByTagName("content");
|
|
XNamespace ab = "http://schemas.microsoft.com/ado/2007/08/dataservices";
|
|
string Short_Fall = string.Empty;
|
|
foreach (XmlNode node in nodeList)
|
|
{
|
|
XDocument doc = XDocument.Parse(node.InnerXml);
|
|
XElement tempElement = doc.Descendants(ab + "Vhvin").FirstOrDefault();
|
|
model.ChassisNo = tempElement.Value;
|
|
|
|
tempElement = doc.Descendants(ab + "Pcount").FirstOrDefault();
|
|
model.OdoMeterReading = tempElement.Value;
|
|
|
|
model.Status = "1";
|
|
|
|
|
|
}
|
|
}
|
|
return model;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
model.Status = "0";
|
|
//objModel.Message = Ex.Message;
|
|
objLog.ErrorLogFile("GlobalRepository getOdoMeterBYChassis" + APIChassisSearch, Ex.Message, path, errorlogtf);
|
|
return model;
|
|
}
|
|
}*/
|
|
|
|
|
|
public CHASSIS_ODOMETER_Model getOdoMeterBYChassis(CHASSIS_ODOMETER_Model model)
|
|
{
|
|
string APIChassisSearch = string.Format(ConfigurationManager.AppSettings["EOSAPI_ODOMETER_BY_CHASSIS"].ToString(), model.TicketIdAlias, model.ChassisNo.ToUpper());
|
|
|
|
try
|
|
{
|
|
ServicePointManager.Expect100Continue = true;
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
|
| SecurityProtocolType.Tls11
|
|
| SecurityProtocolType.Tls12
|
|
| SecurityProtocolType.Ssl3
|
|
| (SecurityProtocolType)3072;
|
|
WebRequest req = WebRequest.Create(APIChassisSearch);
|
|
req.Method = "GET";
|
|
string userNameAndPassword = ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_USERNAME"].ToString() + ":" + ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_PWD"].ToString();
|
|
req.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(userNameAndPassword));
|
|
req.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_USERNAME"].ToString(), ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_PWD"].ToString());
|
|
WebResponse webRes = req.GetResponse();
|
|
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
|
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
|
|
if (resp.StatusCode.ToString() == "Error")
|
|
{
|
|
|
|
bool isSend = objTicketRepository.emailForError(resp.StatusCode.ToString(), APIChassisSearch.ToString());
|
|
objLog.ErrorLogFile(APIChassisSearch, resp.StatusCode.ToString(), path, errorlogtf);
|
|
|
|
}
|
|
else
|
|
{
|
|
if (resp.StatusCode.ToString() == "TimedOut")
|
|
{
|
|
|
|
bool isSend = objTicketRepository.emailForError(resp.StatusCode.ToString(), APIChassisSearch.ToString());
|
|
objLog.ErrorLogFile(APIChassisSearch, resp.StatusCode.ToString(), path, errorlogtf);
|
|
|
|
}
|
|
else
|
|
{
|
|
if (resp.StatusCode == System.Net.HttpStatusCode.Unauthorized)
|
|
{
|
|
bool isSend = objTicketRepository.emailForError("API Login Failed:Login failed.The server response is Unauthorized. ", APIChassisSearch.ToString());
|
|
objLog.ErrorLogFile(APIChassisSearch, "API Login Failed:Login failed. The server response is Unauthorized. ", path, errorlogtf);
|
|
|
|
}
|
|
else if (resp.StatusCode == System.Net.HttpStatusCode.OK)
|
|
{
|
|
|
|
StreamReader ResponseDataStream = new StreamReader(resp.GetResponseStream());
|
|
String res = ResponseDataStream.ReadToEnd();
|
|
|
|
XmlDocument XMLDoc = new XmlDocument();
|
|
XMLDoc.LoadXml(res);
|
|
|
|
XmlNodeList nodeList = XMLDoc.GetElementsByTagName("content");
|
|
XNamespace ab = "http://schemas.microsoft.com/ado/2007/08/dataservices";
|
|
string Short_Fall = string.Empty;
|
|
foreach (XmlNode node in nodeList)
|
|
{
|
|
XDocument doc = XDocument.Parse(node.InnerXml);
|
|
XElement tempElement = doc.Descendants(ab + "Vhvin").FirstOrDefault();
|
|
model.ChassisNo = tempElement.Value;
|
|
|
|
tempElement = doc.Descendants(ab + "Pcount").FirstOrDefault();
|
|
model.OdoMeterReading = tempElement.Value;
|
|
|
|
model.Status = "1";
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
return model;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
model.Status = "0";
|
|
//objModel.Message = Ex.Message;
|
|
objLog.ErrorLogFile("GlobalRepository getOdoMeterBYChassis" + APIChassisSearch, Ex.Message, path, errorlogtf);
|
|
return model;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/* public CHASSIS_ODOMETER_Model getCSRFToken()
|
|
{
|
|
CHASSIS_ODOMETER_Model objModel = new CHASSIS_ODOMETER_Model();
|
|
string APIInsertOdoMeter = ConfigurationManager.AppSettings["InsertOdometerINEOS"].ToString();
|
|
|
|
try
|
|
{
|
|
|
|
|
|
string userNameAndPassword = ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_USERNAME"].ToString() + ":" + ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_PWD"].ToString();
|
|
|
|
var client = new RestClient(ConfigurationManager.AppSettings["InsertOdometerINEOS"].ToString());
|
|
client.Timeout = -1;
|
|
var request = new RestRequest(Method.GET);
|
|
request.AddHeader("X-CSRF-Token", "fetch");
|
|
request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(userNameAndPassword)));
|
|
IRestResponse response = client.Execute(request);
|
|
|
|
objModel.CSRF_Token = response.Headers.ToList().Find(x => x.Name == "x-csrf-token").Value.ToString();
|
|
var cookiesNameList = new List<string>();
|
|
var cookiesValList = new List<string>();
|
|
objLog.AddLogFile("CSRFToken", response.ToString(), path, errorlogtf);
|
|
objLog.AddLogFile("CSRFToken", objModel.CSRF_Token, path, errorlogtf);
|
|
for (var counter = 0; counter < response.Cookies.Count; counter++)
|
|
{
|
|
|
|
cookiesNameList.Add(response.Cookies[counter].Name.ToString());
|
|
cookiesValList.Add(response.Cookies[counter].Value.ToString());
|
|
}
|
|
|
|
objModel.CookiesName = cookiesNameList.ToArray();
|
|
objModel.CookiesValues = cookiesValList.ToArray();
|
|
|
|
objLog.AddLogFile("CookiesName", objModel.CookiesName.ToString(), path, errorlogtf);
|
|
objLog.AddLogFile("CookiesValues", objModel.CookiesValues.ToString(), path, errorlogtf);
|
|
return objModel;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Status = "5";
|
|
objModel.Message = Ex.Message;
|
|
objLog.ErrorLogFile("getCSRFToken" + APIInsertOdoMeter, Ex.Message, path, errorlogtf);
|
|
return objModel;
|
|
}
|
|
}*/
|
|
|
|
public CHASSIS_ODOMETER_Model getCSRFToken()
|
|
{
|
|
CHASSIS_ODOMETER_Model objModel = new CHASSIS_ODOMETER_Model();
|
|
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
|
string APIInsertOdoMeter = ConfigurationManager.AppSettings["InsertOdometerINEOS"].ToString();
|
|
|
|
try
|
|
{
|
|
|
|
|
|
string userNameAndPassword = ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_USERNAME"].ToString() + ":" + ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_PWD"].ToString();
|
|
|
|
var client = new RestClient(ConfigurationManager.AppSettings["InsertOdometerINEOS"].ToString());
|
|
client.Timeout = -1;
|
|
var request = new RestRequest(Method.GET);
|
|
request.AddHeader("X-CSRF-Token", "fetch");
|
|
request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(userNameAndPassword)));
|
|
IRestResponse response = client.Execute(request);
|
|
|
|
if (response.ResponseStatus.ToString() == "Error")
|
|
{
|
|
|
|
bool isSend = objTicketRepository.emailForError(response.ErrorMessage.ToString(), client.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(client.BaseUrl.ToString(), response.ErrorMessage.ToString(), path, errorlogtf);
|
|
|
|
}
|
|
else
|
|
{
|
|
if (response.ResponseStatus.ToString() == "TimedOut")
|
|
{
|
|
|
|
bool isSend = objTicketRepository.emailForError(response.ErrorMessage.ToString(), client.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(client.BaseUrl.ToString(), response.ErrorMessage.ToString(), path, errorlogtf);
|
|
|
|
}
|
|
else
|
|
{
|
|
if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized)
|
|
{
|
|
bool isSend = objTicketRepository.emailForError("API Login Failed:Login failed. The server response is Unauthorized. ", client.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(client.BaseUrl.ToString(), "API Login Failed:Login failed. The server response is Unauthorized. ", path, errorlogtf);
|
|
|
|
}
|
|
else
|
|
{
|
|
|
|
objModel.CSRF_Token = response.Headers.ToList().Find(x => x.Name == "x-csrf-token").Value.ToString();
|
|
var cookiesNameList = new List<string>();
|
|
var cookiesValList = new List<string>();
|
|
objLog.AddLogFile("CSRFToken", response.ToString(), path, errorlogtf);
|
|
objLog.AddLogFile("CSRFToken", objModel.CSRF_Token, path, errorlogtf);
|
|
for (var counter = 0; counter < response.Cookies.Count; counter++)
|
|
{
|
|
|
|
cookiesNameList.Add(response.Cookies[counter].Name.ToString());
|
|
cookiesValList.Add(response.Cookies[counter].Value.ToString());
|
|
}
|
|
|
|
objModel.CookiesName = cookiesNameList.ToArray();
|
|
objModel.CookiesValues = cookiesValList.ToArray();
|
|
|
|
objLog.AddLogFile("CookiesName", objModel.CookiesName.ToString(), path, errorlogtf);
|
|
objLog.AddLogFile("CookiesValues", objModel.CookiesValues.ToString(), path, errorlogtf);
|
|
}
|
|
}
|
|
}
|
|
//new code added complete
|
|
return objModel;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Status = "5";
|
|
objModel.Message = Ex.Message;
|
|
objLog.ErrorLogFile("getCSRFToken" + APIInsertOdoMeter, Ex.Message, path, errorlogtf);
|
|
return objModel;
|
|
}
|
|
}
|
|
|
|
/* public CHASSIS_ODOMETER_Model InsertOdoMeterInEOSAPI(string ticketId, string chassisNo, string odometer, string unit)
|
|
{
|
|
|
|
CHASSIS_ODOMETER_Model objModel = new CHASSIS_ODOMETER_Model();
|
|
CHASSIS_ODOMETER_Model tokenData = getCSRFToken();
|
|
|
|
try
|
|
{
|
|
if (tokenData.CSRF_Token != null)
|
|
{
|
|
CHASSIS_ODOMETER_Model objJobCardInsert = new CHASSIS_ODOMETER_Model();
|
|
|
|
|
|
|
|
string userNameAndPassword = ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_USERNAME"].ToString() + ":" + ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_PWD"].ToString();
|
|
|
|
var client = new RestClient(ConfigurationManager.AppSettings["InsertOdometerINEOS"].ToString());
|
|
client.Timeout = -1;
|
|
var request = new RestRequest(Method.POST);
|
|
|
|
|
|
for (var counter = 0; counter < tokenData.CookiesName.Length; counter++)
|
|
{
|
|
request.AddParameter(tokenData.CookiesName[counter], tokenData.CookiesValues[counter], ParameterType.Cookie);
|
|
}
|
|
|
|
/// request.AddParameter("sap-usercontext", tokenData.CookieVal1, ParameterType.Cookie);
|
|
|
|
// request.AddParameter("MYSAPSSO2", tokenData.CookieVal2, ParameterType.Cookie);
|
|
|
|
// request.AddParameter("sap-XSRF_GWP_100", tokenData.CookieVal3, ParameterType.Cookie);
|
|
|
|
// request.AddCookie(
|
|
request.AddHeader("X-CSRF-Token", tokenData.CSRF_Token);
|
|
request.AddHeader("Content-Type", "application/json");
|
|
request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(userNameAndPassword)));
|
|
// request.AddParameter("application/json", "{\"d\" : {\"TicketId\" : \"NL1119000983\",\"Vhvin\" : \"17EC30290775\",\"Mileage\" : \"9000330\",\"MileageUom1\" : \"KM\",\"Ztipper\" : \"\",\"MileageUom2\" : \"\"}}", ParameterType.RequestBody);
|
|
request.AddParameter("application/json", "{\"d\" : {\"TicketId\" : \"" + ticketId + "\",\"Vhvin\" : \"" + chassisNo + "\",\"Mileage\" : \"" + odometer + "\",\"MileageUom1\" : \"" + unit + "\",\"Ztipper\" : \"\",\"MileageUom2\" : \"\"}}", ParameterType.RequestBody);
|
|
|
|
IRestResponse response = client.Execute(request);
|
|
string res = response.Content;
|
|
|
|
if (response.StatusCode == HttpStatusCode.Created)
|
|
{
|
|
objJobCardInsert = new JsonDeserializer().Deserialize<CHASSIS_ODOMETER_Model>(response);
|
|
|
|
List<TEMP_CHASSIS_ODOMETER_Model> tempModel = objJobCardInsert.d;
|
|
if (tempModel[0].Status == "Failed")
|
|
{
|
|
string tempStatus = "Success";
|
|
string tempMessage = tempModel[0].Message;
|
|
|
|
if (tempStatus == "Success")
|
|
{
|
|
objModel.Status = "1";
|
|
objModel.Message = tempMessage;
|
|
|
|
}
|
|
else if (tempStatus == "Failed")
|
|
{
|
|
objModel.Status = "9";
|
|
objModel.Message = tempMessage;
|
|
}
|
|
else
|
|
{
|
|
objLog.AddLogFile("InsertOdoMeterInEOSAPI 815", "Do not update in db " + objModel.Status, path, errorlogtf);
|
|
|
|
objModel.Status = "5";
|
|
objModel.Message = tempMessage;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
string tempStatus = tempModel[0].Status;
|
|
string tempMessage = tempModel[0].Message;
|
|
if (tempStatus == "Success")
|
|
{
|
|
objModel.Status = "1";
|
|
objModel.Message = tempMessage;
|
|
|
|
}
|
|
else if (tempStatus == "Failed")
|
|
{
|
|
objModel.Status = "9";
|
|
objModel.Message = tempMessage;
|
|
}
|
|
else
|
|
{
|
|
objLog.AddLogFile("InsertOdoMeterInEOSAPI 839", "Do not update in db " + objModel.Status, path, errorlogtf);
|
|
|
|
objModel.Status = "5";
|
|
objModel.Message = tempMessage;
|
|
}
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
objModel.Status = "5";
|
|
//objModel.Message = tempMessage;
|
|
}
|
|
}
|
|
// no csrf token send error msg
|
|
else
|
|
{
|
|
objModel.Status = "5";
|
|
objModel.Message = "CSRF token validation failed.";
|
|
return objModel;
|
|
}
|
|
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Status = "5";
|
|
objModel.Message = Ex.Message;
|
|
objLog.ErrorLogFile("InsertOdoMeterInEOSAPI CSRF token", Ex.Message, path, errorlogtf);
|
|
return objModel;
|
|
}
|
|
return objModel;
|
|
}*/
|
|
|
|
public CHASSIS_ODOMETER_Model InsertOdoMeterInEOSAPI(string ticketId, string chassisNo, string odometer, string unit)
|
|
{
|
|
|
|
CHASSIS_ODOMETER_Model objModel = new CHASSIS_ODOMETER_Model();
|
|
CHASSIS_ODOMETER_Model tokenData = getCSRFToken();
|
|
|
|
try
|
|
{
|
|
if (tokenData.CSRF_Token != null)
|
|
{
|
|
CHASSIS_ODOMETER_Model objJobCardInsert = new CHASSIS_ODOMETER_Model();
|
|
|
|
|
|
|
|
string userNameAndPassword = ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_USERNAME"].ToString() + ":" + ConfigurationManager.AppSettings["EOSAPI_CHASSIS_SEARCH_PWD"].ToString();
|
|
|
|
var client = new RestClient(ConfigurationManager.AppSettings["InsertOdometerINEOS"].ToString());
|
|
client.Timeout = -1;
|
|
var request = new RestRequest(Method.POST);
|
|
|
|
|
|
for (var counter = 0; counter < tokenData.CookiesName.Length; counter++)
|
|
{
|
|
request.AddParameter(tokenData.CookiesName[counter], tokenData.CookiesValues[counter], ParameterType.Cookie);
|
|
}
|
|
|
|
/// request.AddParameter("sap-usercontext", tokenData.CookieVal1, ParameterType.Cookie);
|
|
|
|
// request.AddParameter("MYSAPSSO2", tokenData.CookieVal2, ParameterType.Cookie);
|
|
|
|
// request.AddParameter("sap-XSRF_GWP_100", tokenData.CookieVal3, ParameterType.Cookie);
|
|
|
|
// request.AddCookie(
|
|
request.AddHeader("X-CSRF-Token", tokenData.CSRF_Token);
|
|
request.AddHeader("Content-Type", "application/json");
|
|
request.AddHeader("Authorization", "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(userNameAndPassword)));
|
|
// request.AddParameter("application/json", "{\"d\" : {\"TicketId\" : \"NL1119000983\",\"Vhvin\" : \"17EC30290775\",\"Mileage\" : \"9000330\",\"MileageUom1\" : \"KM\",\"Ztipper\" : \"\",\"MileageUom2\" : \"\"}}", ParameterType.RequestBody);
|
|
request.AddParameter("application/json", "{\"d\" : {\"TicketId\" : \"" + ticketId + "\",\"Vhvin\" : \"" + chassisNo + "\",\"Mileage\" : \"" + odometer + "\",\"MileageUom1\" : \"" + unit + "\",\"Ztipper\" : \"\",\"MileageUom2\" : \"\"}}", ParameterType.RequestBody);
|
|
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
|
IRestResponse response = client.Execute(request);
|
|
string res = response.Content;
|
|
if (response.ResponseStatus.ToString() == "Error")
|
|
{
|
|
|
|
bool isSend = objTicketRepository.emailForError(response.ErrorMessage.ToString(), client.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(client.BaseUrl.ToString(), response.ErrorMessage.ToString(), path, errorlogtf);
|
|
|
|
}
|
|
else
|
|
{
|
|
if (response.ResponseStatus.ToString() == "TimedOut")
|
|
{
|
|
|
|
bool isSend = objTicketRepository.emailForError(response.ErrorMessage.ToString(), client.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(client.BaseUrl.ToString(), response.ErrorMessage.ToString(), path, errorlogtf);
|
|
|
|
}
|
|
else
|
|
{
|
|
if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized)
|
|
{
|
|
bool isSend = objTicketRepository.emailForError("API Login Failed:Login failed. The server response is Unauthorized. ", client.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(client.BaseUrl.ToString(), "API Login Failed:Login failed. The server response is Unauthorized. ", path, errorlogtf);
|
|
|
|
}
|
|
else
|
|
{
|
|
|
|
|
|
if (response.StatusCode == HttpStatusCode.Created)
|
|
{
|
|
objJobCardInsert = new JsonDeserializer().Deserialize<CHASSIS_ODOMETER_Model>(response);
|
|
|
|
List<TEMP_CHASSIS_ODOMETER_Model> tempModel = objJobCardInsert.d;
|
|
if (tempModel[0].Status == "Failed")
|
|
{
|
|
string tempStatus = "Success";
|
|
string tempMessage = tempModel[0].Message;
|
|
|
|
if (tempStatus == "Success")
|
|
{
|
|
objModel.Status = "1";
|
|
objModel.Message = tempMessage;
|
|
|
|
}
|
|
else if (tempStatus == "Failed")
|
|
{
|
|
objModel.Status = "9";
|
|
objModel.Message = tempMessage;
|
|
}
|
|
else
|
|
{
|
|
objLog.AddLogFile("InsertOdoMeterInEOSAPI 815", "Do not update in db " + objModel.Status, path, errorlogtf);
|
|
|
|
objModel.Status = "5";
|
|
objModel.Message = tempMessage;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
string tempStatus = tempModel[0].Status;
|
|
string tempMessage = tempModel[0].Message;
|
|
if (tempStatus == "Success")
|
|
{
|
|
objModel.Status = "1";
|
|
objModel.Message = tempMessage;
|
|
|
|
}
|
|
else if (tempStatus == "Failed")
|
|
{
|
|
objModel.Status = "9";
|
|
objModel.Message = tempMessage;
|
|
}
|
|
else
|
|
{
|
|
objLog.AddLogFile("InsertOdoMeterInEOSAPI 839", "Do not update in db " + objModel.Status, path, errorlogtf);
|
|
|
|
objModel.Status = "5";
|
|
objModel.Message = tempMessage;
|
|
}
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
objModel.Status = "5";
|
|
//objModel.Message = tempMessage;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
// no csrf token send error msg
|
|
else
|
|
{
|
|
objModel.Status = "5";
|
|
objModel.Message = "CSRF token validation failed.";
|
|
return objModel;
|
|
}
|
|
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Status = "5";
|
|
objModel.Message = Ex.Message;
|
|
objLog.ErrorLogFile("InsertOdoMeterInEOSAPI CSRF token", Ex.Message, path, errorlogtf);
|
|
return objModel;
|
|
}
|
|
return objModel;
|
|
}
|
|
/// <summary>
|
|
/// To insert new vehicle type
|
|
/// </summary>
|
|
/// <param name="model">vehicle type details</param>
|
|
/// <returns>status 1 if record saved successfully status 2 if record already exist and status 0 if token value is wrong</returns>
|
|
public VehicleTypeModel InsertNewVehicleType(VehicleTypeModel model)
|
|
{
|
|
VehicleTypeModel objModel = new VehicleTypeModel();
|
|
objModel.Status = "2";
|
|
try
|
|
{
|
|
objAuthorization = new AuthenticationRepository();
|
|
|
|
if (objAuthorization.AuthenticateDevice(model.Token))
|
|
{
|
|
DataSet ds = new DataSet();
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[7];
|
|
nSqlParam[0] = new NpgsqlParameter("_id ", model.VehicleTypeId == null ? null : model.VehicleTypeId.ToUpper().Trim());
|
|
nSqlParam[1] = new NpgsqlParameter("_name ", model.VehicleTypeName == null ? null : model.VehicleTypeName.ToUpper().Trim());
|
|
nSqlParam[2] = new NpgsqlParameter("_tagging ", model.VehicleTypeTagging == null ? null : model.VehicleTypeTagging.ToUpper().Trim());
|
|
nSqlParam[3] = new NpgsqlParameter("inaction ", model.Operation == null ? null : model.Operation.ToUpper().Trim());
|
|
nSqlParam[4] = new NpgsqlParameter("inis_deleted ", model.IsDeleted);
|
|
nSqlParam[5] = new NpgsqlParameter("inudanVehicleProductName", model.udanVehicleProductName);
|
|
nSqlParam[6] = new NpgsqlParameter("inudanVehicleProductId", model.udanVehicleProductId);
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_vehicl_type"], nSqlParam);
|
|
|
|
// For Telematics Use
|
|
// NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_sync_customer_vehicle_model_details"]);
|
|
if (ds.Tables[0].Rows[0]["sp_insert_vehicl_type"].ToString() == "1")
|
|
{
|
|
objModel.Status = ds.Tables[0].Rows[0]["sp_insert_vehicl_type"].ToString();
|
|
objModel.Message = "Saved Successfully";
|
|
}
|
|
else
|
|
{
|
|
objModel.Status = ds.Tables[0].Rows[0]["sp_insert_vehicl_type"].ToString();
|
|
objModel.Message = "Model Already Exist And Udan Vehicle Parameter is upadted";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
objModel.Status = "0";
|
|
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
|
}
|
|
return objModel;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Status = "0";
|
|
objModel.Message = Ex.Message;
|
|
objLog.ErrorLogFile("InsertNewVehicleType", Ex.Message, path, errorlogtf);
|
|
return objModel;
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// GCM model properties.
|
|
/// </summary>
|
|
public class GcmModel
|
|
{
|
|
/// <summary>
|
|
/// Get or Set
|
|
/// </summary>
|
|
public string TicketId { get; set; }
|
|
/// <summary>
|
|
/// Get or Set
|
|
/// </summary>
|
|
public string NotificationCode { get; set; }
|
|
/// <summary>
|
|
/// Get or Set
|
|
/// </summary>
|
|
public string NotificationMessage { get; set; }
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get Notification send by GCM
|
|
/// </summary>
|
|
/// <param name="model">request detail</param>
|
|
/// <returns>GCM message info</returns>
|
|
|
|
/// <summary>
|
|
/// To get Notification send by GCM
|
|
/// </summary>
|
|
/// <param name="model">request detail</param>
|
|
/// <returns>GCM message info</returns>
|
|
///
|
|
|
|
/// new
|
|
public SendNotificationModel GcmSendNotificationNew(SendNotificationModel model)
|
|
{
|
|
SendNotificationModel objModel = new SendNotificationModel();
|
|
GcmModel objGcmModel = new GcmModel();
|
|
try
|
|
{
|
|
if (System.Configuration.ConfigurationManager.AppSettings["issendnotifiation"] != "true")
|
|
{
|
|
objGcmModel.TicketId = model.TicketId;
|
|
objGcmModel.NotificationMessage = model.NotificationMessage;
|
|
objGcmModel.NotificationCode = model.NotificationCode;
|
|
objModel.Status = "1";
|
|
JavaScriptSerializer serializer = new JavaScriptSerializer();
|
|
string output = serializer.Serialize(objGcmModel);
|
|
var firebaseHelper = new FirebaseNotificationSender();
|
|
string accessToken = firebaseHelper.GetAccessTokenValue();
|
|
FCMNotification objFCMNotification = new FCMNotification();
|
|
|
|
// bool issend = objFCMNotification.SendFCMNotification(model.DeviceGcmId, (ConfigurationManager.AppSettings["ProjectId"]), accessToken, model.TicketId);
|
|
// string strstatus = getcurrentPreviousStatus(model.TicketId);
|
|
// string[] arrStatus = strstatus.ToString().Split(',');
|
|
string current_status = model.TicketStatus;
|
|
string previous_status = model.PrevTicketStatus;
|
|
if (model.TicketStatus == "2" && model.PrevTicketStatus == "1")
|
|
{
|
|
string show_message = "false";
|
|
string display_message = model.NotificationMessage;
|
|
string message_tag = "Assignment";
|
|
string title = model.title;// "🚨 {0} New EOS Ticket🚨 -";
|
|
bool issend = objFCMNotification.SendFCMNotificationWithMessage(model.DeviceGcmId, (ConfigurationManager.AppSettings["ProjectId"]), accessToken, model.TicketId, current_status, previous_status, show_message, display_message, message_tag, title);
|
|
}
|
|
else
|
|
{
|
|
string show_message = "false";
|
|
string display_message = "";
|
|
string message_tag = "";
|
|
bool issend = objFCMNotification.SendFCMNotificationWithMessage(model.DeviceGcmId, (ConfigurationManager.AppSettings["ProjectId"]), accessToken, model.TicketId, current_status, previous_status, show_message, display_message, message_tag,"");
|
|
} // Task<string> strautorefresh1 = objFCMNotification.SendFCMNotification2(accessToken);
|
|
// string str = strautorefresh1.Result;
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
if (Ex.Message == "The remote server returned an error: (301) Moved Permanently Redirect.")
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GcmSendNotification1", Ex.Message, path, errorlogtf);
|
|
objModel.TicketId = model.TicketId;
|
|
return objModel;
|
|
}
|
|
else if (Ex.Message == "The remote server returned an error: (401) Unauthorized.")
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GcmSendNotification2", Ex.Message, path, errorlogtf);
|
|
objModel.TicketId = model.TicketId;
|
|
return objModel;
|
|
}
|
|
else if (Ex.Message == "The remote server returned an error: (404) Not Found.")
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GcmSendNotification3", Ex.Message, path, errorlogtf);
|
|
objModel.TicketId = model.TicketId;
|
|
return objModel;
|
|
}
|
|
else
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GcmSendNotification4", Ex.Message, path, errorlogtf);
|
|
objModel.Status = "6";
|
|
return objModel;
|
|
}
|
|
//throw Ex;
|
|
}
|
|
return objModel;
|
|
}
|
|
|
|
///// old
|
|
/* public SendNotificationModel GcmSendNotification(SendNotificationModel model)
|
|
{
|
|
SendNotificationModel objModel = new SendNotificationModel();
|
|
GcmModel objGcmModel = new GcmModel();
|
|
try
|
|
{
|
|
|
|
if (System.Configuration.ConfigurationManager.AppSettings["issendnotifiation"] != "true")
|
|
{
|
|
objGcmModel.TicketId = model.TicketId;
|
|
objGcmModel.NotificationMessage = model.NotificationMessage;
|
|
objGcmModel.NotificationCode = model.NotificationCode;
|
|
objModel.Status = "1";
|
|
JavaScriptSerializer serializer = new JavaScriptSerializer();
|
|
string output = serializer.Serialize(objGcmModel);
|
|
|
|
model.GoogleAppID = ConfigurationManager.AppSettings["GoogleAppId"];
|
|
model.SenderId = ConfigurationManager.AppSettings["SenderId"];
|
|
var value = model.NotificationMessage;
|
|
ServicePointManager.Expect100Continue = true;
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
|
| SecurityProtocolType.Tls11
|
|
| SecurityProtocolType.Tls12
|
|
| SecurityProtocolType.Ssl3
|
|
| (SecurityProtocolType)3072;
|
|
WebRequest tRequest;
|
|
tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send");
|
|
|
|
tRequest.Method = "post";
|
|
tRequest.ContentType = " application/x-www-form-urlencoded;charset=UTF-8";
|
|
tRequest.Headers.Add(string.Format("Authorization: key={0}", model.GoogleAppID));
|
|
|
|
tRequest.Headers.Add(string.Format("Sender: id={0}", model.SenderId));
|
|
|
|
string postData = "collapse_key=score_update&time_to_live=108& delay_while_idle=1&data.message=" + output + "&data.time=" + System.DateTime.Now.ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) + "®istration_id=" + model.DeviceGcmId + "";
|
|
Console.WriteLine(postData);
|
|
Byte[] byteArray = Encoding.UTF8.GetBytes(postData);
|
|
tRequest.ContentLength = byteArray.Length;
|
|
|
|
Stream dataStream = tRequest.GetRequestStream();
|
|
dataStream.Write(byteArray, 0, byteArray.Length);
|
|
dataStream.Close();
|
|
|
|
WebResponse tResponse = tRequest.GetResponse();
|
|
|
|
dataStream = tResponse.GetResponseStream();
|
|
|
|
StreamReader tReader = new StreamReader(dataStream);
|
|
|
|
String sResponseFromServer = tReader.ReadToEnd();
|
|
objModel.SenderId = sResponseFromServer;
|
|
tReader.Close();
|
|
dataStream.Close();
|
|
tResponse.Close();
|
|
|
|
return objModel;
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
if (Ex.Message == "The remote server returned an error: (301) Moved Permanently Redirect.")
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GcmSendNotification5", Ex.Message, path, errorlogtf);
|
|
objModel.TicketId = model.TicketId;
|
|
return objModel;
|
|
}
|
|
if (Ex.Message == "The remote server returned an error: (401) Unauthorized.")
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GcmSendNotification6", Ex.Message, path, errorlogtf);
|
|
objModel.TicketId = model.TicketId;
|
|
return objModel;
|
|
}
|
|
if (Ex.Message == "The remote server returned an error: (404) Not Found.")
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GcmSendNotification7", Ex.Message, path, errorlogtf);
|
|
objModel.TicketId = model.TicketId;
|
|
return objModel;
|
|
}
|
|
else
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GcmSendNotification8", Ex.Message, path, errorlogtf);
|
|
objModel.Status = "6";
|
|
return objModel;
|
|
}
|
|
//throw Ex;
|
|
}
|
|
return objModel;
|
|
}*/
|
|
|
|
|
|
|
|
public SendNotificationModel GcmSendNotification(SendNotificationModel model)
|
|
{
|
|
SendNotificationModel objModel = new SendNotificationModel();
|
|
GcmModel objGcmModel = new GcmModel();
|
|
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
|
try
|
|
{
|
|
|
|
if (System.Configuration.ConfigurationManager.AppSettings["issendnotifiation"] != "true")
|
|
{
|
|
objGcmModel.TicketId = model.TicketId;
|
|
objGcmModel.NotificationMessage = model.NotificationMessage;
|
|
objGcmModel.NotificationCode = model.NotificationCode;
|
|
objModel.Status = "1";
|
|
JavaScriptSerializer serializer = new JavaScriptSerializer();
|
|
string output = serializer.Serialize(objGcmModel);
|
|
|
|
model.GoogleAppID = ConfigurationManager.AppSettings["GoogleAppId"];
|
|
model.SenderId = ConfigurationManager.AppSettings["SenderId"];
|
|
var value = model.NotificationMessage;
|
|
ServicePointManager.Expect100Continue = true;
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
|
| SecurityProtocolType.Tls11
|
|
| SecurityProtocolType.Tls12
|
|
| SecurityProtocolType.Ssl3
|
|
| (SecurityProtocolType)3072;
|
|
WebRequest tRequest;
|
|
tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send");
|
|
|
|
tRequest.Method = "post";
|
|
tRequest.ContentType = " application/x-www-form-urlencoded;charset=UTF-8";
|
|
tRequest.Headers.Add(string.Format("Authorization: key={0}", model.GoogleAppID));
|
|
|
|
tRequest.Headers.Add(string.Format("Sender: id={0}", model.SenderId));
|
|
|
|
string postData = "collapse_key=score_update&time_to_live=108& delay_while_idle=1&data.message=" + output + "&data.time=" + System.DateTime.Now.ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) + "®istration_id=" + model.DeviceGcmId + "";
|
|
Console.WriteLine(postData);
|
|
Byte[] byteArray = Encoding.UTF8.GetBytes(postData);
|
|
tRequest.ContentLength = byteArray.Length;
|
|
|
|
Stream dataStream = tRequest.GetRequestStream();
|
|
dataStream.Write(byteArray, 0, byteArray.Length);
|
|
dataStream.Close();
|
|
|
|
WebResponse tResponse = tRequest.GetResponse();
|
|
|
|
dataStream = tResponse.GetResponseStream();
|
|
|
|
StreamReader tReader = new StreamReader(dataStream);
|
|
|
|
String sResponseFromServer = tReader.ReadToEnd();
|
|
objModel.SenderId = sResponseFromServer;
|
|
tReader.Close();
|
|
dataStream.Close();
|
|
tResponse.Close();
|
|
|
|
return objModel;
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
if (Ex.Message == "The remote server returned an error: (301) Moved Permanently Redirect.")
|
|
{
|
|
bool isSend = objTicketRepository.emailForError("GlobalRepository GcmSendNotification5", Ex.Message);
|
|
|
|
objLog.ErrorLogFile("GlobalRepository GcmSendNotification5", Ex.Message, path, errorlogtf);
|
|
objModel.TicketId = model.TicketId;
|
|
return objModel;
|
|
}
|
|
if (Ex.Message == "The remote server returned an error: (401) Unauthorized.")
|
|
{
|
|
bool isSend = objTicketRepository.emailForError("GlobalRepository GcmSendNotification5", Ex.Message);
|
|
|
|
objLog.ErrorLogFile("GlobalRepository GcmSendNotification6", Ex.Message, path, errorlogtf);
|
|
objModel.TicketId = model.TicketId;
|
|
return objModel;
|
|
}
|
|
if (Ex.Message == "The remote server returned an error: (404) Not Found.")
|
|
{
|
|
bool isSend = objTicketRepository.emailForError("GlobalRepository GcmSendNotification5", Ex.Message);
|
|
|
|
objLog.ErrorLogFile("GlobalRepository GcmSendNotification7", Ex.Message, path, errorlogtf);
|
|
objModel.TicketId = model.TicketId;
|
|
return objModel;
|
|
}
|
|
else
|
|
{
|
|
bool isSend = objTicketRepository.emailForError("GlobalRepository GcmSendNotification5", Ex.Message);
|
|
|
|
objLog.ErrorLogFile("GlobalRepository GcmSendNotification8", Ex.Message, path, errorlogtf);
|
|
objModel.Status = "6";
|
|
return objModel;
|
|
}
|
|
//throw Ex;
|
|
}
|
|
return objModel;
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// FCM Notification.
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
public SendNotificationModel FcmSendNotification(SendNotificationModel model)
|
|
{
|
|
//string serverKey = "myServerKey";
|
|
SendNotificationModel objModel = new SendNotificationModel();
|
|
GcmModel objGcmModel = new GcmModel();
|
|
try
|
|
{
|
|
// GcmModel objGcmModel = new GcmModel();
|
|
objGcmModel.TicketId = model.TicketId;
|
|
objGcmModel.NotificationMessage = model.NotificationMessage;
|
|
objGcmModel.NotificationCode = model.NotificationCode;
|
|
objModel.Status = "1";
|
|
JavaScriptSerializer serializer = new JavaScriptSerializer();
|
|
string output = serializer.Serialize(objGcmModel);
|
|
|
|
model.GoogleAppID = ConfigurationManager.AppSettings["GoogleAppIdFCM"];
|
|
model.SenderId = ConfigurationManager.AppSettings["SenderIdFCM"];
|
|
|
|
var result = "-1";
|
|
var webAddr = "https://fcm.googleapis.com/fcm/send";
|
|
|
|
var httpWebRequest = (HttpWebRequest)WebRequest.Create(webAddr);
|
|
httpWebRequest.ContentType = "application/json";
|
|
httpWebRequest.Headers.Add(string.Format("Authorization: key={0}", model.GoogleAppID));
|
|
httpWebRequest.Headers.Add(string.Format("Sender: id={0}", model.SenderId));
|
|
|
|
//httpWebRequest.Headers.Add("Authorization:key=" + serverKey);
|
|
httpWebRequest.Method = "POST";
|
|
|
|
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
|
|
{
|
|
|
|
var payload = new
|
|
{
|
|
to = model.DeviceGcmId,
|
|
//notification = new
|
|
//{
|
|
// body = "Test",
|
|
// title = "Test",
|
|
//},
|
|
data = new
|
|
{
|
|
message = output,
|
|
time = System.DateTime.Now.ToString(ConfigurationManager.AppSettings["DateTimeFormat"])
|
|
}
|
|
};
|
|
|
|
var json = Newtonsoft.Json.JsonConvert.SerializeObject(payload);
|
|
|
|
// string json = "{\"to\": \"" + regID + "notification\": {\"title\": \"New dealbody\": \"20% deal!\"},\"priority\":10}";
|
|
//registration_ids, array of strings - to, single recipient
|
|
streamWriter.Write(json);
|
|
streamWriter.Flush();
|
|
}
|
|
|
|
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
|
|
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
|
|
{
|
|
result = streamReader.ReadToEnd();
|
|
objModel.SenderId = result;
|
|
}
|
|
|
|
return objModel;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository FCMSendNotification", Ex.Message, path, errorlogtf);
|
|
objModel.Status = "6";
|
|
return objModel;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get Notification send by GCM
|
|
/// </summary>
|
|
/// <param name="model">request detail</param>
|
|
/// <returns>GCM message info</returns>
|
|
public SendNotificationModel GcmSendNotificationForKam(SendNotificationModel model)
|
|
{
|
|
SendNotificationModel objModel = new SendNotificationModel();
|
|
try
|
|
{
|
|
GcmModel objGcmModel = new GcmModel();
|
|
objModel.Status = "1";
|
|
objGcmModel.TicketId = model.TicketId;
|
|
objGcmModel.NotificationMessage = model.NotificationMessage;
|
|
objGcmModel.NotificationCode = model.NotificationCode;
|
|
|
|
JavaScriptSerializer serializer = new JavaScriptSerializer();
|
|
string output = serializer.Serialize(objGcmModel);
|
|
|
|
model.GoogleAppID = ConfigurationManager.AppSettings["GoogleAppIdForKam"];
|
|
model.SenderId = ConfigurationManager.AppSettings["SenderIdForKam"];
|
|
var value = model.NotificationMessage;
|
|
WebRequest tRequest;
|
|
tRequest = WebRequest.Create("https://fcm.googleapis.com/fcm/send");
|
|
tRequest.Method = "post";
|
|
tRequest.ContentType = " application/x-www-form-urlencoded;charset=UTF-8";
|
|
tRequest.Headers.Add(string.Format("Authorization: key={0}", model.GoogleAppID));
|
|
|
|
tRequest.Headers.Add(string.Format("Sender: id={0}", model.SenderId));
|
|
|
|
string postData = "collapse_key=score_update&time_to_live=108& delay_while_idle=1&data.message=" + output + "&data.time=" + System.DateTime.Now.ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) + "®istration_id=" + model.DeviceGcmId + "";
|
|
Console.WriteLine(postData);
|
|
Byte[] byteArray = Encoding.UTF8.GetBytes(postData);
|
|
tRequest.ContentLength = byteArray.Length;
|
|
|
|
Stream dataStream = tRequest.GetRequestStream();
|
|
dataStream.Write(byteArray, 0, byteArray.Length);
|
|
dataStream.Close();
|
|
|
|
WebResponse tResponse = tRequest.GetResponse();
|
|
|
|
dataStream = tResponse.GetResponseStream();
|
|
|
|
StreamReader tReader = new StreamReader(dataStream);
|
|
|
|
String sResponseFromServer = tReader.ReadToEnd();
|
|
objModel.SenderId = sResponseFromServer;
|
|
tReader.Close();
|
|
dataStream.Close();
|
|
tResponse.Close();
|
|
|
|
return objModel;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GcmSendNotificationForKam", Ex.Message, path, errorlogtf);
|
|
objModel.Status = "6";
|
|
return objModel;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// FCM Notification KAM
|
|
/// </summary>
|
|
/// <param name="model"></param>
|
|
/// <returns></returns>
|
|
public SendNotificationModel FcmSendNotificationForKam(SendNotificationModel model)
|
|
{
|
|
//string serverKey = "myServerKey";
|
|
SendNotificationModel objModel = new SendNotificationModel();
|
|
try
|
|
{
|
|
GcmModel objGcmModel = new GcmModel();
|
|
objModel.Status = "1";
|
|
objGcmModel.TicketId = model.TicketId;
|
|
objGcmModel.NotificationMessage = model.NotificationMessage;
|
|
objGcmModel.NotificationCode = model.NotificationCode;
|
|
JavaScriptSerializer serializer = new JavaScriptSerializer();
|
|
string output = serializer.Serialize(objGcmModel);
|
|
|
|
model.GoogleAppID = ConfigurationManager.AppSettings["GoogleAppIdForKamFCM"];
|
|
model.SenderId = ConfigurationManager.AppSettings["SenderIdForKamFCM"];
|
|
|
|
|
|
var result = "-1";
|
|
var webAddr = "https://fcm.googleapis.com/fcm/send";
|
|
|
|
// var regID = "phoneRegID";
|
|
|
|
var httpWebRequest = (HttpWebRequest)WebRequest.Create(webAddr);
|
|
httpWebRequest.ContentType = "application/json";
|
|
httpWebRequest.Headers.Add(string.Format("Authorization: key={0}", model.GoogleAppID));
|
|
httpWebRequest.Headers.Add(string.Format("Sender: id={0}", model.SenderId));
|
|
|
|
//httpWebRequest.Headers.Add("Authorization:key=" + serverKey);
|
|
httpWebRequest.Method = "POST";
|
|
|
|
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
|
|
{
|
|
|
|
var payload = new
|
|
{
|
|
to = model.DeviceGcmId,
|
|
//notification = new
|
|
//{
|
|
// body = "Test",
|
|
// title = "Test",
|
|
//},
|
|
data = new
|
|
{
|
|
message = output,
|
|
time = System.DateTime.Now.ToString(ConfigurationManager.AppSettings["DateTimeFormat"])
|
|
}
|
|
};
|
|
|
|
var json = Newtonsoft.Json.JsonConvert.SerializeObject(payload);
|
|
|
|
// string json = "{\"to\": \"" + regID + "notification\": {\"title\": \"New dealbody\": \"20% deal!\"},\"priority\":10}";
|
|
//registration_ids, array of strings - to, single recipient
|
|
streamWriter.Write(json);
|
|
streamWriter.Flush();
|
|
}
|
|
|
|
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
|
|
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
|
|
{
|
|
result = streamReader.ReadToEnd();
|
|
objModel.SenderId = result;
|
|
}
|
|
|
|
return objModel;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
|
|
objLog.ErrorLogFile("GlobalRepository FcmSendNotificationForKam", Ex.Message, path, errorlogtf);
|
|
objModel.Status = "6";
|
|
objModel.TicketId = model.TicketId;
|
|
return objModel;
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// To get Reasons
|
|
/// </summary>
|
|
/// <returns>Reasons list</returns>
|
|
public List<ReasonsModel> GetReason()
|
|
{
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
List<ReasonsModel> objList = new List<ReasonsModel>();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_reasons"]);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new ReasonsModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
ReasonName = s.Field<string>("reason_name"),
|
|
ReasonAlias = s.Field<string>("reason_alias"),
|
|
TypeId = s.Field<string>("type_id")
|
|
}).ToList();
|
|
}
|
|
return objList;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetReason", Ex.Message, path, errorlogtf);
|
|
throw Ex;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get Estimate Cost list
|
|
/// </summary>
|
|
/// <returns>Estimate Cost list</returns>
|
|
public List<EstimateCostModel> GetEstimateCost()
|
|
{
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
List<EstimateCostModel> objList = new List<EstimateCostModel>();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_estimate_cost"]);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new EstimateCostModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
CostRange = s.Field<string>("_cost_range")
|
|
}).ToList();
|
|
}
|
|
return objList;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetEstimateCost", Ex.Message, path, errorlogtf);
|
|
throw Ex;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get state list
|
|
/// </summary>
|
|
/// <param name="model">state info</param>
|
|
/// <returns>state list</returns>
|
|
public List<StateModel> GetStateListIdWise(StateModel model)
|
|
{
|
|
List<StateModel> objList = new List<StateModel>();
|
|
StateModel objModel = new StateModel();
|
|
try
|
|
{
|
|
objAuthorization = new AuthenticationRepository();
|
|
if (objAuthorization.AuthenticateDevice(model.Token))
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_state"]);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new StateModel
|
|
{
|
|
StateId = s.Field<string>("state_id"),
|
|
StateAlias = s.Field<string>("state_alias")
|
|
}).ToList();
|
|
}
|
|
// check model has state id then return id specific details
|
|
if (model.StateIdParam != null)
|
|
{
|
|
objList = objList.Where(s => s.StateId.ToUpper().Trim().Contains(model.StateIdParam.ToUpper().Trim())).ToList();
|
|
}
|
|
// if state id is null then return all state details.
|
|
if (model.StateIdParam == null)
|
|
{
|
|
objList = objList.Select(s => s).ToList();
|
|
}
|
|
objList = objList.GroupBy(d => d.StateId).Select(d => d.FirstOrDefault()).ToList();
|
|
}
|
|
else
|
|
{
|
|
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
|
objList.Add(objModel);
|
|
}
|
|
|
|
return objList;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
|
objList.Add(objModel);
|
|
objLog.ErrorLogFile("GlobalRepository GetStateListIdWise", Ex.Message, path, errorlogtf);
|
|
return objList;
|
|
}
|
|
|
|
}
|
|
/// <summary>
|
|
/// this fun use for get city list state wise.
|
|
/// </summary>
|
|
/// <param name="model">pass city model as parameter</param>
|
|
/// <returns>list of city</returns>
|
|
public List<CityModel> GetCityListStateIdWise(CityModel model)
|
|
{
|
|
List<CityModel> objList = new List<CityModel>();
|
|
CityModel objModel = new CityModel();
|
|
try
|
|
{
|
|
objAuthorization = new AuthenticationRepository();
|
|
if (objAuthorization.AuthenticateDevice(model.Token))
|
|
{
|
|
DataSet ds = new DataSet();
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
|
nSqlParam[0] = new NpgsqlParameter("instate_id ", model.StateId);
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_city_state_wise"], nSqlParam);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new CityModel
|
|
{
|
|
CityId = s.Field<string>("city_id"),
|
|
CityName = s.Field<string>("city_alias")
|
|
|
|
}).ToList();
|
|
|
|
objList = objList.GroupBy(d => d.CityId).Select(d => d.FirstOrDefault()).ToList();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
|
objList.Add(objModel);
|
|
}
|
|
|
|
return objList;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
|
objList.Add(objModel);
|
|
objLog.ErrorLogFile("GlobalRepository GetAllCityListStateIdWise", Ex.Message, path, errorlogtf);
|
|
return objList;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get dealer city state wise.
|
|
/// </summary>
|
|
/// <param name="model">van info</param>
|
|
/// <returns>dealer city state wise</returns>
|
|
public List<DealerModel> GetDealerStateCityWise(VanModel model)
|
|
{
|
|
DealerModel objDealerModel = new DealerModel();
|
|
List<DealerModel> objListDealerModel = new List<DealerModel>();
|
|
try
|
|
{
|
|
objAuthorization = new AuthenticationRepository();
|
|
|
|
if (objAuthorization.AuthenticateDevice(model.Token))
|
|
{
|
|
ServiceEngineerRepository objServiceRepository = new ServiceEngineerRepository(ConfigurationManager.ConnectionStrings["Vecv_GoData"].ToString());
|
|
DataSet dsUser = new DataSet();
|
|
// dsUser = objServiceRepository.GetVanDetailUserIdWise(model);
|
|
dsUser = objServiceRepository.GetVanDetailUserIdWiseOnlyDealer(model);
|
|
objListDealerModel = dsUser.Tables[0].AsEnumerable().Select(s => new DealerModel
|
|
{
|
|
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"),
|
|
DealerContactNo = s.Field<string>("dealer_contact_number1"),
|
|
IsDeleted = s.Field<bool?>("dealer_isdeleted"),
|
|
Status = "1"
|
|
}).ToList();
|
|
|
|
objListDealerModel = objListDealerModel.GroupBy(d => d.DealerId).Select(d => d.FirstOrDefault()).ToList();
|
|
// filter dealer state and city wise from list.
|
|
if (model.DealerCityParam != null && model.DealerStateParam != null)
|
|
{
|
|
objListDealerModel = objListDealerModel.Where(s => s.DealerCity.ToUpper().Trim().Contains(model.DealerCityParam.ToUpper().Trim()) &&
|
|
s.DealerState.ToUpper().Trim().Contains(model.DealerStateParam.ToUpper().Trim())
|
|
).ToList();
|
|
}
|
|
// return all dealer.
|
|
if (model.DealerCityParam == null && model.DealerStateParam == null)
|
|
{
|
|
objListDealerModel = objListDealerModel.Select(s => s).ToList();
|
|
}
|
|
// filter dealer city wise from list.
|
|
if (model.DealerCityParam != null && model.DealerStateParam == null)
|
|
{
|
|
//objListDealerModel = objListDealerModel.Where(s => s.DealerCity.ToUpper().Trim().Contains(model.DealerCityParam.ToUpper().Trim())).ToList();
|
|
}
|
|
// filter dealer state wise from list.
|
|
if (model.DealerCityParam == null && model.DealerStateParam != null)
|
|
{
|
|
objListDealerModel = objListDealerModel.Where(s => s.DealerState.ToUpper().Trim().Contains(model.DealerStateParam.ToUpper().Trim())).ToList();
|
|
}
|
|
objDealerModel.Status = "1";
|
|
}
|
|
else
|
|
{
|
|
objDealerModel.Status = "0";
|
|
objDealerModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
|
return objListDealerModel;
|
|
}
|
|
List<DealerModel> objListDealerModel1 = new List<DealerModel>();
|
|
objListDealerModel1 = objListDealerModel.OrderBy(r => r.DealerDealerName).ToList();
|
|
return objListDealerModel1;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objDealerModel.Status = "0";
|
|
objDealerModel.Message = Ex.Message;
|
|
objLog.ErrorLogFile("GlobalRepository GetDealerStateCityWise", Ex.Message, path, errorlogtf);
|
|
return objListDealerModel;
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// To get dealer city state wise.
|
|
/// </summary>
|
|
/// <param name="model">van info</param>
|
|
/// <returns>dealer city state wise</returns>
|
|
public List<DealerModel> GetDealerStateCityWiseFuelType(VanModel model)
|
|
{
|
|
DealerModel objDealerModel = new DealerModel();
|
|
List<DealerModel> objListDealerModel = new List<DealerModel>();
|
|
try
|
|
{
|
|
objAuthorization = new AuthenticationRepository();
|
|
|
|
if (objAuthorization.AuthenticateDevice(model.Token))
|
|
{
|
|
ServiceEngineerRepository objServiceRepository = new ServiceEngineerRepository(ConfigurationManager.ConnectionStrings["Vecv_GoData"].ToString());
|
|
DataSet dsUser = new DataSet();
|
|
// dsUser = objServiceRepository.GetVanDetailUserIdWise(model);
|
|
dsUser = objServiceRepository.GetVanDetailUserIdWiseOnlyDealerFuelType(model);
|
|
objListDealerModel = dsUser.Tables[0].AsEnumerable().Select(s => new DealerModel
|
|
{
|
|
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"),
|
|
DealerContactNo = s.Field<string>("dealer_contact_number1"),
|
|
IsDeleted = s.Field<bool?>("dealer_isdeleted"),
|
|
FuelType = s.Field<string>("_fuel_type"),
|
|
Status = "1"
|
|
}).ToList();
|
|
|
|
objListDealerModel = objListDealerModel.GroupBy(d => d.DealerId).Select(d => d.FirstOrDefault()).ToList();
|
|
// filter dealer state and city wise from list.
|
|
if (model.DealerCityParam != null && model.DealerStateParam != null)
|
|
{
|
|
objListDealerModel = objListDealerModel.Where(s => s.DealerCity.ToUpper().Trim().Contains(model.DealerCityParam.ToUpper().Trim()) &&
|
|
s.DealerState.ToUpper().Trim().Contains(model.DealerStateParam.ToUpper().Trim())
|
|
).ToList();
|
|
}
|
|
// return all dealer.
|
|
if (model.DealerCityParam == null && model.DealerStateParam == null)
|
|
{
|
|
objListDealerModel = objListDealerModel.Select(s => s).ToList();
|
|
}
|
|
// filter dealer city wise from list.
|
|
if (model.DealerCityParam != null && model.DealerStateParam == null)
|
|
{
|
|
//objListDealerModel = objListDealerModel.Where(s => s.DealerCity.ToUpper().Trim().Contains(model.DealerCityParam.ToUpper().Trim())).ToList();
|
|
}
|
|
// filter dealer state wise from list.
|
|
if (model.DealerCityParam == null && model.DealerStateParam != null)
|
|
{
|
|
objListDealerModel = objListDealerModel.Where(s => s.DealerState.ToUpper().Trim().Contains(model.DealerStateParam.ToUpper().Trim())).ToList();
|
|
}
|
|
|
|
objDealerModel.Status = "1";
|
|
}
|
|
else
|
|
{
|
|
objDealerModel.Status = "0";
|
|
objDealerModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
|
return objListDealerModel;
|
|
}
|
|
List<DealerModel> objListDealerModel1 = new List<DealerModel>();
|
|
objListDealerModel1 = objListDealerModel.OrderBy(r => r.DealerDealerName).ToList();
|
|
return objListDealerModel1;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objDealerModel.Status = "0";
|
|
objDealerModel.Message = Ex.Message;
|
|
objLog.ErrorLogFile("GlobalRepository GetDealerStateCityWise", Ex.Message, path, errorlogtf);
|
|
return objListDealerModel;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get all sla time.
|
|
/// </summary>
|
|
/// <param name="model">sla info</param>
|
|
/// <returns>list of sla</returns>
|
|
public List<SlaModel> GetSla(SlaModel model)
|
|
{
|
|
SlaModel objSlaModel = new SlaModel();
|
|
List<SlaModel> objListSlaModel = new List<SlaModel>();
|
|
try
|
|
{
|
|
objAuthorization = new AuthenticationRepository();
|
|
|
|
if (objAuthorization.AuthenticateDevice(model.Token))
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_sla_for_van_position"]);
|
|
objListSlaModel = ds.Tables[0].AsEnumerable().Select(s => new SlaModel
|
|
{
|
|
Id = s.Field<Int64?>("id"),
|
|
SlaTime = s.Field<int?>("sla_time"),
|
|
Status = "1"
|
|
|
|
}).ToList();
|
|
|
|
objSlaModel.Status = "1";
|
|
}
|
|
else
|
|
{
|
|
objSlaModel.Status = "0";
|
|
objSlaModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
|
return objListSlaModel;
|
|
}
|
|
return objListSlaModel;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objSlaModel.Status = "0";
|
|
objSlaModel.Message = Ex.Message;
|
|
objLog.ErrorLogFile("GlobalRepository GetSla", Ex.Message, path, errorlogtf);
|
|
return objListSlaModel;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// To create data logs.
|
|
/// </summary>
|
|
/// <param name="event_">pass event as parameter(which method call)</param>
|
|
/// <param name="model">pass model</param>
|
|
/// <param name="startDate">start date of event</param>
|
|
/// <param name="endDate">end date of a event(method)</param>
|
|
public void AddLogFile(string event_, object model, string startDate, string endDate)
|
|
{
|
|
try
|
|
{
|
|
if (ConfigurationManager.AppSettings["Log"] == "true")
|
|
{
|
|
string data = "";
|
|
if (model != null)
|
|
{
|
|
Type type = model.GetType();
|
|
PropertyInfo[] properties = type.GetProperties();
|
|
// read property name and data from models.
|
|
foreach (PropertyInfo property in properties)
|
|
{
|
|
data = data + (property.Name + ':' + property.GetValue(model, null) + Environment.NewLine);
|
|
|
|
}
|
|
}
|
|
else { data = " model is null "; }
|
|
string path = HttpContext.Current.Server.MapPath("~/Log/");//get path of file location
|
|
string filename = "Log_" + DateTime.Now.ToString(ConfigurationManager.AppSettings["DateFormat"]) + ".txt";// create file date wise.
|
|
string filepath = path + filename;
|
|
if (File.Exists(filepath))
|
|
{
|
|
using (StreamWriter writer = new StreamWriter(filepath, true))
|
|
{
|
|
if (startDate != null)
|
|
{
|
|
//write content in log file.
|
|
writer.WriteLine("-------------------" + event_ + " START " + startDate + "-------------");
|
|
writer.WriteLine(data + Environment.NewLine + "Function Exe Start Time :" + DateTime.Now.ToString(ConfigurationManager.AppSettings["DateTimeFormat"]));
|
|
}
|
|
if (endDate != null)
|
|
{
|
|
writer.WriteLine("-------------------" + event_ + " END " + endDate + "-------------" + Environment.NewLine);
|
|
}
|
|
writer.Close();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
// create file if not exists and write content in log file.
|
|
StreamWriter writer = File.CreateText(filepath);
|
|
if (startDate != null)
|
|
{
|
|
writer.WriteLine("-------------------" + event_ + " START " + startDate + "-------------");
|
|
writer.WriteLine(data + Environment.NewLine + "Function Exe Start Time :" + DateTime.Now.ToString(ConfigurationManager.AppSettings["DateTimeFormat"]));
|
|
}
|
|
if (endDate != null)
|
|
{
|
|
writer.WriteLine("-------------------" + event_ + " END " + endDate + "-------------" + Environment.NewLine);
|
|
|
|
}
|
|
writer.Close();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository AddLogFile", Ex.Message, path, errorlogtf);
|
|
throw Ex;
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// To create error logs.
|
|
/// </summary>
|
|
/// <param name="event_">pass event name as parameter(which method call)</param>
|
|
/// <param name="msg">error text</param>
|
|
public void ErrorLogFile(string event_, string msg)
|
|
{
|
|
try
|
|
{
|
|
if (ConfigurationManager.AppSettings["ErrorLog"] == "true")
|
|
{
|
|
string path = HttpContext.Current.Server.MapPath("~/Log/");
|
|
string filename = "Error_Log_" + DateTime.Now.ToString(ConfigurationManager.AppSettings["DateFormat"]) + ".txt";
|
|
string filepath = path + filename;
|
|
if (File.Exists(filepath))
|
|
{
|
|
using (StreamWriter writer = new StreamWriter(filepath, true))
|
|
{
|
|
writer.WriteLine(Environment.NewLine + "-------------------" + event_ + " : " + DateTime.Now.ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) + "--------------" + Environment.NewLine + "Error_message :" + msg + Environment.NewLine);
|
|
writer.Close();
|
|
}
|
|
}
|
|
else
|
|
{
|
|
StreamWriter writer = File.CreateText(filepath);
|
|
writer.WriteLine(Environment.NewLine + "------------------" + event_ + " : " + DateTime.Now.ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) + "--------------" + Environment.NewLine + "Error_message :" + msg + Environment.NewLine);
|
|
writer.Close();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository ErrorLogFile", Ex.Message, path, errorlogtf);
|
|
throw Ex;
|
|
}
|
|
|
|
}
|
|
|
|
/// <summary>
|
|
/// To insert or update reasons.
|
|
/// </summary>
|
|
/// <param name="model">reason info</param>
|
|
/// <returns>status</returns>
|
|
public ReasonsModel UpdateOrInsertReason(ReasonsModel model)
|
|
{
|
|
ReasonsModel objModel = new ReasonsModel();
|
|
try
|
|
{
|
|
objAuthorization = new AuthenticationRepository();
|
|
if (objAuthorization.AuthenticateDevice(model.Token))
|
|
{
|
|
DataSet ds = new DataSet();
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[5];
|
|
nSqlParam[0] = new NpgsqlParameter("inid ", model.Id);// if id is null then go for insert else update.
|
|
nSqlParam[1] = new NpgsqlParameter("inreason_name ", model.ReasonName);
|
|
nSqlParam[2] = new NpgsqlParameter("inreason_alias ", model.ReasonAlias);
|
|
nSqlParam[3] = new NpgsqlParameter("intype_id ", model.TypeId);
|
|
nSqlParam[4] = new NpgsqlParameter("inis_deleted ", model.IsDeleted);
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_or_update_resaons"], nSqlParam);
|
|
|
|
// For Telematics Use
|
|
// NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_sync_dropdown_options"]);
|
|
if (ds.Tables[0].Rows[0]["sp_insert_or_update_resaons"].ToString() == "1")
|
|
{
|
|
objModel.Status = "1";
|
|
objModel.Message = "Record Added Succesfully";
|
|
}
|
|
else if (ds.Tables[0].Rows[0]["sp_insert_or_update_resaons"].ToString() == "2")
|
|
{
|
|
objModel.Status = "2";
|
|
objModel.Message = "Record Already Exist";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
objModel.Status = "0";
|
|
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
|
}
|
|
return objModel;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Status = "0";
|
|
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
|
objLog.ErrorLogFile("GlobalRepository UpdateOrInsertReason", Ex.Message, path, errorlogtf);
|
|
return objModel;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get language list
|
|
/// </summary>
|
|
/// <param name="model">lanuage info</param>
|
|
/// <returns>language list</returns>
|
|
public List<LanguageModel> GetLanguageList(LanguageModel model)
|
|
{
|
|
List<LanguageModel> objList = new List<LanguageModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
|
nSqlParam[0] = new NpgsqlParameter("inid", model == null ? null : model.Id);
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_languages"], nSqlParam);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new LanguageModel
|
|
{
|
|
Id = s.Field<int?>("_id"),
|
|
LanguageAlias = s.Field<string>("_languages_alias"),
|
|
LanguageName = s.Field<string>("_language_name"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetLanguageList", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// To get Toll free No Sources list
|
|
/// </summary>
|
|
/// <returns>Toll free No Sources list</returns>
|
|
public List<TollFreeNoSourceModel> GetTollFreeNoSources()
|
|
{
|
|
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_toll_free_no_source"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TollFreeNoSourceModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
ReasonAlias = s.Field<string>("reason_alias"),
|
|
ReasonName = s.Field<string>("reason_name"),
|
|
TypeAlias = s.Field<string>("type_alias"),
|
|
TypeId = s.Field<string>("type_id"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetTollFreeNoSources", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
|
|
public List<TollFreeNoSourceModel> GetNatureOfProblem()
|
|
{
|
|
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_nature_of_problem"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TollFreeNoSourceModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
ReasonAlias = s.Field<string>("reason_alias"),
|
|
ReasonName = s.Field<string>("reason_name"),
|
|
TypeAlias = s.Field<string>("type_alias"),
|
|
TypeId = s.Field<string>("type_id"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetNatureOfProblem", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get Warranty list
|
|
/// </summary>
|
|
/// <returns>Warranty list</returns>
|
|
public List<TollFreeNoSourceModel> GetWarranty()
|
|
{
|
|
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_warranty_details"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TollFreeNoSourceModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
ReasonAlias = s.Field<string>("reason_alias"),
|
|
ReasonName = s.Field<string>("reason_name"),
|
|
TypeAlias = s.Field<string>("type_alias"),
|
|
TypeId = s.Field<string>("type_id"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetWarranty", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get drop down list
|
|
/// </summary>
|
|
/// <returns>drop down list</returns>
|
|
public List<TollFreeNoSourceModel> GetDropDownList()
|
|
{
|
|
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dropdown_list_items_types"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TollFreeNoSourceModel
|
|
{
|
|
TypeAlias = s.Field<string>("type_alias"),
|
|
TypeId = s.Field<string>("type_id"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetDropDownList", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get Warranty list
|
|
/// </summary>
|
|
/// <returns>Warranty list</returns>
|
|
public List<TollFreeNoSourceModel> GetAllReasons()
|
|
{
|
|
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dropdown_options"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TollFreeNoSourceModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
ReasonAlias = s.Field<string>("reason_alias"),
|
|
ReasonName = s.Field<string>("reason_name"),
|
|
TypeAlias = s.Field<string>("type_alias"),
|
|
TypeId = s.Field<string>("type_id"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetAllReasons", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get Vehicle type list
|
|
/// </summary>
|
|
/// <returns>Vehicle type list</returns>
|
|
public List<TollFreeNoSourceModel> GetAllVehicleType()
|
|
{
|
|
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_vehicle_types"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TollFreeNoSourceModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
ReasonAlias = s.Field<string>("reason_alias"),
|
|
ReasonName = s.Field<string>("reason_name"),
|
|
TypeAlias = s.Field<string>("type_alias"),
|
|
TypeId = s.Field<string>("type_id"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetAllVehicleType", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get Vehicle type list
|
|
/// </summary>
|
|
/// <returns>Vehicle type list</returns>
|
|
public List<TollFreeNoSourceModel> GetAll24HrsClouserReason()
|
|
{
|
|
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_24hrs_closure_reason"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TollFreeNoSourceModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
ReasonAlias = s.Field<string>("reason_alias"),
|
|
ReasonName = s.Field<string>("reason_name"),
|
|
TypeAlias = s.Field<string>("type_alias"),
|
|
TypeId = s.Field<string>("type_id"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetAll24HrsClouserReason", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get Opportunity lost reasons
|
|
/// </summary>
|
|
/// <returns>Opportunity lost reasons</returns>
|
|
public List<TollFreeNoSourceModel> GetAllOpportunityLostReason()
|
|
{
|
|
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_opportunity_loss_reason"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TollFreeNoSourceModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
ReasonAlias = s.Field<string>("reason_alias"),
|
|
ReasonName = s.Field<string>("reason_name"),
|
|
TypeAlias = s.Field<string>("type_alias"),
|
|
TypeId = s.Field<string>("type_id"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile(" GlobalRepository GetAllOpportunityLostReason", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
//------------------ *** added on 25-11-2020 (start) ------------------------------------------
|
|
/// <summary>
|
|
/// To get Ticket closed reasons
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public List<TollFreeNoSourceModel> GetAllClosedTicketReason()
|
|
{
|
|
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_closed_reason"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TollFreeNoSourceModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
ReasonAlias = s.Field<string>("reason_alias"),
|
|
ReasonName = s.Field<string>("reason_name"),
|
|
TypeAlias = s.Field<string>("type_alias"),
|
|
TypeId = s.Field<string>("type_id"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetAllClosedTicketReason", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
//------------------ *** added on 25-11-2020 (end) ------------------------------------------
|
|
|
|
|
|
/// <summary>
|
|
/// To get Opportunity lost reasons
|
|
/// </summary>
|
|
/// <returns>Opportunity lost reasons</returns>
|
|
public List<TollFreeNoSourceModel> GetAllDelayedReasonMorethan24Hrs()
|
|
{
|
|
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_delayed_reason_for_24_hours"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TollFreeNoSourceModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
ReasonAlias = s.Field<string>("reason_alias"),
|
|
ReasonName = s.Field<string>("reason_name"),
|
|
TypeAlias = s.Field<string>("type_alias"),
|
|
TypeId = s.Field<string>("type_id"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetAllDelayedReasonMorethan24Hrs", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
/// <summary>
|
|
/// To get FeedBack type list
|
|
/// </summary>
|
|
/// <returns>FeedBack type list</returns>
|
|
public List<TollFreeNoSourceModel> GetAllFeedBackTypes()
|
|
{
|
|
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_feedback_question"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TollFreeNoSourceModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
ReasonAlias = s.Field<string>("reason_alias"),
|
|
ReasonName = s.Field<string>("reason_name"),
|
|
TypeAlias = s.Field<string>("type_alias"),
|
|
TypeId = s.Field<string>("type_id"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetAllFeedBackTypes", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get Suggestion list
|
|
/// </summary>
|
|
/// <returns>Suggestion list</returns>
|
|
public List<TollFreeNoSourceModel> GetAllSuggestion()
|
|
{
|
|
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_suggestions"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TollFreeNoSourceModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
ReasonAlias = s.Field<string>("reason_alias"),
|
|
ReasonName = s.Field<string>("reason_name"),
|
|
TypeAlias = s.Field<string>("type_alias"),
|
|
TypeId = s.Field<string>("type_id"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetAllSuggestion", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get Complaint list
|
|
/// </summary>
|
|
/// <returns>Complaint list</returns>
|
|
public List<TollFreeNoSourceModel> GetAllComplaint()
|
|
{
|
|
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_complaints"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TollFreeNoSourceModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
ReasonAlias = s.Field<string>("reason_alias"),
|
|
ReasonName = s.Field<string>("reason_name"),
|
|
TypeAlias = s.Field<string>("type_alias"),
|
|
TypeId = s.Field<string>("type_id"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetAllComplaint", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get Call Status list
|
|
/// </summary>
|
|
/// <returns>Call Status list</returns>
|
|
public List<TollFreeNoSourceModel> GetAllCallStatus()
|
|
{
|
|
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_call_status"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TollFreeNoSourceModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
ReasonAlias = s.Field<string>("reason_alias"),
|
|
ReasonName = s.Field<string>("reason_name"),
|
|
TypeAlias = s.Field<string>("type_alias"),
|
|
TypeId = s.Field<string>("type_id"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetAllCallStatus", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
/// <summary>
|
|
/// To get organization chart list.
|
|
/// </summary>
|
|
/// <returns>organization chart list</returns>
|
|
public List<OrgganizationModel> GetOrganizationListChart()
|
|
{
|
|
List<OrgganizationModel> objList = new List<OrgganizationModel>();
|
|
OrgganizationModel objModel;
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_organizations"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
|
{
|
|
objModel = new OrgganizationModel();
|
|
string[] orgArray = ds.Tables[0].Rows[i]["_path"].ToString().Split('/');
|
|
List<string> orgList = orgArray.ToList<string>();
|
|
orgList.RemoveAll(p => string.IsNullOrEmpty(p));
|
|
orgArray = orgList.ToArray();
|
|
if (i == 0)
|
|
{
|
|
objModel.OrganizationName = ds.Tables[0].AsEnumerable()
|
|
.Where(
|
|
w => w.Field<string>("_depth").Equals(orgArray.Count().ToString())
|
|
&&
|
|
w.Field<string>("_alias").Equals(orgArray[orgArray.Count() - 1].ToString())
|
|
)
|
|
.Select(s => s.Field<string>("_organization_name")).FirstOrDefault();
|
|
|
|
objModel.Color = ds.Tables[0].AsEnumerable()
|
|
.Where(
|
|
w => w.Field<string>("_depth").Equals(orgArray.Count().ToString())
|
|
&&
|
|
w.Field<string>("_alias").Equals(orgArray[orgArray.Count() - 1].ToString())
|
|
)
|
|
.Select(s => s.Field<string>("_color")).FirstOrDefault();
|
|
|
|
objModel.Parent = null;
|
|
}
|
|
else
|
|
{
|
|
objModel.OrganizationName = ds.Tables[0].AsEnumerable()
|
|
.Where(
|
|
w => w.Field<string>("_depth").Equals(orgArray.Count().ToString())
|
|
&&
|
|
w.Field<string>("_alias").Equals(orgArray[orgArray.Count() - 1].ToString())
|
|
)
|
|
.Select(s => s.Field<string>("_organization_name")).FirstOrDefault();
|
|
|
|
objModel.Color = ds.Tables[0].AsEnumerable()
|
|
.Where(
|
|
w => w.Field<string>("_depth").Equals(orgArray.Count().ToString())
|
|
&&
|
|
w.Field<string>("_alias").Equals(orgArray[orgArray.Count() - 1].ToString())
|
|
)
|
|
.Select(s => s.Field<string>("_color")).FirstOrDefault();
|
|
|
|
objModel.Parent = ds.Tables[0].AsEnumerable()
|
|
.Where(
|
|
w => w.Field<string>("_depth").Equals((orgArray.Count() - 1).ToString())
|
|
&&
|
|
w.Field<string>("_alias").Equals(orgArray[orgArray.Count() - 2].ToString())
|
|
)
|
|
.Select(s => s.Field<string>("_organization_name")).FirstOrDefault();
|
|
}
|
|
|
|
objList.Add(objModel);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetOrganizationListChart", Ex.Message, path, errorlogtf);
|
|
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
public List<TollFreeNoSourceModel> GetReasonForDealer()
|
|
{
|
|
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_reason_for_assign_to_dealer"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TollFreeNoSourceModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
ReasonAlias = s.Field<string>("reason_alias"),
|
|
ReasonName = s.Field<string>("reason_name"),
|
|
TypeAlias = s.Field<string>("type_alias"),
|
|
TypeId = s.Field<string>("type_id"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetReasonForDealer", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// To send SMS
|
|
/// </summary>
|
|
/// <param name="smsUrl">The complete URL for SMS which consists of username, password, message to, messgae from, sms body</param>
|
|
/* public void SendMessage(string smsUrl)
|
|
{
|
|
try
|
|
{
|
|
if (System.Configuration.ConfigurationManager.AppSettings["SMSIsBlocked"] != "true")
|
|
{
|
|
objLog.AddLogFile("GlobalRepository SendMessage Url", smsUrl, path, errorlogtf);
|
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(smsUrl);
|
|
//request.Headers.Add("X-Mashape-Key", "kgdDYTm7FBmshs7MEi16Xlvr1mEvp12woJFjsnYbNNrLfK8qyi");
|
|
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
|
StreamReader sr = new StreamReader(response.GetResponseStream());
|
|
|
|
string source = sr.ReadToEnd();
|
|
sr.Close();
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository SendMessage", Ex.Message, path, errorlogtf);
|
|
}
|
|
}*/
|
|
|
|
public void SendMessage(string smsUrl)
|
|
{
|
|
try
|
|
{
|
|
if (System.Configuration.ConfigurationManager.AppSettings["SMSIsBlocked"] != "true")
|
|
{
|
|
objLog.AddLogFile("GlobalRepository SendMessage Url", smsUrl, path, errorlogtf);
|
|
|
|
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
|
var clientVehicleType = new RestClient(smsUrl);
|
|
var requestVehicleType = new RestRequest(Method.GET);
|
|
IRestResponse responseVehicleType = clientVehicleType.Execute(requestVehicleType);
|
|
if (responseVehicleType.ResponseStatus.ToString() == "Error")
|
|
{
|
|
|
|
bool isSend = objTicketRepository.emailForError(responseVehicleType.ErrorMessage.ToString(), clientVehicleType.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), responseVehicleType.ErrorMessage.ToString(), path, errorlogtf);
|
|
|
|
}
|
|
|
|
|
|
{
|
|
if (responseVehicleType.ResponseStatus.ToString() == "TimedOut")
|
|
{
|
|
|
|
bool isSend = objTicketRepository.emailForError(responseVehicleType.ErrorMessage.ToString(), clientVehicleType.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), responseVehicleType.ErrorMessage.ToString(), path, errorlogtf);
|
|
|
|
}
|
|
else
|
|
{
|
|
if (responseVehicleType.StatusCode == System.Net.HttpStatusCode.Unauthorized)
|
|
{
|
|
bool isSend = objTicketRepository.emailForError("API Login Failed:Login failed.The server response is Unauthorized. ", clientVehicleType.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), "API Login Failed:Login failed. The server response is Unauthorized. ", path, errorlogtf);
|
|
|
|
}
|
|
else if (responseVehicleType.StatusCode == System.Net.HttpStatusCode.OK)
|
|
{
|
|
string source = responseVehicleType.Content;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository SendMessage", Ex.Message, path, errorlogtf);
|
|
}
|
|
}
|
|
|
|
/* public void SendMessageEscalation(string smsUrl)
|
|
{
|
|
try
|
|
{
|
|
if (System.Configuration.ConfigurationManager.AppSettings["isEscalationSMSSend"] != "true")
|
|
{
|
|
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(smsUrl);
|
|
//request.Headers.Add("X-Mashape-Key", "kgdDYTm7FBmshs7MEi16Xlvr1mEvp12woJFjsnYbNNrLfK8qyi");
|
|
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
|
StreamReader sr = new StreamReader(response.GetResponseStream());
|
|
|
|
string source = sr.ReadToEnd();
|
|
sr.Close();
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository SendMessageEscalation", Ex.Message, path, errorlogtf);
|
|
}
|
|
}*/
|
|
|
|
|
|
public void SendMessageEscalation(string smsUrl)
|
|
{
|
|
try
|
|
{
|
|
if (System.Configuration.ConfigurationManager.AppSettings["isEscalationSMSSend"] != "true")
|
|
{
|
|
|
|
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
|
var clientVehicleType = new RestClient(smsUrl);
|
|
var requestVehicleType = new RestRequest(Method.GET);
|
|
IRestResponse responseVehicleType = clientVehicleType.Execute(requestVehicleType);
|
|
if (responseVehicleType.ResponseStatus.ToString() == "Error")
|
|
{
|
|
|
|
bool isSend = objTicketRepository.emailForError(responseVehicleType.ErrorMessage.ToString(), clientVehicleType.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), responseVehicleType.ErrorMessage.ToString(), path, errorlogtf);
|
|
|
|
}
|
|
else
|
|
{
|
|
if (responseVehicleType.ResponseStatus.ToString() == "TimedOut")
|
|
{
|
|
|
|
bool isSend = objTicketRepository.emailForError(responseVehicleType.ErrorMessage.ToString(), clientVehicleType.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), responseVehicleType.ErrorMessage.ToString(), path, errorlogtf);
|
|
|
|
}
|
|
else
|
|
{
|
|
if (responseVehicleType.StatusCode == System.Net.HttpStatusCode.Unauthorized)
|
|
{
|
|
bool isSend = objTicketRepository.emailForError("API Login Failed:Login failed.The server response is Unauthorized. ", clientVehicleType.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), "API Login Failed:Login failed. The server response is Unauthorized. ", path, errorlogtf);
|
|
|
|
}
|
|
else if (responseVehicleType.StatusCode == System.Net.HttpStatusCode.OK)
|
|
{
|
|
string source = responseVehicleType.Content;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository SendMessageEscalation", Ex.Message, path, errorlogtf);
|
|
}
|
|
}
|
|
|
|
public List<AppModel> GetAppVersion(AppModel model)
|
|
{
|
|
List<AppModel> objList = new List<AppModel>();
|
|
AppModel objModel = new AppModel();
|
|
try
|
|
{
|
|
objAuthorization = new AuthenticationRepository();
|
|
if (objAuthorization.AuthenticateDevice(model.Token))
|
|
{
|
|
DataSet ds = new DataSet();
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
|
nSqlParam[0] = new NpgsqlParameter("inapp_code ", model.AppCode);
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_app_config_details"], nSqlParam);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new AppModel
|
|
{
|
|
AppCode = s.Field<string>("_app_code"),
|
|
AppVersion = s.Field<string>("_app_version"),
|
|
AppName = s.Field<string>("_app_name"),
|
|
ModifiedDate = s.Field<DateTime?>("_last_modified_date")
|
|
|
|
}).ToList();
|
|
|
|
|
|
}
|
|
}
|
|
else
|
|
{
|
|
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
|
objList.Add(objModel);
|
|
}
|
|
|
|
return objList;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
|
objList.Add(objModel);
|
|
objLog.ErrorLogFile("GlobalRepository GetAppVersion", Ex.Message, path, errorlogtf);
|
|
return objList;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// To get Customer Not Satisfied Questions list
|
|
/// </summary>
|
|
/// <returns>Customer Not Satisfied Questions list</returns>
|
|
public List<TollFreeNoSourceModel> GetAllCustomerNotSatisfiedQuestions()
|
|
{
|
|
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_not_satisfied_questions"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TollFreeNoSourceModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
ReasonAlias = s.Field<string>("reason_alias"),
|
|
ReasonName = s.Field<string>("reason_name"),
|
|
TypeAlias = s.Field<string>("type_alias"),
|
|
TypeId = s.Field<string>("type_id"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetAllCustomerNotSatisfiedQuestions", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// To get customer FeedBack type list
|
|
/// </summary>
|
|
/// <returns>FeedBack type list</returns>
|
|
public List<TollFreeNoSourceModel> GetAllCustomerFeedBackTypes()
|
|
{
|
|
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_feedback_question"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TollFreeNoSourceModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
ReasonAlias = s.Field<string>("reason_alias"),
|
|
ReasonName = s.Field<string>("reason_name"),
|
|
TypeAlias = s.Field<string>("type_alias"),
|
|
TypeId = s.Field<string>("type_id"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetAllCustomerFeedBackTypes", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
|
|
public List<TollFreeNoSourceModel> GetFeedBackReasonList()
|
|
{
|
|
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
|
try
|
|
{
|
|
DataSet ds = new DataSet();
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_feedback_reason_list"]);
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new TollFreeNoSourceModel
|
|
{
|
|
Id = s.Field<int?>("id"),
|
|
ReasonAlias = s.Field<string>("reason_alias"),
|
|
ReasonName = s.Field<string>("reason_name"),
|
|
TypeAlias = s.Field<string>("type_alias"),
|
|
TypeId = s.Field<string>("type_id"),
|
|
}).ToList();
|
|
}
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository GetFeedBackReasonList", Ex.Message, path, errorlogtf);
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
#endregion
|
|
|
|
//added on 26-11-2020
|
|
public InsertOpenTicket checkRegistartionNoandGetVehicleDetail(InsertOpenTicket model)
|
|
{
|
|
try
|
|
{
|
|
//objCustomerVehicleModel.Status = 1;
|
|
if (model.VehicleRegistrationNumber == null)
|
|
{
|
|
model.VehicleRegistrationNumber = "";
|
|
|
|
}
|
|
if (model.ChassisNo == null)
|
|
{
|
|
|
|
model.ChassisNo = "";
|
|
}
|
|
// model.ChassisNo = "068007";
|
|
objAuthorization = new AuthenticationRepository();
|
|
if (objAuthorization.AuthenticateDevice(model.Token))
|
|
{
|
|
DataSet ds = new DataSet();
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
|
|
|
if (model.VehicleRegistrationNumber == null || model.VehicleRegistrationNumber == "")
|
|
{
|
|
nSqlParam[0] = new NpgsqlParameter("inregistration_number ", null);
|
|
nSqlParam[1] = new NpgsqlParameter("inchassis_number ", model.ChassisNo);
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_detail_By_DBM"], nSqlParam);
|
|
}
|
|
else
|
|
{
|
|
nSqlParam[0] = new NpgsqlParameter("inregistration_number ", model.VehicleRegistrationNumber);
|
|
nSqlParam[1] = new NpgsqlParameter("inchassis_number ", null);
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_detail_By_DBM_registration_number"], nSqlParam);
|
|
}
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
//tempElement = doc.Descendants(ab + "Vehicle_Warranty").FirstOrDefault();
|
|
model.vehicle_warranty = "vehicle_warranty";
|
|
//tempElement = doc.Descendants(ab + "AMC").FirstOrDefault();
|
|
model.vehicle_amc = "AMC";
|
|
//added on 12-11-2020
|
|
// tempElement = doc.Descendants(ab + "Emission_norms").FirstOrDefault();
|
|
model.vehicle_emission_norms = ds.Tables[0].Rows[0]["_vehicle_type"].ToString();
|
|
// tempElement = doc.Descendants(ab + "sales_date").FirstOrDefault();
|
|
model.vehicle_sales_date = ds.Tables[0].Rows[0]["_vehicle_sales_date"].ToString();
|
|
|
|
}
|
|
|
|
}
|
|
return model;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository checkRegistartionNoandGetVehicleDetail", Ex.Message, path, errorlogtf);
|
|
|
|
return model;
|
|
}
|
|
|
|
}
|
|
|
|
//added on 26-11-2020
|
|
public InsertOpenTicket checkKamManagerDetail(InsertOpenTicket model)
|
|
{
|
|
try
|
|
{
|
|
model.KamChampId = "111";
|
|
model.KamChampName = "qqq";
|
|
model.KamChampTel = "aa";
|
|
model.KamChampEmail = "a@b.com";
|
|
model.KamRegHId = "bb";
|
|
model.KamRegHName = "asas";
|
|
model.KamRegHTel = "aaaaa";
|
|
model.KamRegHEmail = "aaaa";
|
|
model.KamNatHId = "";
|
|
model.KamNatHName = "";
|
|
model.KamNatHTel = "";
|
|
model.KamNatHEmail = "";
|
|
return model;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository checkKamManagerDetail", Ex.Message, path, errorlogtf);
|
|
|
|
return model;
|
|
}
|
|
}
|
|
/* public string getvehiclewarrantychassis(string chassisno)
|
|
{
|
|
|
|
string vehwarrnty = "";
|
|
string APIRegistrationNo = string.Format(ConfigurationManager.AppSettings["EOSAPIFORGETTINGCUSTOMERDATA"].ToString(), "", chassisno);
|
|
WebRequest req = WebRequest.Create(APIRegistrationNo);
|
|
req.Method = "GET";
|
|
string userNameAndPassword = ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGCUSTOMERDATA"].ToString() + ":" + ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGCUSTOMERDATA"].ToString();
|
|
req.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(userNameAndPassword));
|
|
req.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGCUSTOMERDATA"].ToString(), ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGCUSTOMERDATA"].ToString());
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls |
|
|
SecurityProtocolType.Tls11 |
|
|
SecurityProtocolType.Tls12;
|
|
try
|
|
{
|
|
WebResponse webRes = req.GetResponse();
|
|
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
|
|
if (resp.StatusCode == HttpStatusCode.OK)
|
|
{
|
|
StreamReader ResponseDataStream = new StreamReader(resp.GetResponseStream());
|
|
String res = ResponseDataStream.ReadToEnd();
|
|
XmlDocument XMLDoc = new XmlDocument();
|
|
XMLDoc.LoadXml(res);
|
|
XmlNodeList nodeList = XMLDoc.GetElementsByTagName("content");
|
|
XNamespace ab = "http://schemas.microsoft.com/ado/2007/08/dataservices";
|
|
string Short_Fall = string.Empty;
|
|
foreach (XmlNode node in nodeList)
|
|
{
|
|
XDocument doc = XDocument.Parse(node.InnerXml);
|
|
XElement tempElement = doc.Descendants(ab + "Vhvin").FirstOrDefault();
|
|
tempElement = doc.Descendants(ab + "Vehicle_Warranty").FirstOrDefault();
|
|
vehwarrnty = tempElement.Value;
|
|
}
|
|
}
|
|
|
|
return vehwarrnty;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository getvehiclewarrantychassis" + APIRegistrationNo, Ex.Message, path, errorlogtf);
|
|
return vehwarrnty;
|
|
}
|
|
}*/
|
|
public string getvehiclewarrantychassis(string chassisno)
|
|
{
|
|
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
|
string vehwarrnty = "";
|
|
string APIRegistrationNo = string.Format(ConfigurationManager.AppSettings["EOSAPIFORGETTINGCUSTOMERDATA"].ToString(), "", chassisno);
|
|
WebRequest req = WebRequest.Create(APIRegistrationNo);
|
|
req.Method = "GET";
|
|
string userNameAndPassword = ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGCUSTOMERDATA"].ToString() + ":" + ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGCUSTOMERDATA"].ToString();
|
|
req.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(userNameAndPassword));
|
|
req.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGCUSTOMERDATA"].ToString(), ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGCUSTOMERDATA"].ToString());
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls |
|
|
SecurityProtocolType.Tls11 |
|
|
SecurityProtocolType.Tls12;
|
|
try
|
|
{
|
|
WebResponse webRes = req.GetResponse();
|
|
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
|
|
if (resp.StatusCode == HttpStatusCode.OK)
|
|
{
|
|
StreamReader ResponseDataStream = new StreamReader(resp.GetResponseStream());
|
|
String res = ResponseDataStream.ReadToEnd();
|
|
XmlDocument XMLDoc = new XmlDocument();
|
|
XMLDoc.LoadXml(res);
|
|
XmlNodeList nodeList = XMLDoc.GetElementsByTagName("content");
|
|
XNamespace ab = "http://schemas.microsoft.com/ado/2007/08/dataservices";
|
|
string Short_Fall = string.Empty;
|
|
foreach (XmlNode node in nodeList)
|
|
{
|
|
XDocument doc = XDocument.Parse(node.InnerXml);
|
|
XElement tempElement = doc.Descendants(ab + "Vhvin").FirstOrDefault();
|
|
tempElement = doc.Descendants(ab + "Vehicle_Warranty").FirstOrDefault();
|
|
vehwarrnty = tempElement.Value;
|
|
}
|
|
}
|
|
else if (resp.StatusCode == HttpStatusCode.Unauthorized)
|
|
{
|
|
bool isSend = objTicketRepository.emailForError("API Login Failed: Unauthorized access", APIRegistrationNo);
|
|
objLog.ErrorLogFile(APIRegistrationNo, "API Login Failed: Unauthorized access", path, errorlogtf);
|
|
}
|
|
return vehwarrnty;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
bool isSend = objTicketRepository.emailForError(APIRegistrationNo, Ex.Message);
|
|
|
|
objLog.ErrorLogFile("GlobalRepository getvehiclewarrantychassis" + APIRegistrationNo, Ex.Message, path, errorlogtf);
|
|
return vehwarrnty;
|
|
}
|
|
}
|
|
|
|
|
|
/*public string getvehiclewarranty(string regNo)
|
|
{
|
|
|
|
string vehwarrnty = "";
|
|
string APIRegistrationNo = string.Format(ConfigurationManager.AppSettings["EOSAPIFORGETTINGCUSTOMERDATA"].ToString(), regNo, "");
|
|
WebRequest req = WebRequest.Create(APIRegistrationNo);
|
|
req.Method = "GET";
|
|
string userNameAndPassword = ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGCUSTOMERDATA"].ToString() + ":" + ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGCUSTOMERDATA"].ToString();
|
|
req.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(userNameAndPassword));
|
|
req.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGCUSTOMERDATA"].ToString(), ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGCUSTOMERDATA"].ToString());
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls |
|
|
SecurityProtocolType.Tls11 |
|
|
SecurityProtocolType.Tls12;
|
|
try
|
|
{
|
|
WebResponse webRes = req.GetResponse();
|
|
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
|
|
if (resp.StatusCode == HttpStatusCode.OK)
|
|
{
|
|
StreamReader ResponseDataStream = new StreamReader(resp.GetResponseStream());
|
|
String res = ResponseDataStream.ReadToEnd();
|
|
|
|
XmlDocument XMLDoc = new XmlDocument();
|
|
XMLDoc.LoadXml(res);
|
|
|
|
XmlNodeList nodeList = XMLDoc.GetElementsByTagName("content");
|
|
XNamespace ab = "http://schemas.microsoft.com/ado/2007/08/dataservices";
|
|
string Short_Fall = string.Empty;
|
|
foreach (XmlNode node in nodeList)
|
|
{
|
|
XDocument doc = XDocument.Parse(node.InnerXml);
|
|
XElement tempElement = doc.Descendants(ab + "Vhvin").FirstOrDefault();
|
|
tempElement = doc.Descendants(ab + "Vehicle_Warranty").FirstOrDefault();
|
|
vehwarrnty = tempElement.Value;
|
|
}
|
|
}
|
|
return vehwarrnty;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository getvehiclewarranty" + APIRegistrationNo, Ex.Message, path, errorlogtf);
|
|
return vehwarrnty;
|
|
}
|
|
}*/
|
|
|
|
|
|
public string getvehiclewarranty(string regNo)
|
|
{
|
|
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
|
string vehwarrnty = "";
|
|
string APIRegistrationNo = string.Format(ConfigurationManager.AppSettings["EOSAPIFORGETTINGCUSTOMERDATA"].ToString(), regNo, "");
|
|
WebRequest req = WebRequest.Create(APIRegistrationNo);
|
|
req.Method = "GET";
|
|
string userNameAndPassword = ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGCUSTOMERDATA"].ToString() + ":" + ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGCUSTOMERDATA"].ToString();
|
|
req.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(userNameAndPassword));
|
|
req.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGCUSTOMERDATA"].ToString(), ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGCUSTOMERDATA"].ToString());
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls |
|
|
SecurityProtocolType.Tls11 |
|
|
SecurityProtocolType.Tls12;
|
|
try
|
|
{
|
|
WebResponse webRes = req.GetResponse();
|
|
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
|
|
if (resp.StatusCode == HttpStatusCode.OK)
|
|
{
|
|
StreamReader ResponseDataStream = new StreamReader(resp.GetResponseStream());
|
|
String res = ResponseDataStream.ReadToEnd();
|
|
|
|
XmlDocument XMLDoc = new XmlDocument();
|
|
XMLDoc.LoadXml(res);
|
|
|
|
XmlNodeList nodeList = XMLDoc.GetElementsByTagName("content");
|
|
XNamespace ab = "http://schemas.microsoft.com/ado/2007/08/dataservices";
|
|
string Short_Fall = string.Empty;
|
|
foreach (XmlNode node in nodeList)
|
|
{
|
|
XDocument doc = XDocument.Parse(node.InnerXml);
|
|
XElement tempElement = doc.Descendants(ab + "Vhvin").FirstOrDefault();
|
|
tempElement = doc.Descendants(ab + "Vehicle_Warranty").FirstOrDefault();
|
|
vehwarrnty = tempElement.Value;
|
|
}
|
|
}
|
|
|
|
else if (resp.StatusCode == HttpStatusCode.Unauthorized)
|
|
{
|
|
bool isSend = objTicketRepository.emailForError("API Login Failed: Unauthorized access", APIRegistrationNo);
|
|
objLog.ErrorLogFile(APIRegistrationNo, "API Login Failed: Unauthorized access", path, errorlogtf);
|
|
}
|
|
|
|
return vehwarrnty;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
bool isSend = objTicketRepository.emailForError("API Login Failed: Unauthorized access", APIRegistrationNo);
|
|
|
|
objLog.ErrorLogFile("GlobalRepository getvehiclewarranty" + APIRegistrationNo, Ex.Message, path, errorlogtf);
|
|
return vehwarrnty;
|
|
}
|
|
}
|
|
/* public string getDeviceType(string chassisNo)
|
|
{
|
|
|
|
string devicedetails = "";
|
|
string APIRegistrationNo = string.Format(ConfigurationManager.AppSettings["EOSAPIFORDEVICETYPE"].ToString(), chassisNo, "");
|
|
WebRequest req = WebRequest.Create(APIRegistrationNo);
|
|
req.Method = "GET";
|
|
string userNameAndPassword = ConfigurationManager.AppSettings["EOSUSERNAMEFORDEVICETYPE"].ToString() + ":" + ConfigurationManager.AppSettings["EOSPASSWORDFORDEVICETYPE"].ToString();
|
|
req.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(userNameAndPassword));
|
|
req.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["EOSUSERNAMEFORDEVICETYPE"].ToString(), ConfigurationManager.AppSettings["EOSPASSWORDFORDEVICETYPE"].ToString());
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls |
|
|
SecurityProtocolType.Tls11 |
|
|
SecurityProtocolType.Tls12;
|
|
try
|
|
{
|
|
WebResponse webRes = req.GetResponse();
|
|
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
|
|
if (resp.StatusCode == HttpStatusCode.OK)
|
|
{
|
|
StreamReader ResponseDataStream = new StreamReader(resp.GetResponseStream());
|
|
String res = ResponseDataStream.ReadToEnd();
|
|
|
|
XmlDocument XMLDoc = new XmlDocument();
|
|
XMLDoc.LoadXml(res);
|
|
|
|
XmlNodeList nodeList = XMLDoc.GetElementsByTagName("content");
|
|
XNamespace ab = "http://schemas.microsoft.com/ado/2007/08/dataservices";
|
|
string Short_Fall = string.Empty;
|
|
foreach (XmlNode node in nodeList)
|
|
{
|
|
XDocument doc = XDocument.Parse(node.InnerXml);
|
|
|
|
XNamespace d = "http://schemas.microsoft.com/ado/2007/08/dataservices";
|
|
|
|
// Accessing the vhvin property
|
|
string vhvin = doc.Root.Element(d + "zteldevicetype")?.Value;
|
|
string zimei = doc.Root.Element(d + "zimei")?.Value;
|
|
devicedetails = vhvin + "," + zimei;
|
|
}
|
|
}
|
|
return devicedetails;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository getvehiclewarranty" + APIRegistrationNo, Ex.Message, path, errorlogtf);
|
|
return devicedetails;
|
|
}
|
|
}*/
|
|
|
|
|
|
public string getDeviceType(string chassisNo)
|
|
{
|
|
|
|
string devicedetails = "";
|
|
string APIRegistrationNo = string.Format(ConfigurationManager.AppSettings["EOSAPIFORDEVICETYPE"].ToString(), chassisNo, "");
|
|
var clientVehicleType = new RestClient(APIRegistrationNo);
|
|
clientVehicleType.Timeout = 10000;
|
|
// clientVehicleType.Timeout =-1;
|
|
var requestVehicleType = new RestRequest(Method.GET);
|
|
ServicePointManager.Expect100Continue = true;
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
|
| SecurityProtocolType.Tls11
|
|
| SecurityProtocolType.Tls12
|
|
| SecurityProtocolType.Ssl3
|
|
| (SecurityProtocolType)3072;
|
|
|
|
//requestVehicleType.AddParameter("chassisno", chassisno);
|
|
var username = ConfigurationManager.AppSettings["EOSUSERNAMEFORDEVICETYPE"].ToString();
|
|
var password = ConfigurationManager.AppSettings["EOSPASSWORDFORDEVICETYPE"].ToString();
|
|
|
|
// Add Basic Authentication
|
|
var credentials = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes($"{username}:{password}"));
|
|
|
|
// Add Basic Authentication header
|
|
requestVehicleType.AddHeader("Authorization", $"Basic {credentials}");
|
|
requestVehicleType.AddHeader("Accept", "application/xml");
|
|
requestVehicleType.AddHeader("Content-Type", "application/xml");
|
|
|
|
|
|
try
|
|
{
|
|
IRestResponse responseVehicleType = clientVehicleType.Execute(requestVehicleType);
|
|
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
|
if (responseVehicleType.ResponseStatus.ToString() == "Error")
|
|
{
|
|
|
|
bool isSend = objTicketRepository.emailForError(responseVehicleType.ErrorMessage.ToString(), clientVehicleType.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), responseVehicleType.ErrorMessage.ToString(), path, errorlogtf);
|
|
|
|
}
|
|
else
|
|
{
|
|
if (responseVehicleType.ResponseStatus.ToString() == "TimedOut")
|
|
{
|
|
|
|
bool isSend = objTicketRepository.emailForError(responseVehicleType.ErrorMessage.ToString(), clientVehicleType.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), responseVehicleType.ErrorMessage.ToString(), path, errorlogtf);
|
|
|
|
}
|
|
else
|
|
{
|
|
if (responseVehicleType.StatusCode == System.Net.HttpStatusCode.Unauthorized)
|
|
{
|
|
bool isSend = objTicketRepository.emailForError("API Login Failed:Login failed.The server response is Unauthorized. ", clientVehicleType.BaseUrl.ToString());
|
|
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), "API Login Failed:Login failed. The server response is Unauthorized.", path, errorlogtf);
|
|
|
|
}
|
|
else if (responseVehicleType.StatusCode == System.Net.HttpStatusCode.OK)
|
|
{
|
|
byte[] bytes = Encoding.Default.GetBytes(responseVehicleType.Content);
|
|
string res = Encoding.UTF8.GetString(bytes); XmlDocument XMLDoc = new XmlDocument();
|
|
XMLDoc.LoadXml(res);
|
|
|
|
XmlNodeList nodeList = XMLDoc.GetElementsByTagName("content");
|
|
XNamespace ab = "http://schemas.microsoft.com/ado/2007/08/dataservices";
|
|
string Short_Fall = string.Empty;
|
|
foreach (XmlNode node in nodeList)
|
|
{
|
|
XDocument doc = XDocument.Parse(node.InnerXml);
|
|
|
|
XNamespace d = "http://schemas.microsoft.com/ado/2007/08/dataservices";
|
|
|
|
// Accessing the vhvin property
|
|
string vhvin = doc.Root.Element(d + "zteldevicetype")?.Value;
|
|
string zimei = doc.Root.Element(d + "zimei")?.Value;
|
|
devicedetails = vhvin + "," + zimei;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
return devicedetails;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository getvehiclewarranty" + APIRegistrationNo, Ex.Message, path, errorlogtf);
|
|
return devicedetails;
|
|
}
|
|
}
|
|
|
|
/* public string getvehicleExtendedwarranty(string CHASSISNO)
|
|
{
|
|
|
|
string vehwarrnty = "";
|
|
string APIRegistrationNo = string.Format(ConfigurationManager.AppSettings["EOSAPIFORGETTINGEXTENDEDWARRANTYDATA"].ToString(), CHASSISNO.ToUpper(), "");
|
|
WebRequest req = WebRequest.Create(APIRegistrationNo);
|
|
req.Method = "GET";
|
|
string userNameAndPassword = ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGCUSTOMERDATA"].ToString() + ":" + ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGCUSTOMERDATA"].ToString();
|
|
req.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(userNameAndPassword));
|
|
req.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGCUSTOMERDATA"].ToString(), ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGCUSTOMERDATA"].ToString());
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls |
|
|
SecurityProtocolType.Tls11 |
|
|
SecurityProtocolType.Tls12;
|
|
CustomerVehicleModelDBM objVeh = new CustomerVehicleModelDBM();
|
|
try
|
|
{
|
|
WebResponse webRes = req.GetResponse();
|
|
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
|
|
if (resp.StatusCode == HttpStatusCode.OK)
|
|
{
|
|
StreamReader ResponseDataStream = new StreamReader(resp.GetResponseStream());
|
|
String res = ResponseDataStream.ReadToEnd();
|
|
|
|
XmlDocument XMLDoc = new XmlDocument();
|
|
XMLDoc.LoadXml(res);
|
|
|
|
XmlNodeList nodeList = XMLDoc.GetElementsByTagName("content");
|
|
XNamespace ab = "http://schemas.microsoft.com/ado/2007/08/dataservices";
|
|
string Short_Fall = string.Empty;
|
|
foreach (XmlNode node in nodeList)
|
|
{
|
|
XDocument doc = XDocument.Parse(node.InnerXml);
|
|
XElement tempElement = doc.Descendants(ab + "Vhvin").FirstOrDefault();
|
|
tempElement = doc.Descendants(ab + "Current_Status").FirstOrDefault();
|
|
vehwarrnty = tempElement.Value;
|
|
// objVeh.extended_warranty = vehwarrnty;
|
|
tempElement = doc.Descendants(ab + "Ew_End_Date").FirstOrDefault();
|
|
//objVeh.warranty_end_date = tempElement.Value;
|
|
vehwarrnty = vehwarrnty + "," + tempElement.Value;
|
|
|
|
}
|
|
}
|
|
return vehwarrnty;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository getvehicleExtendedwarranty" + APIRegistrationNo, Ex.Message, path, errorlogtf);
|
|
|
|
return vehwarrnty;
|
|
}
|
|
}*/
|
|
|
|
public string getvehicleExtendedwarranty(string CHASSISNO)
|
|
{
|
|
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
|
string vehwarrnty = "";
|
|
string APIRegistrationNo = string.Format(ConfigurationManager.AppSettings["EOSAPIFORGETTINGEXTENDEDWARRANTYDATA"].ToString(), CHASSISNO.ToUpper(), "");
|
|
WebRequest req = WebRequest.Create(APIRegistrationNo);
|
|
req.Method = "GET";
|
|
string userNameAndPassword = ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGCUSTOMERDATA"].ToString() + ":" + ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGCUSTOMERDATA"].ToString();
|
|
req.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(userNameAndPassword));
|
|
req.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGCUSTOMERDATA"].ToString(), ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGCUSTOMERDATA"].ToString());
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls |
|
|
SecurityProtocolType.Tls11 |
|
|
SecurityProtocolType.Tls12;
|
|
CustomerVehicleModelDBM objVeh = new CustomerVehicleModelDBM();
|
|
try
|
|
{
|
|
WebResponse webRes = req.GetResponse();
|
|
HttpWebResponse resp = req.GetResponse() as HttpWebResponse;
|
|
if (resp.StatusCode == HttpStatusCode.OK)
|
|
{
|
|
StreamReader ResponseDataStream = new StreamReader(resp.GetResponseStream());
|
|
String res = ResponseDataStream.ReadToEnd();
|
|
|
|
XmlDocument XMLDoc = new XmlDocument();
|
|
XMLDoc.LoadXml(res);
|
|
|
|
XmlNodeList nodeList = XMLDoc.GetElementsByTagName("content");
|
|
XNamespace ab = "http://schemas.microsoft.com/ado/2007/08/dataservices";
|
|
string Short_Fall = string.Empty;
|
|
foreach (XmlNode node in nodeList)
|
|
{
|
|
XDocument doc = XDocument.Parse(node.InnerXml);
|
|
XElement tempElement = doc.Descendants(ab + "Vhvin").FirstOrDefault();
|
|
tempElement = doc.Descendants(ab + "Current_Status").FirstOrDefault();
|
|
vehwarrnty = tempElement.Value;
|
|
// objVeh.extended_warranty = vehwarrnty;
|
|
tempElement = doc.Descendants(ab + "Ew_End_Date").FirstOrDefault();
|
|
//objVeh.warranty_end_date = tempElement.Value;
|
|
vehwarrnty = vehwarrnty + "," + tempElement.Value;
|
|
|
|
}
|
|
}
|
|
else if (resp.StatusCode == HttpStatusCode.Unauthorized)
|
|
{
|
|
bool isSend = objTicketRepository.emailForError("API Login Failed: Unauthorized access", APIRegistrationNo);
|
|
objLog.ErrorLogFile(APIRegistrationNo, "API Login Failed: Unauthorized access", path, errorlogtf);
|
|
}
|
|
return vehwarrnty;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
bool isSend = objTicketRepository.emailForError("API Login Failed:Login failed.The server response is Unauthorized. ", APIRegistrationNo);
|
|
|
|
objLog.ErrorLogFile("GlobalRepository getvehicleExtendedwarranty" + APIRegistrationNo, Ex.Message, path, errorlogtf);
|
|
|
|
return vehwarrnty;
|
|
}
|
|
}
|
|
|
|
|
|
public async Task<string> getBatteryVoltage(ClodantAPIModel model)
|
|
{
|
|
string batteryvoltage = "";
|
|
|
|
try
|
|
{
|
|
|
|
string cloudantUrl = ConfigurationManager.AppSettings["CloudantId"].ToString();
|
|
|
|
|
|
string apiKey = ConfigurationManager.AppSettings["CloudantKey"].ToString();
|
|
string partitionKeyVal = model.device_id;
|
|
|
|
ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyErrors) => true;
|
|
|
|
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11;
|
|
ServicePointManager.ServerCertificateValidationCallback = (sender, cert, chain, sslPolicyErrors) =>
|
|
{
|
|
Console.WriteLine($"SSL Policy Errors: {sslPolicyErrors}");
|
|
return sslPolicyErrors == SslPolicyErrors.None;
|
|
};
|
|
|
|
var clientNew = new HttpClient();
|
|
|
|
// Set the authentication header
|
|
var authHeader = Convert.ToBase64String(Encoding.ASCII.GetBytes($"apikey-v2-{apiKey}"));
|
|
clientNew.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authHeader);
|
|
List<DataTable> data = new List<DataTable>();
|
|
DateTime now = DateTime.Now;
|
|
string fullDateTime = now.ToString("yyyy-MM-dd HH:mm:ss");
|
|
DateTime dateTime = DateTime.Parse(fullDateTime);
|
|
string dateOnly = dateTime.ToString("yyyy-MM-dd").Replace("-", "");
|
|
string timeOnly = dateTime.ToString("HH:mm:ss").Replace(":", "");
|
|
string timeBefore24Hours = now.AddHours(-24).ToString("yyyy-MM-dd HH:mm:ss");
|
|
DateTime dateTime1 = DateTime.Parse(timeBefore24Hours);
|
|
string dateOnly1 = dateTime1.ToString("yyyy-MM-dd").Replace("-", "");
|
|
string timeOnly1 = dateTime1.ToString("HH:mm:ss").Replace(":", "");
|
|
string stime = dateOnly + timeOnly;
|
|
string stime2 = dateOnly1 + timeOnly1;
|
|
DateTime date = DateTime.Now; // Current date and time
|
|
int currentYear = DateTime.Now.Year;
|
|
string monthAbbreviation = date.ToString("MMM");
|
|
model.startdate = Convert.ToInt64(stime2);
|
|
model.enddate = Convert.ToInt64(stime);
|
|
// string dbName = "wperinfo_sep_2024";
|
|
string dbName = "wperinfo_" + (monthAbbreviation).ToLower() + "_" + currentYear;
|
|
var queryVal = new JObject
|
|
{
|
|
["selector"] = new JObject
|
|
{
|
|
["eDateTime"] = new JObject
|
|
{
|
|
["$gt"] = model.startdate,
|
|
["$lt"] = model.enddate
|
|
},
|
|
|
|
["type"] = model.packet_info
|
|
},
|
|
};
|
|
|
|
|
|
var jsonContent = JsonConvert.SerializeObject(queryVal);
|
|
var contentVal = new StringContent(jsonContent, Encoding.UTF8, "application/json");
|
|
|
|
// Send the POST request to query the database
|
|
var responseVal = await clientNew.PostAsync($"{cloudantUrl}/{dbName}/_partition/{partitionKeyVal}/_find", contentVal);
|
|
|
|
if (responseVal.IsSuccessStatusCode)
|
|
{
|
|
var resultval = await responseVal.Content.ReadAsStringAsync();
|
|
// var jsonResponse = JObject.Parse(resultval);
|
|
// Deserialize JSON into Root object
|
|
Root rootObject = JsonConvert.DeserializeObject<Root>(resultval);
|
|
|
|
// Accessing the list of documents
|
|
List<Document> documents = rootObject.docs;
|
|
List<Document> orderedDocuments = documents
|
|
// Ensure valid DateTime
|
|
.OrderByDescending(doc => doc.eDateTime)
|
|
.ToList();
|
|
|
|
|
|
Document objDocument = orderedDocuments.FirstOrDefault();
|
|
if (model.packet_info == "PER_BS4")
|
|
{
|
|
batteryvoltage = objDocument.ParsedValue[19];
|
|
}
|
|
// var apiResponse = jsonResponse.ToObject<Document>();
|
|
Console.WriteLine("Query Result:");
|
|
Console.WriteLine(resultval);
|
|
}
|
|
else
|
|
{
|
|
Console.WriteLine($"Error: {responseVal.StatusCode}");
|
|
var errorContent = await responseVal.Content.ReadAsStringAsync();
|
|
Console.WriteLine(errorContent);
|
|
}
|
|
|
|
|
|
//Console.WriteLine($"Create Database Response: {createDbResponse.StatusCode}");
|
|
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
// write error log into file
|
|
objLog.ErrorLogFile("Battery Voltage Error", Ex.Message, path, errorlogtf);
|
|
|
|
|
|
}
|
|
return batteryvoltage;
|
|
|
|
}
|
|
public async Task<string> Autorefreshnew(string authtoken, string senderid, string deviceid, string strmessage, string ticketid, string msg)
|
|
|
|
{
|
|
|
|
string success = "";
|
|
|
|
try
|
|
|
|
{
|
|
|
|
var client = new HttpClient();
|
|
var request = new HttpRequestMessage(HttpMethod.Post, "https://fcm.googleapis.com/v1/projects/eicher-eos-androidx/messages:send");
|
|
request.Headers.Add("Sender", senderid);
|
|
request.Headers.Add("Authorization", "Bearer " + authtoken);
|
|
//request.Headers.Add("Authorization", "Bearer ya29.c.c0ASRK0GZ9QfuQxwJtj2wlPC3JR3mJL2kIFK74O-XP0j_5c8WkCtrbq5fxNo9dEtzlvGHdIoxnnnqvT_Mzb8pFSiaRu3INTBTCrgxfQaXtEeHrK4TSjc5SHfPJllTmrBHN3KZYTk-tGeAht_ZZE-u5U6fk5TtixbyE5_Y1NiJ2yLvd1RVxAFmofvnjwtLnNavH2r1zrn26sFdtqrcuJSxZ8lFBqlMYMsDBtpXg1xmYKDqEXzM6DeGKZmmdQD8ilMtaELBca83jEt74SUdLYLh2ZK3oFzXch2sYfekZaN5YSxGxQmKXqSDN_7ZNqZfo3cXvaN3FGjlETfzA9CDIvHYMM0dneXe0PFEh46gA1lzHDEi71w8YFkH6WSoL384Pl5kcS28V1mFcQghbncQgymiaai_5sJdha--itw9_Vi5a05imBBgaSd6h14V__V9IF1WZ-VW17Qb7hw89RgkB5y98R34tl9i4hS_oqMjbd6p3lrJXbrodty7o99jqWaYRMrY_fF3Z-3od79XeW5-aI1IXxBlFtdw5ldahZS9buf5ymunpSmhj5FBVfOaMXsgwIqojcFUin204IMa8q4mQndmt6uZQpfFUfSvrcm9_b-p89xwihgBqxte-Jr2kncp4eoSdwQQ-oo9oIearcJtu3gFOJZ9tZv0b31qjlxBkaiRf_OFBIfkUOQX44kkif5MjosaYkuMMXZVnovswZic09q9zgFvhOcVQXs5-YWybXM-0I5Og-chUbBfgVgJ-dM8YJs-q87-FQuxkW1qRcg-xXWkafhhUlv9nXWqrktc_l2JB_Uftq-ZZczy_y1uO6rRlRuFo3l0V_Odv-i5jghVB3fsjq2m4kMgXv4MoXzwy_oFurJB3iu3d-SmMiji_onBjO6t76-FxYJbmtZ9usSs_0ojQRQ3ZzOBwFdyJvOVBnv9RYeyzrupa9OO1ImkWJd0ByumcX53Zw021cipO01J_08mqYY3ut30usydaFYna6z9951s71mg5vxtcfdZ");
|
|
// var content = new StringContent("{\r\n \"message\": {\r\n \"token\":\"c_QqP7NPIkU:APA91bEjh1g13lX7efBqXQ5W6tEPVfi4Mv9RwG3MHuUCvn4nhg3GFOkXlAGHiZE4jqEbsBMdfovZy_KEl7HKcXaNp2bSPe5sR0G6QAQekcW63pEZ685MJ3E\",\r\n \"data\": {\r\n \"TicketId\":\"TICKETID-1060127\",\"NotificationCode\":null,\"NotificationMessage\":\"2\",\"NotificationType\":\"true\",\"NotificationData\":\"trip start\"\r\n }\r\n }\r\n}\r\n\r\n", null, "application/json");
|
|
// request.Content = content;
|
|
var content = new StringContent("{\r\n \"message\": {\r\n \"token\":" + deviceid + ",\r\n \"data\": {" + strmessage + " }\r\n }\r\n}\r\n\r\n", null, "application/json");
|
|
request.Content = content;
|
|
var response = await client.SendAsync(request);
|
|
response.EnsureSuccessStatusCode();
|
|
Console.WriteLine(await response.Content.ReadAsStringAsync());
|
|
|
|
success = response.Content.ReadAsStringAsync().ToString();
|
|
|
|
}
|
|
|
|
catch (Exception Ex)
|
|
|
|
{
|
|
|
|
// write error log into file
|
|
|
|
objLog.ErrorLogFile("Battery Voltage Error", Ex.Message, path, errorlogtf);
|
|
|
|
|
|
}
|
|
|
|
return success;
|
|
|
|
}
|
|
|
|
public async Task<string> Autorefresh(string authtoken, string senderid, string deviceid, string strmessage)
|
|
{
|
|
string success = "";
|
|
|
|
try
|
|
{
|
|
/* var client = new HttpClient();
|
|
var request = new HttpRequestMessage(HttpMethod.Post, "https://fcm.googleapis.com/v1/projects/eicher-eos-androidx/messages:send");
|
|
request.Headers.Add("Sender", "15420367036");
|
|
request.Headers.Add("Authorization", "Bearer ya29.c.c0ASRK0GbdVuCP-BvvLkQXtLf-DhNcTntIOcOf56d2Mgr-xEvF_o1rtUYQJgLQfSaYT8uqmy51nEMWAHfCmPUdxJioSoizwiU1-hs0bhULM4zWRJdBWTcGW-IqSnew7Bn-bTP8spcgh7XdTOSqnz6e3bArXJdrtnrjutSzgoWwUBWGbs9VIGYp0kH9Rh2C0lu0F2EUR_SUTaLRTySuzT4fx-bI4FbAAN4f3z5K5dv8J4BnU35Vp0-eBYFQda9q3J0N9Y3KhPDKcBgY3OSFSSp0ukVDtYiuav7ZAt8rkwm1tlz982-9wLa1XurrNl2wneYt8RbtdA1ocwcOLu6hMQoFfmXovwiU-Ej-lsLmsbplS1L-WOFgfQxKtS8G384K0uzn1vXpnvbhFdB1kQxkguBWncVWcIctJ_jWUYFBYYs4b7YJmB8q4cvsuVmO27srQ2rtZfef3QnQ_pUvvUwMIi3un_YY5klIdzB_gSB8dSqworm1pgZXeRUskts2M2x5YU1rV0UzhhtX4RVibcWZ5MIzcWezvucO0xRc2nbUhlU7Zh03Yy2ejfJey_sunjuUMQhXh8pB4M9gUB7S4Y5Qfr-6zaXc_Xj1nx4Rvyq3YFghQtxFRSlt5vykVhBVdZoegedSqbz_S9jtcOMv8F_M6QtnZ-Opd1ufSF71V392UYdMz9ZBea1M1xVdme6p2nwlzbzkZv37qZ7oexUR6QnXfoZB0-ze9Q_8JxV7dMd1RV25ux7SzJFRnYOfQJ8Onf6_YlrOSqoWv_-fy4OiQ4xz6k_kMWqgZBa8wg0Z6eSJ9fwjj-QdcbVf2Vhyd-mRIcB3jns2-FSoQs67e9eYB88twuBFkvY974Z9pOo8ZUy0Z_ZB71rRj369avi7F1uk8I7JrR4ssy9Q-OMdzwf2yzfIWvyb0Y48swwe261pQpjboXIRfO3-Z6BMmmc4Z6JO_jx4xX4hzgZJIppRcdop6zs_BtmW9qQVWpvfaQwZUYs0Ridot8FVZFju2nlyVuk");
|
|
var content = new StringContent("{\r\n \"message\": {\r\n \"token\":\"d634BzVTQlU:APA91bEQMV8GR2ET7UHuOkXQGlKQrnBGQo_6v4AyI-QLUL6EvUwcUB6t0lv74QlmoQYfc2y9RTVm9Uz2ykrDK-y_iLBhlYWkHrWOfAjXwMXuSZiFUaBV8uY\",\r\n \"data\": {\r\n \"TicketId\":\"TICKETID-1046927\",\"NotificationCode\":null,\"NotificationMessage\":\"HI \"\r\n }\r\n }\r\n}\r\n\r\n", null, "application/json");
|
|
request.Content = content;
|
|
var response = await client.SendAsync(request);
|
|
response.EnsureSuccessStatusCode();
|
|
Console.WriteLine(await response.Content.ReadAsStringAsync());
|
|
*/
|
|
|
|
var client = new HttpClient();
|
|
var request = new HttpRequestMessage(HttpMethod.Post, "https://fcm.googleapis.com/v1/projects/eicher-eos-androidx/messages:send");
|
|
request.Headers.Add("Sender", senderid);
|
|
request.Headers.Add("Authorization", "Bearer " + authtoken);
|
|
var content = new StringContent("{\r\n \"message\": {\r\n \"token\":" + deviceid + ",\r\n \"data\": {" + strmessage + " }\r\n }\r\n}\r\n\r\n", null, "application/json");
|
|
request.Content = content;
|
|
var response = await client.SendAsync(request);
|
|
//response.EnsureSuccessStatusCode();
|
|
JObject parsedResponse = JObject.Parse(response.ToString());
|
|
string name = parsedResponse["name"].ToString();
|
|
Console.WriteLine(await response.Content.ReadAsStringAsync());
|
|
|
|
}
|
|
|
|
catch (Exception Ex)
|
|
{
|
|
// write error log into file
|
|
objLog.ErrorLogFile("Battery Voltage Error", Ex.Message, path, errorlogtf);
|
|
|
|
|
|
}
|
|
return success;
|
|
}
|
|
|
|
public string getdealerlatlong(string dealercode)
|
|
{
|
|
string strmessage = "";
|
|
try
|
|
{
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
|
nSqlParam[0] = new NpgsqlParameter("in_dealer_code", dealercode);
|
|
|
|
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dealer_lat_Long"], nSqlParam);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
strmessage = Convert.ToString(ds.Tables[0].Rows[0]["sp_get_dealer_lat_Long"]);
|
|
//strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
|
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("getimeForSMS", Ex.Message, path, errorlogtf);
|
|
}
|
|
return strmessage;
|
|
}
|
|
|
|
public string getcurrentPreviousStatus(string ticket_id)
|
|
{
|
|
string strmessage = "";
|
|
try
|
|
{
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
|
nSqlParam[0] = new NpgsqlParameter("in_ticket_id", ticket_id);
|
|
|
|
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_prev_cur_status"], nSqlParam);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
strmessage = Convert.ToString(ds.Tables[0].Rows[0]["sp_get_prev_cur_status"]);
|
|
//strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
|
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("getimeForSMS", Ex.Message, path, errorlogtf);
|
|
}
|
|
return strmessage;
|
|
}
|
|
|
|
#region
|
|
public List<EngineDetailModel> getRegistrationByEngines(string engine_Number)
|
|
{
|
|
List<EngineDetailModel> objList = new List<EngineDetailModel>();
|
|
try
|
|
{
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
|
nSqlParam[0] = new NpgsqlParameter("inengine_number", NpgsqlTypes.NpgsqlDbType.Varchar);
|
|
nSqlParam[0].Value = engine_Number;
|
|
|
|
DataSet ds = NpgSqlHelper.ExecuteDataset(
|
|
_connStr,
|
|
CommandType.StoredProcedure,
|
|
ConfigurationManager.AppSettings["usp_get_customer_details_by_engine"],
|
|
nSqlParam
|
|
);
|
|
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new EngineDetailModel
|
|
{
|
|
creation_time = s.Field<DateTime>("creation_time").ToString("yyyy-MM-dd HH:mm:ss"),
|
|
isdeleted = s.Field<bool>("isdeleted").ToString(),
|
|
serial_no = s.Field<string>("serial_no"),
|
|
vehiclenumber = s.Field<string>("vehiclenumber"),
|
|
regno = s.Field<string>("regno"),
|
|
engine_class = s.Field<string>("class"),
|
|
chassis = s.Field<string>("chassis"),
|
|
engine_number = s.Field<string>("engine"),
|
|
vehiclemanufacturername = s.Field<string>("vehiclemanufacturername"),
|
|
model = s.Field<string>("model"),
|
|
vehiclecolour = s.Field<string>("vehiclecolour"),
|
|
type = s.Field<string>("type"),
|
|
owner_name = s.Field<string>("owner_name"),
|
|
mobilenumber = s.Field<string>("mobilenumber"),
|
|
status = s.Field<string>("status"),
|
|
statusason = s.Field<string>("statusason")
|
|
}).ToList();
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository getRegistrationByEngines", Ex.Message, path, errorlogtf);
|
|
throw;
|
|
}
|
|
|
|
return objList;
|
|
}
|
|
|
|
public List<CustomerModel> checkChassisNoandGetCustomerDetailEPS(CustomerModel model)
|
|
{
|
|
List<CustomerModel> objList = new List<CustomerModel>();
|
|
try
|
|
{
|
|
|
|
// String result = model.VehicleRegistrationNumber.Substring(model.VehicleRegistrationNumber.Length - 6);
|
|
DataSet ds = new DataSet();
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
|
|
|
nSqlParam[0] = new NpgsqlParameter("inengine_number ", model.VehicleNumberPlate);
|
|
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_engine_no_eps"], nSqlParam);
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
|
|
objList = ds.Tables[0].AsEnumerable().Select(s => new CustomerModel
|
|
{
|
|
VehicleRegistrationNumber = s.Field<string>("Odevice_alias")
|
|
}).ToList();
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("GlobalRepository checkChassisNoandGetDetail", Ex.Message, path, errorlogtf);
|
|
throw Ex;
|
|
}
|
|
return objList;
|
|
}
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
}
|
|
|
|
#endregion
|
|
|
|
} |