267 lines
13 KiB
C#
267 lines
13 KiB
C#
using VECV_WebApi.Common;
|
|
using VECV_WebApi.EOS_Service;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.ServiceModel;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Xml;
|
|
using System.Xml.Linq;
|
|
using System.Xml.Serialization;
|
|
using VECV_WebApi.Models.Udan;
|
|
using Npgsql;
|
|
using DBHelper;
|
|
using System.Net;
|
|
using System.Web;
|
|
using LoggingHelper;
|
|
using Newtonsoft.Json;
|
|
using VECV_WebApi.Models.Ticket;
|
|
|
|
namespace VECV_WebApi.Common
|
|
{
|
|
public class PushData
|
|
{
|
|
public void SendDataToSAP(string VehicleRegistrationNumber, int? TicketStatus, string TicketId,string vanreachtime)
|
|
{
|
|
/// <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"]);
|
|
|
|
//string vanreachtime = "";
|
|
/// <summary>
|
|
/// making error log file path available to this class
|
|
/// </summary>
|
|
string errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]);
|
|
string TicketIdDBM = "";
|
|
string TicketStatusDBM = "";
|
|
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls |
|
|
SecurityProtocolType.Tls11 |
|
|
SecurityProtocolType.Tls12;
|
|
DT_S_WEBSITE_BI_EOSTABLE obj = new DT_S_WEBSITE_BI_EOSTABLE();
|
|
DT_S_WEBSITE_BI_EOSTABLE objCreation = new DT_S_WEBSITE_BI_EOSTABLE();
|
|
DT_S_WEBSITE_BI_EOSTABLE objClosed = new DT_S_WEBSITE_BI_EOSTABLE();
|
|
DT_S_WEBSITE_BI_EOSTABLE objTripEnd = new DT_S_WEBSITE_BI_EOSTABLE();
|
|
List<DT_S_WEBSITE_BI_EOSTABLE> lsDT_S_WEBSITE_BI_EOSTABLE = new List<DT_S_WEBSITE_BI_EOSTABLE>();
|
|
SI_S_WEBSITE_BI_EOSClient objSI_S_WEBSITE_BI_EOSClient = new EOS_Service.SI_S_WEBSITE_BI_EOSClient();
|
|
SI_S_WEBSITE_BI_EOS1 objSI_S_WEBSITE_BI_EOS1 = new EOS_Service.SI_S_WEBSITE_BI_EOS1();
|
|
|
|
ConsolidateReportRepository objConsolidateReportRepository = new ConsolidateReportRepository();
|
|
List<string> TicketArray = new List<string>();
|
|
try
|
|
{
|
|
string spName = null;
|
|
|
|
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
|
if ((TicketStatus) == 1 || (TicketStatus) == 2)
|
|
{
|
|
objLog.AddLogFile("push dataa 1", VehicleRegistrationNumber, path, errorlogtf);
|
|
|
|
spName = ConfigurationManager.AppSettings["usp_udan_get_open_tickets_vehicle_wise"].ToString();
|
|
nSqlParam[0] = new NpgsqlParameter("inregistration_number ", VehicleRegistrationNumber);
|
|
|
|
}
|
|
else if ((TicketStatus) == 8)
|
|
{
|
|
spName = ConfigurationManager.AppSettings["usp_udan_get_ticket_details_ticket_wise"].ToString();
|
|
nSqlParam[0] = new NpgsqlParameter("inticket_id ", TicketId);
|
|
|
|
}
|
|
else if ((TicketStatus) == 5)
|
|
{
|
|
spName = ConfigurationManager.AppSettings["usp_udan_get_ticket_details_ticket_wise_for_dealer"].ToString();
|
|
nSqlParam[0] = new NpgsqlParameter("inticket_id ", TicketId);
|
|
|
|
}
|
|
|
|
DataSet ds = new DataSet();
|
|
try
|
|
{
|
|
ds = NpgSqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings["Vecv_GoData"].ConnectionString, CommandType.StoredProcedure, spName, nSqlParam);
|
|
objLog.AddLogFile("push dataa 2", TicketStatus.ToString(), path, errorlogtf);
|
|
|
|
if ((TicketStatus) == 1 || (TicketStatus) == 2)
|
|
{
|
|
if (ds.Tables.Count > 0)
|
|
{
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
string mystring = ds.Tables[0].Rows[0]["_ticket_id"].ToString();
|
|
mystring = mystring.Substring(mystring.Length - 6);
|
|
TicketId = "TICKETID-" + mystring;
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("pushdata " + spName + TicketId, Ex.Message, path, errorlogtf);
|
|
}
|
|
|
|
objLog.AddLogFile("push dataa 3", TicketId, path, errorlogtf);
|
|
|
|
|
|
/* if ((TicketStatus) == 1 || (TicketStatus) == 2)
|
|
{
|
|
}
|
|
else
|
|
{
|
|
DataSet dsvanReach = new DataSet();
|
|
try
|
|
{
|
|
NpgsqlParameter[] nSqlParamvanReach = new NpgsqlParameter[1];
|
|
|
|
string spNamevanReach = ConfigurationManager.AppSettings["usp_get_van_reach_time_close"].ToString();
|
|
nSqlParamvanReach[0] = new NpgsqlParameter("inticket_id ", TicketId);
|
|
|
|
dsvanReach = NpgSqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings["Vecv_GoData"].ConnectionString, CommandType.StoredProcedure, spNamevanReach, nSqlParamvanReach);
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
objLog.ErrorLogFile("pushdata usp_get_van_reach_time_close" + TicketId, Ex.Message, path, errorlogtf);
|
|
}
|
|
|
|
// for rabbitt mq
|
|
|
|
if (dsvanReach == null)
|
|
{
|
|
}
|
|
else
|
|
{
|
|
if (dsvanReach.Tables[0].Rows.Count > 0)
|
|
{
|
|
vanreachtime = Convert.ToString(dsvanReach.Tables[0].Rows[0]["_creation_time"]) == "" ? "" : Convert.ToDateTime(dsvanReach.Tables[0].Rows[0]["_creation_time"]).ToString(System.Configuration.ConfigurationManager.AppSettings["DateTimeFormatSAP"]);
|
|
|
|
}
|
|
}
|
|
}*/
|
|
if (ds.Tables[0].Rows.Count > 0)
|
|
{
|
|
foreach (DataRow dr in ds.Tables[0].Rows)
|
|
{
|
|
|
|
if ((TicketStatus) == 1 || (TicketStatus) == 2)
|
|
{
|
|
objCreation.Creation_Time = Convert.ToString(dr["_creation_time"]) == "" ? "" : Convert.ToDateTime(dr["_creation_time"]).ToString(System.Configuration.ConfigurationManager.AppSettings["DateTimeFormatSAP"]);
|
|
objCreation.Vehicle_Owner_Contact_No = Convert.ToString(dr["_customer_contact_no"]);
|
|
objCreation.Dealer_SCode = Convert.ToString(dr["_dealer_code"]);
|
|
objCreation.Ticket_Id = Convert.ToString(dr["_ticket_id"]);
|
|
objCreation.Vehicle_Model = Convert.ToString(dr["_customer_vehicle_model_tagging"]);
|
|
objCreation.Vehicle_Reg_No = Convert.ToString(dr["_vehicle_registration_number"]);
|
|
objLog.AddLogFile("push dataa5", objCreation.Vehicle_Model, path, errorlogtf);
|
|
|
|
if (objCreation.Vehicle_Model == "TITAN 3T")
|
|
{
|
|
objCreation.Vehicle_Model = "Pro X 3T EV";
|
|
}
|
|
if (objCreation.Vehicle_Model == "TITAN 3.5T")
|
|
{
|
|
|
|
objCreation.Vehicle_Model = "Pro X 3.5T EV";
|
|
}
|
|
objCreation.Vehicle_Owner_Name = Convert.ToString(dr["_customer_name"]);
|
|
objCreation.Vehicle_Type = Convert.ToString(dr["_model_tagging"]);
|
|
objCreation.Fuel_Type = Convert.ToString(dr["_fuel_type"]);
|
|
objCreation.Van_Reached = vanreachtime;
|
|
TicketIdDBM = objCreation.Ticket_Id.ToString();
|
|
TicketStatusDBM = TicketStatus.ToString();
|
|
lsDT_S_WEBSITE_BI_EOSTABLE.Add(objCreation);
|
|
objLog.AddLogFile("push dataa6", objCreation.Ticket_Id, path, errorlogtf);
|
|
|
|
}
|
|
else if ((TicketStatus) == 8)
|
|
{
|
|
//obj.Ticket_Id = Convert.ToString(dr["_ticket_id"]);
|
|
//obj.EOS_VAN_Actual_Travelled_Distance = Convert.ToString(dr["_van_covered_distance"]);
|
|
//obj.EOS_VAN_Estimated_Distance = Convert.ToString(dr["_km_covered"]);
|
|
//obj.Van_Reached = vanreachtime;
|
|
|
|
objTripEnd.Ticket_Id = Convert.ToString(dr["_ticket_id"]);
|
|
objTripEnd.EOS_VAN_Actual_Travelled_Distance = Convert.ToString(dr["_van_covered_distance"]);
|
|
objTripEnd.EOS_VAN_Estimated_Distance = Convert.ToString(dr["_km_covered"]);
|
|
objTripEnd.Van_Reached = vanreachtime;
|
|
TicketIdDBM = objTripEnd.Ticket_Id.ToString();
|
|
TicketStatusDBM = TicketStatus.ToString();
|
|
lsDT_S_WEBSITE_BI_EOSTABLE.Add(objTripEnd);
|
|
|
|
}
|
|
|
|
else if ((TicketStatus) == 5)
|
|
{
|
|
//obj.Ticket_Id = Convert.ToString(dr["_ticket_id"]);
|
|
//obj.EOS_VAN_Estimated_Distance = Convert.ToString(dr["_km_covered"]);
|
|
//obj.Van_Reached = vanreachtime;
|
|
//obj.fuel_type = Convert.ToString(dr["_fuel_type"]);
|
|
|
|
objClosed.Ticket_Id = Convert.ToString(dr["_ticket_id"]);
|
|
objClosed.EOS_VAN_Estimated_Distance = Convert.ToString(dr["_km_covered"]);
|
|
objClosed.Van_Reached = vanreachtime;
|
|
objClosed.Fuel_Type = Convert.ToString(dr["_fuel_type"]);
|
|
TicketIdDBM = objClosed.Ticket_Id.ToString();
|
|
TicketStatusDBM = TicketStatus.ToString();
|
|
lsDT_S_WEBSITE_BI_EOSTABLE.Add(objClosed);
|
|
|
|
}
|
|
|
|
}
|
|
lsDT_S_WEBSITE_BI_EOSTABLE.TrimExcess();
|
|
objSI_S_WEBSITE_BI_EOS1.MT_S_WEBSITE_BI_EOS = lsDT_S_WEBSITE_BI_EOSTABLE.ToArray();
|
|
objSI_S_WEBSITE_BI_EOSClient.ClientCredentials.UserName.UserName = System.Configuration.ConfigurationManager.AppSettings["UserName"].ToString();
|
|
objSI_S_WEBSITE_BI_EOSClient.ClientCredentials.UserName.Password = System.Configuration.ConfigurationManager.AppSettings["Password"].ToString();
|
|
objSI_S_WEBSITE_BI_EOSClient.SI_S_WEBSITE_BI_EOS(objSI_S_WEBSITE_BI_EOS1.MT_S_WEBSITE_BI_EOS.ToArray());
|
|
TicketArray = lsDT_S_WEBSITE_BI_EOSTABLE.Select(x => x.Ticket_Id).ToList();
|
|
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
if (ex is ProtocolException && ex.Message == "The one-way operation returned a non-null message with Action=''.")
|
|
{
|
|
objLog.AddLogFile("push dataa 7", TicketStatus.ToString(), path, errorlogtf);
|
|
|
|
|
|
|
|
|
|
if ((TicketStatus) == 1 || (TicketStatus) == 2)
|
|
{
|
|
string jsonified2 = JsonConvert.SerializeObject(objCreation);
|
|
objLog.AddLogFile("push dataa 8", jsonified2, path, errorlogtf);
|
|
objLog.AddLogFile("DBM Payload Creation", jsonified2, path, errorlogtf);
|
|
}
|
|
else if ((TicketStatus) == 8)
|
|
{
|
|
string jsonified2 = JsonConvert.SerializeObject(objTripEnd);
|
|
objLog.AddLogFile("DBM Payload trip end", jsonified2, path, errorlogtf);
|
|
}
|
|
else if ((TicketStatus) == 5)
|
|
{
|
|
string jsonified2 = JsonConvert.SerializeObject(objClosed);
|
|
objLog.AddLogFile("DBM Payload closed", jsonified2, path, errorlogtf);
|
|
}
|
|
|
|
TicketArray = new List<string>();
|
|
TicketArray.TrimExcess();
|
|
TicketArray = lsDT_S_WEBSITE_BI_EOSTABLE.Select(x => x.Ticket_Id).ToList();
|
|
|
|
}
|
|
else
|
|
{
|
|
TicketRepository objTicketRepository = new TicketRepository(ConfigurationManager.ConnectionStrings["Vecv_GoData"].ConnectionString);
|
|
bool isSend = objTicketRepository.emailForError("DBM Error: SendDataToSAP", ex.Message.ToString());
|
|
|
|
objLog.ErrorLogFile("DBM Error:", ex.Message, path, errorlogtf);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |