19448 lines
1.2 MiB
19448 lines
1.2 MiB
namespace VECV_WebApi.Models.Ticket
|
||
{
|
||
|
||
|
||
|
||
#region Namespaces
|
||
|
||
using DBHelper;
|
||
using DocumentFormat.OpenXml.ExtendedProperties;
|
||
using LoggingHelper;
|
||
using Newtonsoft.Json;
|
||
using Newtonsoft.Json.Linq;
|
||
using Npgsql;
|
||
using Org.BouncyCastle.Utilities.Collections;
|
||
using RestSharp;
|
||
using System;
|
||
using System.Collections.Generic;
|
||
using System.Configuration;
|
||
using System.Data;
|
||
using System.Data.Entity.Infrastructure;
|
||
using System.Diagnostics;
|
||
using System.Globalization;
|
||
using System.IO;
|
||
using System.Linq;
|
||
using System.Net;
|
||
using System.Net.Http;
|
||
using System.Net.Http.Headers;
|
||
using System.Net.Mail;
|
||
using System.Net.Security;
|
||
using System.Security.Cryptography;
|
||
using System.Security.Cryptography.X509Certificates;
|
||
using System.Security.Policy;
|
||
using System.Text;
|
||
using System.Threading.Tasks;
|
||
using System.Web;
|
||
using System.Web.Script.Serialization;
|
||
using System.Xml;
|
||
using System.Xml.Linq;
|
||
using VECV_WebApi.Common;
|
||
using VECV_WebApi.Models.Authorization;
|
||
using VECV_WebApi.Models.Customer;
|
||
using VECV_WebApi.Models.EmailServices;
|
||
using VECV_WebApi.Models.ServiceEngineer;
|
||
using VECV_WebApi.Models.Tracking;
|
||
using VECV_WebApi.Models.Util;
|
||
using VECV_WebApi.Models.Vehicle;
|
||
|
||
#endregion
|
||
|
||
#region Repository Class
|
||
|
||
/// <summary>
|
||
/// This class contain method for ticket manipulation
|
||
/// </summary>
|
||
public class TicketRepository
|
||
{
|
||
#region Global Variables
|
||
|
||
/// <summary>
|
||
/// making object of LoggingUtility class available to this class
|
||
/// </summary>
|
||
LoggingUtility objLog = new LoggingUtility();
|
||
|
||
PushData UdanPushData = new PushData();
|
||
|
||
/// <summary>
|
||
/// making the data-log file path available to this class
|
||
/// </summary>
|
||
string path = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["PathLog"]);
|
||
|
||
/// <summary>
|
||
/// making data log file path available to this class
|
||
/// </summary>
|
||
string logtf = (ConfigurationManager.AppSettings["Log"]);
|
||
|
||
/// <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 Customer Repository object available to this class
|
||
/// </summary>
|
||
CustomerVehicleModel objCustomerVehicleModel;
|
||
|
||
/// <summary>
|
||
/// making Authentication Repository object available to this class
|
||
/// </summary>
|
||
AuthenticationRepository objAuthorization;
|
||
|
||
#endregion
|
||
|
||
#region Contructors
|
||
|
||
/// <summary>
|
||
/// Default constructor intialize connection string of tracking database
|
||
/// </summary>
|
||
public TicketRepository(string connString)
|
||
{
|
||
this._connStr = connString;
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region API Methods
|
||
|
||
/// <summary>
|
||
///CMS customer login
|
||
/// </summary>
|
||
/// <param name="ticketAlias"></param>
|
||
/// <returns></returns>
|
||
public List<CustomerOpenTicketFullDetailTicketWise> GetCustomerOpenadnCloseTicketDetail(string ticketAlias)
|
||
{
|
||
List<CustomerOpenTicketFullDetailTicketWise> objCustDetail = new List<CustomerOpenTicketFullDetailTicketWise>();
|
||
try
|
||
{
|
||
string ticketId = "";
|
||
string ticketType = "";
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticketid_alias", ticketAlias);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticketid_by_ticketalias"], nSqlParam);
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
ticketId = ds.Tables[0].Rows[0][0].ToString();
|
||
ticketType = ds.Tables[0].Rows[0][1].ToString();
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", ticketId);
|
||
if (ticketType == "open")
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
}
|
||
|
||
else
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_ticket_full_details_ticket_wise"], nSqlParam);
|
||
}
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objCustDetail = ds.Tables[0].AsEnumerable().Select(s => new CustomerOpenTicketFullDetailTicketWise
|
||
{
|
||
AssignedTo = s.Field<string>("assigned_to"),
|
||
BreakdownLocation = s.Field<string>("breakdown_location"),
|
||
ChassisNo = s.Field<string>("chassis_no"),
|
||
CustomerContactNo = s.Field<string>("customer_contact_no"),
|
||
CustomerCustomerName = s.Field<string>("_customer_name"),
|
||
DealerCode = s.Field<string>("dealer_id"),
|
||
DealerContactNumber1 = s.Field<string>("dealer_contact_number1"),
|
||
DealerOrServiceEnggContactNumber = s.Field<string>("contact_number"),
|
||
Dealerdealer_name = s.Field<string>("dealer_dealer_name"),
|
||
KmCovered = Convert.ToString(s.Field<double>("km_covered")),
|
||
ModelNumber = s.Field<string>("_model_number"),
|
||
OpenCloseStatus = ticketType,
|
||
ProductVarient = s.Field<string>("vehicle_tagging"),
|
||
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
|
||
TripStart = !string.IsNullOrEmpty(s.Field<DateTime?>("_trip_start").ToString()) ? Convert.ToDateTime(s.Field<DateTime?>("_trip_start")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : "-",
|
||
TripEnd = !string.IsNullOrEmpty(s.Field<DateTime?>("_trip_end").ToString()) ? Convert.ToDateTime(s.Field<DateTime?>("_trip_end")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : "-",
|
||
|
||
VehicleRegisterNumber = s.Field<string>("vehicle_register_number"),
|
||
|
||
}).ToList();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository GetCustomerOpenadnCloseTicketDetail", Ex.Message, path, errorlogtf);
|
||
|
||
}
|
||
return objCustDetail;
|
||
}
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// To get customer details
|
||
/// </summary>
|
||
/// <param name="model">device and ticket info</param>
|
||
/// <returns>status and customer details</returns>
|
||
public List<CustomerVehicleModel> GetCustomerDetails(CustomerVehicleModel model)
|
||
{
|
||
List<CustomerVehicleModel> objList = new List<CustomerVehicleModel>();
|
||
try
|
||
{
|
||
objCustomerVehicleModel = new CustomerVehicleModel();
|
||
objCustomerVehicleModel.Status = 1;
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number ", model.VehicleRegistrationNumber);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number ", model.CustomerMobile1);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number ", model.TicketNo);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_detail"], nSqlParam);
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new CustomerVehicleModel
|
||
{
|
||
CustomerVehicleIsOwnwer = s.Field<Boolean?>("_customer_vehicle_is_owner"),
|
||
TicketNo = model.TicketNo,
|
||
CustomerId = s.Field<string>("_customer_id"),
|
||
CustomerName = s.Field<string>("_customer_customer_name"),
|
||
CustomerAlias = s.Field<string>("_customer_alias"),
|
||
CustomerMobile1 = s.Field<string>("_customer_mobile_number_1"),
|
||
CustomerMobile2 = s.Field<string>("_customer_mobile_number_2"),
|
||
CustomerMobile3 = s.Field<string>("_customer_mobile_number_3"),
|
||
CustomerAddress = s.Field<string>("_customer_address"),
|
||
CustomerEmailId = s.Field<string>("_customer_email_id"),
|
||
CustomerCity = s.Field<string>("_customer_city"),
|
||
CustomerState = s.Field<string>("_customer_state"),
|
||
CustomerVehicleCustomerId = s.Field<string>("_customer_vehicle_customer_id"),
|
||
CustomerVehicleVehicleId = s.Field<string>("_customer_vehicle_vehicle_id"),
|
||
VehicleId = s.Field<string>("_vehicle_id"),
|
||
VehicleRegistrationNumber = s.Field<string>("_vehicle_registration_number"),
|
||
VehicleNumberPlate = s.Field<string>("vehicle_number_plate"),
|
||
VehicleModelNumber = s.Field<string>("_vehicle_model_number"),
|
||
Status = 1,
|
||
VehicleType = s.Field<string>("_vehicle_vehicle_type")
|
||
}).ToList();
|
||
}
|
||
}
|
||
else
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParamDBM = new NpgsqlParameter[2];
|
||
|
||
if (model.VehicleRegistrationNumber == null || model.VehicleRegistrationNumber == "")
|
||
{
|
||
if (model.TicketNo != "" || model.TicketNo != null)
|
||
{
|
||
nSqlParamDBM[0] = new NpgsqlParameter("inticket_number ", model.TicketNo);
|
||
nSqlParamDBM[1] = new NpgsqlParameter("inchassis_number ", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_detail_by_dbm_ticketno"], nSqlParamDBM);
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new CustomerVehicleModel
|
||
{
|
||
CustomerVehicleIsOwnwer = true,//s.Field<Boolean?>("_customer_vehicle_is_owner"),
|
||
TicketNo = model.TicketNo,
|
||
CustomerId = s.Field<string>("_customer_id"),
|
||
CustomerName = s.Field<string>("_customer_customer_name"),
|
||
CustomerAlias = s.Field<string>("_customer_customer_name"),
|
||
CustomerMobile1 = s.Field<string>("_customer_mobile_number_1"),
|
||
CustomerMobile2 = s.Field<string>("_customer_mobile_number_1"),
|
||
CustomerMobile3 = s.Field<string>("_customer_mobile_number_1"),
|
||
CustomerAddress = s.Field<string>("_customer_address"),
|
||
//CustomerEmailId = s.Field<string>("_customer_email_id"),
|
||
CustomerCity = s.Field<string>("_customer_city"),
|
||
CustomerState = s.Field<string>("_customer_state"),
|
||
CustomerVehicleCustomerId = s.Field<string>("_customer_vehicle_customer_id"),
|
||
//CustomerVehicleVehicleId = s.Field<string>("_customer_vehicle_vehicle_id"),
|
||
//VehicleId = s.Field<string>("_vehicle_id"),
|
||
VehicleRegistrationNumber = s.Field<string>("_vehicle_registration_number"),
|
||
VehicleNumberPlate = s.Field<string>("vehicle_number_plate"),
|
||
VehicleModelNumber = s.Field<string>("_customer_vehicle_model_name"),
|
||
Status = 1,
|
||
VehicleType = s.Field<string>("_vehicle_type")
|
||
}).ToList();
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
nSqlParamDBM[0] = new NpgsqlParameter("inregistration_number ", null);
|
||
nSqlParamDBM[1] = new NpgsqlParameter("inchassis_number ", model.CustomerMobile1);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_detail_By_DBM"], nSqlParam);
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new CustomerVehicleModel
|
||
{
|
||
CustomerVehicleIsOwnwer = true,//s.Field<Boolean?>("_customer_vehicle_is_owner"),
|
||
TicketNo = model.TicketNo,
|
||
CustomerId = s.Field<string>("_customer_id"),
|
||
CustomerName = s.Field<string>("_customer_customer_name"),
|
||
CustomerAlias = s.Field<string>("_customer_alias"),
|
||
CustomerMobile1 = s.Field<string>("_customer_mobile_number_1"),
|
||
CustomerMobile2 = s.Field<string>("_customer_mobile_number_2"),
|
||
CustomerMobile3 = s.Field<string>("_customer_mobile_number_3"),
|
||
CustomerAddress = s.Field<string>("_customer_address"),
|
||
CustomerEmailId = s.Field<string>("_customer_email_id"),
|
||
CustomerCity = s.Field<string>("_customer_city"),
|
||
CustomerState = s.Field<string>("_customer_state"),
|
||
CustomerVehicleCustomerId = s.Field<string>("_customer_vehicle_customer_id"),
|
||
CustomerVehicleVehicleId = s.Field<string>("_customer_vehicle_vehicle_id"),
|
||
VehicleId = s.Field<string>("_vehicle_id"),
|
||
VehicleRegistrationNumber = s.Field<string>("_vehicle_registration_number"),
|
||
VehicleNumberPlate = s.Field<string>("vehicle_number_plate"),
|
||
VehicleModelNumber = s.Field<string>("_vehicle_model_number"),
|
||
Status = 1,
|
||
VehicleType = s.Field<string>("_vehicle_vehicle_type")
|
||
}).ToList();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
nSqlParamDBM[0] = new NpgsqlParameter("inregistration_number ", model.VehicleRegistrationNumber);
|
||
nSqlParamDBM[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.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new CustomerVehicleModel
|
||
{
|
||
CustomerVehicleIsOwnwer = true,// s.Field<Boolean?>("_customer_vehicle_is_owner"),
|
||
TicketNo = model.TicketNo,
|
||
CustomerId = s.Field<string>("_customer_id"),
|
||
CustomerName = s.Field<string>("_customer_customer_name"),
|
||
CustomerAlias = s.Field<string>("_customer_alias"),
|
||
CustomerMobile1 = s.Field<string>("_customer_mobile_number_1"),
|
||
CustomerMobile2 = s.Field<string>("_customer_mobile_number_2"),
|
||
CustomerMobile3 = s.Field<string>("_customer_mobile_number_3"),
|
||
CustomerAddress = s.Field<string>("_customer_address"),
|
||
CustomerEmailId = s.Field<string>("_customer_email_id"),
|
||
CustomerCity = s.Field<string>("_customer_city"),
|
||
CustomerState = s.Field<string>("_customer_state"),
|
||
CustomerVehicleCustomerId = s.Field<string>("_customer_vehicle_customer_id"),
|
||
CustomerVehicleVehicleId = s.Field<string>("_customer_vehicle_vehicle_id"),
|
||
VehicleId = s.Field<string>("_vehicle_id"),
|
||
VehicleRegistrationNumber = s.Field<string>("_vehicle_registration_number"),
|
||
VehicleNumberPlate = s.Field<string>("vehicle_number_plate"),
|
||
VehicleModelNumber = s.Field<string>("_vehicle_model_number"),
|
||
Status = 1,
|
||
VehicleType = s.Field<string>("_vehicle_vehicle_type")
|
||
}).ToList();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
objCustomerVehicleModel.Status = 0;
|
||
objCustomerVehicleModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return objList;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objCustomerVehicleModel = new CustomerVehicleModel();
|
||
objCustomerVehicleModel.Status = 0;
|
||
objCustomerVehicleModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
||
objLog.ErrorLogFile("TicketRepository GetCustomerDetails", Ex.Message, path, errorlogtf);
|
||
|
||
return objList;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get customer open ticket history
|
||
/// </summary>
|
||
/// <param name="model">device and ticket info</param>
|
||
/// <returns>status and customer open ticket history</returns>
|
||
public List<TicketOpenModel> GetCustomerOpenTicketHistory(CustomerVehicleModel model)
|
||
{
|
||
List<TicketOpenModel> objTicketModel = new List<TicketOpenModel>();
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
|
||
DataSet dsClose = new DataSet();
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number ", model.VehicleRegistrationNumber);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number ", model.CustomerMobile1);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number ", model.TicketNo);
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket"], nSqlParam);
|
||
if (dsOpen.Tables.Count > 0)
|
||
{
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
objTicketModel = dsOpen.Tables[0].AsEnumerable().Select(s => new TicketOpenModel
|
||
{
|
||
AssignedTo = s.Field<string>("assigned_to"),
|
||
AssignedToUserId = s.Field<string>("assigned_to_user_id"),
|
||
AssignedToUserLatitude = s.Field<string>("assigned_to_user_lattitude"),
|
||
AssignedToUserLongitude = s.Field<string>("assigned_to_user_longitude"),
|
||
BreackDownLatitude = s.Field<string>("breakdown_lattitude"),
|
||
BreackDownLongitude = s.Field<string>("breakdown_longitude"),
|
||
BreakDownLocation = s.Field<string>("breakdown_location"),
|
||
CreatedBy = s.Field<string>("created_by"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("creation_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
CutomerScore = s.Field<string>("customer_score"),
|
||
Description = s.Field<string>("description"),
|
||
EstimatedTimeForJobComplition = s.Field<int?>("estimated_time_for_job_completion"),
|
||
EstimatedTimeForJobComplitionSubmitTime = Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
Id = s.Field<string>("id"),
|
||
IsDeclined = s.Field<Boolean?>("isdeclined"),
|
||
LastModifiedBy = s.Field<string>("last_modified_by"),
|
||
LastModifiedTime = Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
Priority = s.Field<int?>("priority"),
|
||
ReportedVia = s.Field<string>("reported_via"),
|
||
TicketStatus = s.Field<int?>("ticket_status"),
|
||
TotalTicketLifeCycleTimeSlab = s.Field<int?>("total_ticket_lifecycle_time_sla"),
|
||
VehicleRegistrationNo = s.Field<string>("vehicle_registration_number"),
|
||
|
||
EstimatedTimeForJobCompletionSubmitTime = s.Field<string>("estimated_time_for_job_completion_submit_time"),
|
||
BreakdownLocationLandmark = s.Field<string>("breakdown_location_landmark"),
|
||
ActivityTicketsOpenCreatedBy = s.Field<string>("activity_tickets_open_created_by"),
|
||
ActivityTicketsOpenCreationTime = s.Field<string>("activity_tickets_open_creation_time"),
|
||
Remarks = s.Field<string>("remarks"),
|
||
TicketActivityStatus = s.Field<string>("ticket_activity_status"),
|
||
TicketStatusAlias = s.Field<string>("ticket_status_alias"),
|
||
TicketStatusSequenceOrder = s.Field<string>("ticket_status_sequence_order"),
|
||
TicketStatusStatusName = s.Field<string>("ticket_status_status_name"),
|
||
UserId = s.Field<string>("user_id"),
|
||
AuthEngineId = s.Field<string>("auth_engine_id"),
|
||
UserName = s.Field<string>("user_name"),
|
||
Designation = s.Field<string>("designation"),
|
||
ObjectId = s.Field<string>("object_id"),
|
||
OrganizationId = s.Field<int?>("organization_id"),
|
||
City = s.Field<string>("city"),
|
||
State = s.Field<string>("state"),
|
||
Region = s.Field<string>("region"),
|
||
Language = s.Field<string>("language"),
|
||
TimezoneId = s.Field<Int64?>("timezone_id"),
|
||
DisplayName = s.Field<string>("display_name"),
|
||
OffsetInMinutes = s.Field<string>("offset_in_minutes"),
|
||
DisplayId = s.Field<string>("display_id"),
|
||
UserOrganizationName = s.Field<string>("user_organization_name"),
|
||
UserOrganizationAlias = s.Field<string>("user_organization_alias"),
|
||
UserOrganizationCity = s.Field<string>("user_organization_city"),
|
||
UserOrganizationState = s.Field<string>("user_organization_state"),
|
||
UserAsorganizationCountry = s.Field<string>("user_asorganization_country"),
|
||
UserOrganizationDescription = s.Field<string>("user_organization_description"),
|
||
UserOrgPath = s.Field<string>("user_org_path"),
|
||
UserOrgDepth = s.Field<string>("user_org_depth"),
|
||
UserOrgColor = s.Field<string>("user_org_color"),
|
||
UserOrganizationRegion = s.Field<string>("user_organization_region"),
|
||
DealerId = s.Field<string>("_dealer_id"),
|
||
DealerOrganizationId = s.Field<int?>("_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"),
|
||
VanId = s.Field<string>("_van_id"),
|
||
VanAlias = s.Field<string>("_van_alias"),
|
||
VanVanDefaultLattitude = s.Field<string>("_van_van_default_lattitude"),
|
||
VanVanDefaultLongitude = s.Field<string>("_van_van_default_longitude"),
|
||
VanCity = s.Field<string>("_van_city"),
|
||
VanState = s.Field<string>("_van_state"),
|
||
VanVanModel = s.Field<string>("_van_van_model"),
|
||
VanRegistrationNumber = s.Field<string>("_van_registration_number"),
|
||
VanVanRegisteredAs = s.Field<string>("_van_van_registered_as"),
|
||
DealerVanOrganizationName = s.Field<string>("dealer_van_organization_name"),
|
||
DealerVanOrganizationOrganizationAlias = s.Field<string>("dealer_van_organization_organization_alias"),
|
||
DealerVanOrganizationOrganizationCity = s.Field<string>("dealer_van_organization_organization_city"),
|
||
DealerVanOrganizationOrganizationState = s.Field<string>("dealer_van_organization_organization_state"),
|
||
DealerVanOrganizationOrganizationCountry = s.Field<string>("dealer_van_organization_organization_country"),
|
||
DealerVanOrganizationOrganizationDescription = s.Field<string>("dealer_van_organization_organization_description"),
|
||
DealerVanOrganizationOrganizationPath = s.Field<string>("dealer_van_organization_organization_path"),
|
||
DealerVanOrganizationOrganizationDepth = s.Field<string>("dealer_van_organization_organization_depth"),
|
||
DealerVanOrganizationOrganizationColor = s.Field<string>("dealer_van_organization_organization_color"),
|
||
DealerVanOrganizationOrganizationRegion = s.Field<string>("dealer_van_organization_organization_region"),
|
||
ServiceEngineerId = s.Field<string>("_service_engineer_id"),
|
||
ServiceEngineerName = s.Field<string>("service_engineer_name"),
|
||
ServiceEngineerAlias = s.Field<string>("_service_engineer_alias"),
|
||
ServiceEngineerImeiNumber = s.Field<string>("_service_engineer_imei_number"),
|
||
ServiceEngineerContactNumber = s.Field<string>("_service_engineer_contact_number"),
|
||
ServiceEngineerApplicationLicenseKey = s.Field<string>("_service_engineer_application_license_key"),
|
||
ServiceEngineerMobileApplicationBlocked = s.Field<Boolean?>("_service_engineer_mobile_application_blocked"),
|
||
ServiceEngineerDeviceAlias = s.Field<Int64?>("_service_engineer_device_alias"),
|
||
ServiceEngineerPinPassword = s.Field<string>("_service_engineer_pin_password")
|
||
|
||
}).ToList();
|
||
}
|
||
}
|
||
}
|
||
return objTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository GetCustomerOpenTicketHistory", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get customer close ticket history
|
||
/// </summary>
|
||
/// <param name="model">device and ticket info</param>
|
||
/// <returns>status and customer close ticket history</returns>
|
||
public List<TicketCloseModel> GetCustomerCloseTicketHistory(CustomerVehicleModel model)
|
||
{
|
||
List<TicketCloseModel> objTicketModel = new List<TicketCloseModel>();
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet dsClose = new DataSet();
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number ", model.VehicleRegistrationNumber);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number ", model.CustomerMobile1);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number ", model.TicketNo);
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_close_ticket"], nSqlParam);
|
||
if (dsOpen.Tables.Count > 0)
|
||
{
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
objTicketModel = dsOpen.Tables[0].AsEnumerable().Select(s => new TicketCloseModel
|
||
{
|
||
AssignedTo = s.Field<string>("assigned_to"),
|
||
AssignedToUserId = s.Field<string>("assigned_to_user_id"),
|
||
AssignedToUserLatitude = s.Field<string>("assigned_to_user_lattitude"),
|
||
AssignedToUserLongitude = s.Field<string>("assigned_to_user_longitude"),
|
||
BreackDownLatitude = s.Field<string>("breakdown_lattitude"),
|
||
BreackDownLongitude = s.Field<string>("breakdown_longitude"),
|
||
BreakDownLocation = s.Field<string>("breakdown_location"),
|
||
CreatedBy = s.Field<string>("created_by"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("creation_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
CutomerScore = s.Field<string>("customer_score"),
|
||
Description = s.Field<string>("description"),
|
||
EstimatedTimeForJobComplition = s.Field<int?>("estimated_time_for_job_completion"),
|
||
EstimatedTimeForJobComplitionSubmitTime = Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
Id = s.Field<string>("id"),
|
||
IsDeclined = s.Field<Boolean?>("isdeclined"),
|
||
LastModifiedBy = s.Field<string>("last_modified_by"),
|
||
LastModifiedTime = Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
Priority = s.Field<int?>("priority"),
|
||
ReportedVia = s.Field<string>("reported_via"),
|
||
TicketStatus = s.Field<int?>("ticket_status"),
|
||
TotalTicketLifeCycleTimeSlab = s.Field<int?>("total_ticket_lifecycle_time_sla"),
|
||
VehicleRegistrationNo = s.Field<string>("vehicle_registration_number"),
|
||
|
||
|
||
EstimatedTimeForJobCompletionSubmitTime = s.Field<string>("estimated_time_for_job_completion_submit_time"),
|
||
BreakdownLocationLandmark = s.Field<string>("breakdown_location_landmark"),
|
||
ActivityTicketsOpenCreatedBy = s.Field<string>("activity_tickets_open_created_by"),
|
||
ActivityTicketsOpenCreationTime = s.Field<string>("activity_tickets_open_creation_time"),
|
||
Remarks = s.Field<string>("remarks"),
|
||
TicketActivityStatus = s.Field<string>("ticket_activity_status"),
|
||
TicketStatusAlias = s.Field<string>("ticket_status_alias"),
|
||
TicketStatusSequenceOrder = s.Field<string>("ticket_status_sequence_order"),
|
||
TicketStatusStatusName = s.Field<string>("ticket_status_status_name"),
|
||
UserId = s.Field<string>("user_id"),
|
||
AuthEngineId = s.Field<string>("auth_engine_id"),
|
||
UserName = s.Field<string>("user_name"),
|
||
Designation = s.Field<string>("designation"),
|
||
ObjectId = s.Field<string>("object_id"),
|
||
OrganizationId = s.Field<int?>("organization_id"),
|
||
City = s.Field<string>("city"),
|
||
State = s.Field<string>("state"),
|
||
Region = s.Field<string>("region"),
|
||
Language = s.Field<string>("language"),
|
||
TimezoneId = s.Field<Int64?>("timezone_id"),
|
||
DisplayName = s.Field<string>("display_name"),
|
||
OffsetInMinutes = s.Field<string>("offset_in_minutes"),
|
||
DisplayId = s.Field<string>("display_id"),
|
||
UserOrganizationName = s.Field<string>("user_organization_name"),
|
||
UserOrganizationAlias = s.Field<string>("user_organization_alias"),
|
||
UserOrganizationCity = s.Field<string>("user_organization_city"),
|
||
UserOrganizationState = s.Field<string>("user_organization_state"),
|
||
UserAsorganizationCountry = s.Field<string>("user_asorganization_country"),
|
||
UserOrganizationDescription = s.Field<string>("user_organization_description"),
|
||
UserOrgPath = s.Field<string>("user_org_path"),
|
||
UserOrgDepth = s.Field<string>("user_org_depth"),
|
||
UserOrgColor = s.Field<string>("user_org_color"),
|
||
UserOrganizationRegion = s.Field<string>("user_organization_region"),
|
||
DealerId = s.Field<string>("_dealer_id"),
|
||
DealerOrganizationId = s.Field<int?>("_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"),
|
||
VanId = s.Field<string>("_van_id"),
|
||
VanAlias = s.Field<string>("_van_alias"),
|
||
VanVanDefaultLattitude = s.Field<string>("_van_van_default_lattitude"),
|
||
VanVanDefaultLongitude = s.Field<string>("_van_van_default_longitude"),
|
||
VanCity = s.Field<string>("_van_city"),
|
||
VanState = s.Field<string>("_van_state"),
|
||
VanVanModel = s.Field<string>("_van_van_model"),
|
||
VanRegistrationNumber = s.Field<string>("_van_registration_number"),
|
||
VanVanRegisteredAs = s.Field<string>("_van_van_registered_as"),
|
||
DealerVanOrganizationName = s.Field<string>("dealer_van_organization_name"),
|
||
DealerVanOrganizationOrganizationAlias = s.Field<string>("dealer_van_organization_organization_alias"),
|
||
DealerVanOrganizationOrganizationCity = s.Field<string>("dealer_van_organization_organization_city"),
|
||
DealerVanOrganizationOrganizationState = s.Field<string>("dealer_van_organization_organization_state"),
|
||
DealerVanOrganizationOrganizationCountry = s.Field<string>("dealer_van_organization_organization_country"),
|
||
DealerVanOrganizationOrganizationDescription = s.Field<string>("dealer_van_organization_organization_description"),
|
||
DealerVanOrganizationOrganizationPath = s.Field<string>("dealer_van_organization_organization_path"),
|
||
DealerVanOrganizationOrganizationDepth = s.Field<string>("dealer_van_organization_organization_depth"),
|
||
DealerVanOrganizationOrganizationColor = s.Field<string>("dealer_van_organization_organization_color"),
|
||
DealerVanOrganizationOrganizationRegion = s.Field<string>("dealer_van_organization_organization_region"),
|
||
ServiceEngineerId = s.Field<string>("_service_engineer_id"),
|
||
ServiceEngineerName = s.Field<string>("service_engineer_name"),
|
||
ServiceEngineerAlias = s.Field<string>("_service_engineer_alias"),
|
||
ServiceEngineerImeiNumber = s.Field<string>("_service_engineer_imei_number"),
|
||
ServiceEngineerContactNumber = s.Field<string>("_service_engineer_contact_number"),
|
||
ServiceEngineerApplicationLicenseKey = s.Field<string>("_service_engineer_application_license_key"),
|
||
ServiceEngineerMobileApplicationBlocked = s.Field<Boolean?>("_service_engineer_mobile_application_blocked"),
|
||
ServiceEngineerDeviceAlias = s.Field<Int64?>("_service_engineer_device_alias"),
|
||
ServiceEngineerPinPassword = s.Field<string>("_service_engineer_pin_password")
|
||
|
||
}).ToList();
|
||
}
|
||
}
|
||
}
|
||
return objTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository GetCustomerCloseTicketHistory", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// To get ticket details base on Divice alias.
|
||
/// </summary>
|
||
/// <param name="model">device info and ticket info</param>
|
||
/// <returns>status and ticket details base on Divice alias</returns>
|
||
public List<TicketOpenModel> GetTicketDetailOnDeviceAlias(TicketOpenModel model)
|
||
{
|
||
List<TicketOpenModel> objTicketModel = new List<TicketOpenModel>();
|
||
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
|
||
DataSet dsClose = new DataSet();
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("indevice_alias ", model.DeviceAlias);
|
||
nSqlParam[1] = new NpgsqlParameter("inieminumber", model.Ieminumber);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_status ", model.TicketStatus);
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_devicealiaswise"], nSqlParam);
|
||
if (dsOpen.Tables.Count > 0)
|
||
{
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
objTicketModel = dsOpen.Tables[0].AsEnumerable().Select(s => new TicketOpenModel
|
||
{
|
||
AssignedTo = s.Field<string>("_assigned_to"),
|
||
AssignedToUserLatitude = s.Field<string>("_assigned_to_user_lattitude"),
|
||
AssignedToUserLongitude = s.Field<string>("_assigned_to_user_longitude"),
|
||
BreackDownLatitude = s.Field<string>("_breakdown_lattitude"),
|
||
BreackDownLongitude = s.Field<string>("_breakdown_longitude"),
|
||
BreakDownLocation = s.Field<string>("_breakdown_location"),
|
||
CreatedBy = s.Field<string>("_tickets_open_created_by"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_tickets_open_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
CutomerScore = s.Field<string>("_customer_score"),
|
||
Description = s.Field<string>("_description"),
|
||
EstimatedTimeForJobComplition = s.Field<int?>("_estimated_time_for_job_completion"),
|
||
Id = s.Field<string>("_id"),
|
||
IsDeclined = s.Field<Boolean?>("_isdeclined"),
|
||
LastModifiedBy = s.Field<string>("_last_modified_by"),
|
||
LastModifiedTime = Convert.ToDateTime(s.Field<DateTime?>("_last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
Priority = s.Field<int?>("_priority"),
|
||
ReportedVia = s.Field<string>("_reported_via"),
|
||
TotalTicketLifeCycleTimeSlab = s.Field<int?>("_total_ticket_lifecycle_time_sla"),
|
||
VehicleRegistrationNo = s.Field<string>("_vehicle_registration_number"),
|
||
BreakdownLocationLandmark = s.Field<string>("_breakdown_location_landmark"),
|
||
RouteId = s.Field<int?>("_route_id"),
|
||
CustomeContact_no = s.Field<string>("_customer_contact_no"),
|
||
VehicleType = s.Field<string>("_vehicle_type"),
|
||
RepairCost = s.Field<string>("_repair_cost"),
|
||
DefaultSlaTime = s.Field<int?>("_default_sla_time"),
|
||
SlaMissedReason = s.Field<string>("_sla_missed_reason"),
|
||
SuggestionComment = s.Field<string>("_suggestion_comment"),
|
||
JobCompleteResponseTime = s.Field<string>("_default_col_1"),
|
||
DefaultCol2 = s.Field<string>("_default_col_2"),
|
||
DefaultCol3 = s.Field<string>("_default_col_3"),
|
||
EstimatedDistance = s.Field<string>("_estimated_distance"),
|
||
OwnerContact_no = s.Field<string>("_owner_contact_no"),
|
||
ticketid_alias = s.Field<string>("_ticket_id_alias"),
|
||
//--- added on 06-01-2020 start ------------------------
|
||
vehicle_warranty = s.Field<string>("_vehicle_warranty") == null ? "" : s.Field<string>("_vehicle_warranty"),
|
||
vehicle_amc = s.Field<string>("_vehicle_amc") == null ? "" : s.Field<string>("_vehicle_amc"),
|
||
odometer_reading = s.Field<double>("_odometer_reading"),
|
||
vehicle_sales_date = s.Field<string>("_vehicle_sales_date"),
|
||
ticket_source = s.Field<string>("_ticket_source") == null ? "" : s.Field<string>("_ticket_source"),
|
||
customer_id = s.Field<string>("_customer_id") == null ? "" : s.Field<string>("_customer_id"),
|
||
customer_type = s.Field<string>("_customer_type") == null ? "" : s.Field<string>("_customer_type"),
|
||
owner_name = s.Field<string>("_owner_name") == null ? "" : s.Field<string>("_owner_name"), //modified on 11-01-2020
|
||
is_kam = s.Field<Boolean?>("_is_kam"),
|
||
NewVehicleType = s.Field<string>("_new_vehicle_type")
|
||
//--- added on 06-01-2020 end ------------------------
|
||
|
||
}).ToList();
|
||
}
|
||
}
|
||
}
|
||
return objTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository GetTicketDetailOnDeviceAlias", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get details of ticket accept or declined and some deatails of customer open ticket
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>deatails of customer open ticket</returns>
|
||
public List<CustomerOpenTicketFullDetailsTicketWise> TicketAcceptOrDecliend(TicketOpenModel model)
|
||
{
|
||
TicketOpenModel objModel = new TicketOpenModel();
|
||
CustomerOpenTicketFullDetailsTicketWise objfullticketdetails = new CustomerOpenTicketFullDetailsTicketWise();
|
||
List<CustomerOpenTicketFullDetailsTicketWise> objListfullticketdetails = new List<CustomerOpenTicketFullDetailsTicketWise>();
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
// get latest ticket activity for the ticket.
|
||
NpgsqlParameter[] nSqlParam0 = new NpgsqlParameter[1];
|
||
nSqlParam0[0] = new NpgsqlParameter("inticket_id", model.Id);
|
||
DataSet ds_latest_ticket_activity = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_activity"], nSqlParam0);
|
||
|
||
|
||
if ((model.IsDeclined == true) || (model.IsDeclined.ToString().ToUpper() == "TRUE") || (model.TicketStatus == 6))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[4];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id ", model.Id);
|
||
nSqlParam[1] = new NpgsqlParameter("inlast_modified_by ", model.LastModifiedBy);
|
||
nSqlParam[2] = new NpgsqlParameter("inlast_modified_time ", model.LastModifiedTime);
|
||
nSqlParam[3] = new NpgsqlParameter("indescription ", model.Description);
|
||
objfullticketdetails.OpenCloseStatus = "open";
|
||
NpgSqlHelper.ExecuteNonQuery(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_assign_to_decline_ticket"], nSqlParam);
|
||
|
||
#region Sending SMS (When ticket is Declined)
|
||
|
||
DataSet ds = new DataSet();
|
||
DataSet ds1 = new DataSet();
|
||
DataSet ds2_ticket_info = new DataSet();
|
||
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.Id);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
|
||
string ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
|
||
// get sms content details.
|
||
nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.Id);
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam);
|
||
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number", model.Id);
|
||
ds2_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
|
||
|
||
//get sending sms api url.
|
||
string url = System.Web.Configuration.WebConfigurationManager.AppSettings["SmsUrl"].ToString();
|
||
// get msg format
|
||
string msgDealerDeclinedTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgDealerDeclinedTicket"].ToString();
|
||
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
//string[] id = model.Id.Split('-');
|
||
// set content in msg
|
||
msgDealerDeclinedTicket = string.Format(msgDealerDeclinedTicket,
|
||
ticketIdAlias,
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(),
|
||
": " + ds1.Tables[0].Rows[0]["suggestion_comment"].ToString(),
|
||
//ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + "-" + ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString()
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + "( " + ds2_ticket_info.Tables[0].Rows[0]["dealer_city"].ToString() + " )"
|
||
);
|
||
|
||
|
||
|
||
// get all contact no split in array.
|
||
string[] CSMContactNo = ds.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgDealerDeclinedTicket);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
|
||
string DealerSms = string.Format(url, ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgDealerDeclinedTicket);
|
||
objGlobalRepository.SendMessage(DealerSms);
|
||
|
||
|
||
#region Sending sms to KAM when ticket is declined
|
||
|
||
// checking whether this ticket creation belongs to KAM user or not
|
||
NpgsqlParameter[] nSqlParam01 = new NpgsqlParameter[1];
|
||
nSqlParam01[0] = new NpgsqlParameter("inticket_id", model.Id);
|
||
DataSet ds_kam_ticket_details = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_kam_ticket_or_not"], nSqlParam01);
|
||
if (ds_kam_ticket_details.Tables.Count > 0)
|
||
{
|
||
// if this ticket belongs to KAM
|
||
if (ds_kam_ticket_details.Tables[0].Rows.Count > 0)
|
||
{
|
||
string msgKamDeclinedTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgKamDeclinedTicket"].ToString();
|
||
// set content in msg
|
||
msgKamDeclinedTicket = string.Format(msgKamDeclinedTicket,
|
||
ticketIdAlias,
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(),
|
||
": " + ds1.Tables[0].Rows[0]["suggestion_comment"].ToString(),
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + "( " + ds2_ticket_info.Tables[0].Rows[0]["dealer_city"].ToString() + " )"
|
||
);
|
||
|
||
string KamSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgKamDeclinedTicket);
|
||
objGlobalRepository.SendMessage(KamSms);
|
||
|
||
//-----------Sending GCM push to all KAM users-------------------------
|
||
NpgsqlParameter[] nSqlParam11 = new NpgsqlParameter[1];
|
||
nSqlParam11[0] = new NpgsqlParameter("inkam_id", ds_kam_ticket_details.Tables[0].Rows[0]["_kam_id"].ToString());
|
||
DataSet dsGcm1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_kam_user_devices_details_open_tickets"], nSqlParam11);
|
||
if (dsGcm1.Tables.Count > 0)
|
||
{
|
||
if (dsGcm1.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (DataRow dr in dsGcm1.Tables[0].Rows)
|
||
{
|
||
|
||
string notificationMessageFormat = ConfigurationManager.AppSettings["NotificationMessageDeclineKamTicket"].ToString();
|
||
string notificationMessage = string.Format(notificationMessageFormat, ticketIdAlias);
|
||
SendNotificationModel objGcmModel1 = new SendNotificationModel();
|
||
objGcmModel1.DeviceGcmId = dr["_gcm_id"].ToString();
|
||
objGcmModel1.TicketId = ds_kam_ticket_details.Tables[0].Rows[0]["_kam_id"].ToString();
|
||
objGcmModel1.NotificationCode = ConfigurationManager.AppSettings["MessageDeclineKamTicket"].ToString();
|
||
objGcmModel1.NotificationMessage = notificationMessage;
|
||
if (Convert.ToInt32(dr["_push_notification_bit"]) == 0)
|
||
{
|
||
objGcmModel1 = objGlobalRepository.GcmSendNotificationForKam(objGcmModel1);
|
||
objModel.Status = objGcmModel1.Status;
|
||
}
|
||
else
|
||
{
|
||
objGcmModel1 = objGlobalRepository.FcmSendNotificationForKam(objGcmModel1);
|
||
objModel.Status = objGcmModel1.Status;
|
||
}
|
||
//objModel.SenderId = objGcmModel.SenderId;
|
||
}
|
||
}
|
||
}
|
||
//----------------------------------------------------------------------
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
}
|
||
else
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id ", model.Id);
|
||
nSqlParam[1] = new NpgsqlParameter("inlast_modified_by ", model.LastModifiedBy);
|
||
nSqlParam[2] = new NpgsqlParameter("inlast_modified_time ", model.LastModifiedTime);
|
||
NpgSqlHelper.ExecuteNonQuery(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_accept_assign_ticket"], nSqlParam);
|
||
objfullticketdetails.OpenCloseStatus = "open";
|
||
|
||
#region Sending SMS ( When ticket is assigned to Van )
|
||
if (ds_latest_ticket_activity.Tables.Count > 0)
|
||
{
|
||
|
||
if ((ds_latest_ticket_activity.Tables[0].Rows[0][0].ToString() == "1") && (model.IsDeclined.ToString().ToUpper() == "FALSE") || (model.TicketStatus == 2))
|
||
{
|
||
DataSet ds1_ticket_info = new DataSet();
|
||
DataSet ds2_ticket_info = new DataSet();
|
||
DataSet ds3_ticket_info = new DataSet();
|
||
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.Id);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds3_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
|
||
string ticketIdAlias = ds3_ticket_info.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
|
||
// get sms content details.
|
||
nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.Id);
|
||
ds1_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam);
|
||
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number", model.Id);
|
||
ds2_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
|
||
|
||
//get sending sms api url.
|
||
string url = System.Web.Configuration.WebConfigurationManager.AppSettings["SmsUrl"].ToString();
|
||
|
||
// get msg format
|
||
string msgCustforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgCustforVanTicket"].ToString();
|
||
string msgDealerforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgDealerforVanTicket"].ToString();
|
||
string msgWMforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgWMforVanTicket"].ToString();
|
||
string msgCSMforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgCSMforVanTicket"].ToString();
|
||
if (ds3_ticket_info.Tables.Count > 0)
|
||
{
|
||
if (ds3_ticket_info.Tables[0].Rows.Count > 0)
|
||
{
|
||
//vehicle_registration_number
|
||
msgCustforVanTicket = string.Format(msgCustforVanTicket, ticketIdAlias, // Ticket Id
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds3_ticket_info.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // Service_Engineer_Name Service_Engineer_Contact
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(), // EOS van registration number
|
||
ConfigurationManager.AppSettings["TollFreeNo"].ToString()); // Toll free number
|
||
|
||
|
||
msgDealerforVanTicket = string.Format(msgDealerforVanTicket, ticketIdAlias, // Ticket Id
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(), // EOS van registration number
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString(), // Service Engineer Name
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString(),// customer name / Number ##
|
||
ds1_ticket_info.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"), // breakdown location
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString() // Driver's number
|
||
);
|
||
msgWMforVanTicket = string.Format(msgWMforVanTicket, ticketIdAlias, // Ticket Id
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(), // EOS van registration number
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString(), // Service Engineer Name
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString(),// customer name / Number ##
|
||
ds1_ticket_info.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"), // breakdown location
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString() // Driver's number
|
||
);
|
||
|
||
msgCSMforVanTicket = string.Format(msgCSMforVanTicket, ticketIdAlias, // Ticket ID
|
||
ds3_ticket_info.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), // Vehicle registration number
|
||
ds1_ticket_info.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"), // breakdown location
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + "( " + ds2_ticket_info.Tables[0].Rows[0]["dealer_city"].ToString() + " )",// Dealer Name, Dealer City
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString() // Driver's number
|
||
);
|
||
|
||
|
||
string CustomerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgCustforVanTicket);
|
||
string DealerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgDealerforVanTicket);
|
||
|
||
// get all contact no split in array.
|
||
string[] CSMContactNo = ds3_ticket_info.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgCSMforVanTicket);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
string[] WMContactNo = ds3_ticket_info.Tables[0].Rows[0]["wm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
string WMsms = string.Format(url, WMContactNo[i], msgWMforVanTicket);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
}
|
||
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
objGlobalRepository.SendMessage(DealerSms);
|
||
|
||
#region Sending sms to KAM when ticket is Accepted
|
||
|
||
// checking whether this ticket creation belongs to KAM user or not
|
||
NpgsqlParameter[] nSqlParam01 = new NpgsqlParameter[1];
|
||
nSqlParam01[0] = new NpgsqlParameter("inticket_id", model.Id);
|
||
DataSet ds_kam_ticket_details = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_kam_ticket_or_not"], nSqlParam01);
|
||
|
||
//=============================================================================================
|
||
string msgKamAcceptedTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgKamAcceptedTicket"].ToString();
|
||
// set content in msg
|
||
msgKamAcceptedTicket = string.Format(msgKamAcceptedTicket,
|
||
ticketIdAlias, // ticket id
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds3_ticket_info.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // eos team name and contact
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(), // vehicle reg no.
|
||
ConfigurationManager.AppSettings["TollFreeNo"].ToString() // toll free number
|
||
);
|
||
|
||
string KamSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgKamAcceptedTicket);
|
||
objGlobalRepository.SendMessage(KamSms);
|
||
//=============================================================================================
|
||
if (ds_kam_ticket_details.Tables.Count > 0)
|
||
{
|
||
if (ds_kam_ticket_details.Tables[0].Rows.Count > 0)
|
||
{
|
||
//-----------Sending GCM push to all KAM users-------------------------
|
||
NpgsqlParameter[] nSqlParam11 = new NpgsqlParameter[1];
|
||
nSqlParam11[0] = new NpgsqlParameter("inkam_id", ds_kam_ticket_details.Tables[0].Rows[0]["_kam_id"].ToString());
|
||
DataSet dsGcm1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_kam_user_devices_details_open_tickets"], nSqlParam11);
|
||
|
||
if (dsGcm1.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (DataRow dr in dsGcm1.Tables[0].Rows)
|
||
{
|
||
|
||
string notificationMessageFormat = ConfigurationManager.AppSettings["NotificationMessageAcceptKamDummyOrRealTicket"].ToString();
|
||
string notificationMessage = string.Format(notificationMessageFormat, ticketIdAlias);
|
||
SendNotificationModel objGcmModel1 = new SendNotificationModel();
|
||
objGcmModel1.DeviceGcmId = dr["_gcm_id"].ToString();
|
||
objGcmModel1.TicketId = ds_kam_ticket_details.Tables[0].Rows[0]["_kam_id"].ToString();
|
||
objGcmModel1.NotificationCode = ConfigurationManager.AppSettings["MessageAcceptKamDummyOrRealTicket"].ToString();
|
||
objGcmModel1.NotificationMessage = notificationMessage;
|
||
objGcmModel1 = objGlobalRepository.GcmSendNotificationForKam(objGcmModel1);
|
||
if (Convert.ToInt32(dr["_push_notification_bit"]) == 0)
|
||
{
|
||
objGcmModel1 = objGlobalRepository.GcmSendNotificationForKam(objGcmModel1);
|
||
objModel.Status = objGcmModel1.Status;
|
||
}
|
||
else
|
||
{
|
||
objGcmModel1 = objGlobalRepository.FcmSendNotificationForKam(objGcmModel1);
|
||
objModel.Status = objGcmModel1.Status;
|
||
}
|
||
//objModel.SenderId = objGcmModel.SenderId;
|
||
}
|
||
}
|
||
//----------------------------------------------------------------------
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
objfullticketdetails.Status = "1";
|
||
|
||
objfullticketdetails.TicketId = model.Id;
|
||
objfullticketdetails.Token = model.Token;
|
||
|
||
objListfullticketdetails = GetCustomerOpenTicketFullDetailTicketWise(objfullticketdetails);
|
||
|
||
}
|
||
return objListfullticketdetails;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objfullticketdetails.Status = "0";
|
||
objfullticketdetails.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
||
objLog.ErrorLogFile("TicketRepository TicketAcceptOrDecliend", Ex.Message, path, errorlogtf);
|
||
return objListfullticketdetails;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get ticket status list.
|
||
/// </summary>
|
||
/// <returns>ticket status list</returns>
|
||
public List<TicketStatus> GetTicketStatusList()
|
||
{
|
||
List<TicketStatus> model = new List<TicketStatus>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_status"]);
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
model = ds.Tables[0].AsEnumerable().Select(s => new TicketStatus
|
||
{
|
||
Alias = s.Field<string>("alias"),
|
||
Id = s.Field<Int64?>("id"),
|
||
SequenceNo = s.Field<int?>("sequence_order"),
|
||
StatusName = s.Field<string>("status_name")
|
||
}).ToList();
|
||
}
|
||
}
|
||
return model;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetTicketStatusList", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
public List<TicketStatus> GetTicketStatusListbyticketstaus(string prevstatus, string userrole)
|
||
{
|
||
List<TicketStatus> model = new List<TicketStatus>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
nSqlParam[0] = new NpgsqlParameter("inprevstatus", prevstatus);
|
||
nSqlParam[1] = new NpgsqlParameter("inuserrole", userrole);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_status_ticketstate_wise"], nSqlParam);
|
||
// DataSet ds = new DataSet();
|
||
// ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_status"]);
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
model = ds.Tables[0].AsEnumerable().Select(s => new TicketStatus
|
||
{
|
||
Alias = s.Field<string>("_alias"),
|
||
Id = s.Field<Int64?>("_id"),
|
||
SequenceNo = s.Field<int?>("_sequence_order"),
|
||
StatusName = s.Field<string>("_status_name")
|
||
}).ToList();
|
||
}
|
||
}
|
||
return model;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetTicketStatusList", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// To get van and dealer list.
|
||
/// </summary>
|
||
/// <param name="model">van and dealer info</param>
|
||
/// <returns>van and dealer list</returns>
|
||
/* public List<VanDealerListStateWise> GetVanDealerListStateWise(VanDealerListStateWise model)
|
||
{
|
||
List<VanDealerListStateWise> objListModel = new List<VanDealerListStateWise>();
|
||
VanDealerListStateWise objModel = new VanDealerListStateWise();
|
||
|
||
try
|
||
{
|
||
objModel.Status = "1";
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
string[] parmaval = model.Limit.ToString().Split(',');
|
||
|
||
if (parmaval[0] == "electric")
|
||
{
|
||
model.Fuel_type = "electric";
|
||
}
|
||
else
|
||
{
|
||
model.Fuel_type = "diesel,cng";
|
||
}
|
||
model.Limit = "100";
|
||
DataSet ds = new DataSet();
|
||
DataSet dsTracking = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[6];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id ", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instate_name ", model.StateName);
|
||
nSqlParam[2] = new NpgsqlParameter("inlimit ", model.Limit);
|
||
nSqlParam[3] = new NpgsqlParameter("infueltype ", model.Fuel_type);
|
||
nSqlParam[4] = new NpgsqlParameter("inlat", parmaval[1]);
|
||
nSqlParam[5] = new NpgsqlParameter("inlng", parmaval[2]);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_dealer_list_fuel_type_new"], nSqlParam);
|
||
string deviceAlias = "";
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i]["_type"].ToString().Trim().ToLower() == "van")
|
||
{
|
||
if (i == 0)
|
||
{
|
||
deviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
}
|
||
else
|
||
{
|
||
deviceAlias = deviceAlias + "," + ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
//Get device tracking log
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("indevice_alias", deviceAlias);
|
||
dsTracking = NpgSqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings["Vecv_Tracking"].ToString(), CommandType.StoredProcedure, ConfigurationManager.AppSettings["vecv_log_sp_get_current_log_devices_user_wise"], nSqlParam);
|
||
|
||
List<TrackingModel> listTracking = new List<TrackingModel>();
|
||
listTracking = dsTracking.Tables[0].AsEnumerable().Select(s => new TrackingModel
|
||
{
|
||
LogId = s.Field<Int32>("_log_id"),
|
||
DeviceAlias = s.Field<string>("_device_alias"),
|
||
Latitude = s.Field<string>("_latitude"),
|
||
Longitude = s.Field<string>("_longitude"),
|
||
LogTime = s.Field<DateTime?>("_log_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_log_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_log_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
IsConnected = s.Field<string>("_device_status"),
|
||
Xcordinate = s.Field<string>("_x_coordinate"),
|
||
Ycordinate = s.Field<string>("_y_coordinate"),
|
||
Zcordinate = s.Field<string>("_z_coordinate"),
|
||
CreationTime = s.Field<DateTime?>("_creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
DeviceStatus = s.Field<string>("_device_status")
|
||
}).ToList();
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
objModel = new VanDealerListStateWise();
|
||
//get dealer details.
|
||
if (ds.Tables[0].Rows[i]["_type"].ToString().Trim().ToLower() == "dealer")
|
||
{
|
||
objModel.DealerVanId = ds.Tables[0].Rows[i]["dealer_van_id"].ToString();
|
||
objModel.DealerVanName = ds.Tables[0].Rows[i]["dealer_van_name"].ToString();
|
||
objModel.DealerVanLattitude = ds.Tables[0].Rows[i]["dealer_van_lattitude"].ToString();
|
||
objModel.DealerVanLongitude = ds.Tables[0].Rows[i]["dealer_van_longitude"].ToString();
|
||
objModel.DealerVanCity = ds.Tables[0].Rows[i]["dealer_van_city"].ToString();
|
||
objModel.DealerVanState = ds.Tables[0].Rows[i]["dealer_van_state"].ToString();
|
||
objModel.DeviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
objModel.NoOfAssignedTicket = Convert.ToInt64(ds.Tables[0].Rows[i]["no_of_assigned_ticket"].ToString());
|
||
objModel.Type = ds.Tables[0].Rows[i]["_type"].ToString();
|
||
objModel.RemainingTime = ds.Tables[0].Rows[i]["remaining_time"].ToString();
|
||
objModel.DeviceStatus = "False";
|
||
objModel.DealerOrVanContactNo = ds.Tables[0].Rows[i]["contact_number"].ToString();
|
||
objModel.DealerSCode = ds.Tables[0].Rows[i]["dealer_id"].ToString();
|
||
objModel.Fuel_type = ds.Tables[0].Rows[i]["fueltype"].ToString();
|
||
}
|
||
else
|
||
{
|
||
//get van details and bind with tracking log device alias wise.
|
||
objModel.DealerVanId = ds.Tables[0].Rows[i]["dealer_van_id"].ToString();
|
||
objModel.DealerVanName = ds.Tables[0].Rows[i]["dealer_van_name"].ToString();
|
||
|
||
objModel.DealerVanLattitude = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Latitude).FirstOrDefault() == null ?
|
||
ds.Tables[0].Rows[i]["dealer_van_lattitude"].ToString() :
|
||
listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Latitude).FirstOrDefault();
|
||
|
||
objModel.DealerVanLongitude = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Longitude).FirstOrDefault() == null ?
|
||
ds.Tables[0].Rows[i]["dealer_van_longitude"].ToString() :
|
||
listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Longitude).FirstOrDefault(); ;
|
||
|
||
objModel.DeviceStatus = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.DeviceStatus).FirstOrDefault() == null ?
|
||
"False" :
|
||
listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.DeviceStatus).FirstOrDefault()
|
||
;
|
||
|
||
objModel.DealerVanCity = ds.Tables[0].Rows[i]["dealer_van_city"].ToString();
|
||
objModel.DealerVanState = ds.Tables[0].Rows[i]["dealer_van_state"].ToString();
|
||
objModel.DeviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
objModel.NoOfAssignedTicket = Convert.ToInt64(ds.Tables[0].Rows[i]["no_of_assigned_ticket"].ToString());
|
||
objModel.Type = ds.Tables[0].Rows[i]["_type"].ToString();
|
||
objModel.RemainingTime = ds.Tables[0].Rows[i]["remaining_time"].ToString();
|
||
objModel.DealerSCode = ds.Tables[0].Rows[i]["dealer_id"].ToString();
|
||
objModel.DealerOrVanContactNo = ds.Tables[0].Rows[i]["contact_number"].ToString();
|
||
objModel.Fuel_type = ds.Tables[0].Rows[i]["fueltype"].ToString();
|
||
}
|
||
|
||
objListModel.Add(objModel);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
return objListModel;
|
||
}
|
||
return objListModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("GetVanDealerListStateWise", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}*/
|
||
|
||
/// <ummary>
|
||
/// To get van and dealer list.
|
||
/// </summary>
|
||
// <param name="model">van and dealer info</param>
|
||
/// <returns>van and dealer list</returns>
|
||
//// for titan
|
||
|
||
public List<VanDealerListStateWise> GetVanDealerListStateWise(VanDealerListStateWise model)
|
||
{
|
||
List<VanDealerListStateWise> objListModel = new List<VanDealerListStateWise>();
|
||
VanDealerListStateWise objModel = new VanDealerListStateWise();
|
||
|
||
try
|
||
{
|
||
objModel.Status = "1";
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
string[] limitval = model.Limit.Split(',');
|
||
string str = "";
|
||
model.Limit = "100";
|
||
DataSet ds = new DataSet();
|
||
string streos = "";
|
||
string substring = "";
|
||
DataSet dsTracking = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[4];
|
||
if (limitval.Length > 2)
|
||
{
|
||
|
||
if (limitval[1].ToLower() == "electric")
|
||
{
|
||
model.Fuel_type = "electric";
|
||
}
|
||
else
|
||
{
|
||
model.Fuel_type = "diesel,cng";
|
||
}
|
||
|
||
|
||
str = limitval[0].ToLower();
|
||
substring = "titan";
|
||
streos = limitval[2].ToLower();
|
||
}
|
||
else
|
||
{
|
||
if (limitval[1].ToLower() == "electric")
|
||
{
|
||
model.Fuel_type = "electric";
|
||
}
|
||
else
|
||
{
|
||
model.Fuel_type = "diesel,cng";
|
||
}
|
||
|
||
|
||
str = limitval[0].ToLower();
|
||
substring = "titan";
|
||
}
|
||
/* if (streos == "eps")
|
||
{
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id ", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instate_name ", model.StateName);
|
||
nSqlParam[2] = new NpgsqlParameter("inlimit ", model.Limit);
|
||
nSqlParam[3] = new NpgsqlParameter("infueltype ", model.Fuel_type);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dealer_list_state_wise_fuel_type_EPS"], nSqlParam);
|
||
|
||
}
|
||
if (str.Contains(substring))
|
||
{
|
||
|
||
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id ", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instate_name ", model.StateName);
|
||
nSqlParam[2] = new NpgsqlParameter("inlimit ", model.Limit);
|
||
nSqlParam[3] = new NpgsqlParameter("infueltype ", model.Fuel_type);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dealer_list_state_wise_fuel_type"], nSqlParam);
|
||
|
||
}
|
||
if (str.ToLower() == "genset" || str.ToLower() == "industrial" || str.ToLower() == "axles" || str.ToLower() == "ne")
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParamgenset = new NpgsqlParameter[0];
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_non_harvester_dealers"], nSqlParamgenset);
|
||
|
||
}
|
||
else
|
||
{
|
||
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id ", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instate_name ", model.StateName);
|
||
nSqlParam[2] = new NpgsqlParameter("inlimit ", model.Limit);
|
||
nSqlParam[3] = new NpgsqlParameter("infueltype ", model.Fuel_type);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_dealer_list_state_wise_fuel_type"], nSqlParam);
|
||
}*/
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id ", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instate_name ", model.StateName);
|
||
nSqlParam[2] = new NpgsqlParameter("inlimit ", model.Limit);
|
||
nSqlParam[3] = new NpgsqlParameter("infueltype ", model.Fuel_type);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_dealer_list_state_wise_fuel_type"], nSqlParam);
|
||
|
||
if (streos == "eps")
|
||
{
|
||
if (str.ToLower() == "genset" || str.ToLower() == "industrial" || str.ToLower() == "axles" || str.ToLower() == "ne")
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParamgenset = new NpgsqlParameter[0];
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_non_harvester_dealers"], nSqlParamgenset);
|
||
|
||
}
|
||
else
|
||
{
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id ", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instate_name ", model.StateName);
|
||
nSqlParam[2] = new NpgsqlParameter("inlimit ", model.Limit);
|
||
nSqlParam[3] = new NpgsqlParameter("infueltype ", model.Fuel_type);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_dealer_list_state_wise_fuel_type"], nSqlParam);
|
||
}
|
||
}
|
||
if (str.Contains(substring) )
|
||
{
|
||
|
||
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id ", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instate_name ", model.StateName);
|
||
nSqlParam[2] = new NpgsqlParameter("inlimit ", model.Limit);
|
||
nSqlParam[3] = new NpgsqlParameter("infueltype ", model.Fuel_type);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dealer_list_state_wise_fuel_type"], nSqlParam);
|
||
|
||
}
|
||
|
||
|
||
string deviceAlias = "";
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i]["_type"].ToString().Trim().ToLower() == "van")
|
||
{
|
||
if (i == 0)
|
||
{
|
||
deviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
}
|
||
else
|
||
{
|
||
deviceAlias = deviceAlias + "," + ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
//Get device tracking log
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("indevice_alias", deviceAlias);
|
||
dsTracking = NpgSqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings["Vecv_Tracking"].ToString(), CommandType.StoredProcedure, ConfigurationManager.AppSettings["vecv_log_sp_get_current_log_devices_user_wise"], nSqlParam);
|
||
|
||
List<TrackingModel> listTracking = new List<TrackingModel>();
|
||
listTracking = dsTracking.Tables[0].AsEnumerable().Select(s => new TrackingModel
|
||
{
|
||
LogId = s.Field<Int32>("_log_id"),
|
||
DeviceAlias = s.Field<string>("_device_alias"),
|
||
Latitude = s.Field<string>("_latitude"),
|
||
Longitude = s.Field<string>("_longitude"),
|
||
LogTime = s.Field<DateTime?>("_log_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_log_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_log_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
IsConnected = s.Field<string>("_device_status"),
|
||
Xcordinate = s.Field<string>("_x_coordinate"),
|
||
Ycordinate = s.Field<string>("_y_coordinate"),
|
||
Zcordinate = s.Field<string>("_z_coordinate"),
|
||
CreationTime = s.Field<DateTime?>("_creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
DeviceStatus = s.Field<string>("_device_status")
|
||
}).ToList();
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
objModel = new VanDealerListStateWise();
|
||
//get dealer details.
|
||
if (ds.Tables[0].Rows[i]["_type"].ToString().Trim().ToLower() == "dealer")
|
||
{
|
||
objModel.DealerVanId = ds.Tables[0].Rows[i]["dealer_van_id"].ToString();
|
||
objModel.DealerVanName = ds.Tables[0].Rows[i]["dealer_van_name"].ToString();
|
||
objModel.DealerVanLattitude = ds.Tables[0].Rows[i]["dealer_van_lattitude"].ToString();
|
||
objModel.DealerVanLongitude = ds.Tables[0].Rows[i]["dealer_van_longitude"].ToString();
|
||
objModel.DealerVanCity = ds.Tables[0].Rows[i]["dealer_van_city"].ToString();
|
||
objModel.DealerVanState = ds.Tables[0].Rows[i]["dealer_van_state"].ToString();
|
||
objModel.DeviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
objModel.NoOfAssignedTicket = Convert.ToInt64(ds.Tables[0].Rows[i]["no_of_assigned_ticket"].ToString());
|
||
objModel.Type = ds.Tables[0].Rows[i]["_type"].ToString();
|
||
objModel.RemainingTime = ds.Tables[0].Rows[i]["remaining_time"].ToString();
|
||
objModel.DeviceStatus = "False";
|
||
objModel.DealerOrVanContactNo = ds.Tables[0].Rows[i]["contact_number"].ToString();
|
||
objModel.DealerSCode = ds.Tables[0].Rows[i]["dealer_id"].ToString();
|
||
objModel.Fuel_type = ds.Tables[0].Rows[i]["fueltype"].ToString();
|
||
}
|
||
else
|
||
{
|
||
//get van details and bind with tracking log device alias wise.
|
||
objModel.DealerVanId = ds.Tables[0].Rows[i]["dealer_van_id"].ToString();
|
||
objModel.DealerVanName = ds.Tables[0].Rows[i]["dealer_van_name"].ToString();
|
||
|
||
objModel.DealerVanLattitude = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Latitude).FirstOrDefault() == null ?
|
||
ds.Tables[0].Rows[i]["dealer_van_lattitude"].ToString() :
|
||
listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Latitude).FirstOrDefault();
|
||
|
||
objModel.DealerVanLongitude = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Longitude).FirstOrDefault() == null ?
|
||
ds.Tables[0].Rows[i]["dealer_van_longitude"].ToString() :
|
||
listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Longitude).FirstOrDefault(); ;
|
||
|
||
objModel.DeviceStatus = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.DeviceStatus).FirstOrDefault() == null ?
|
||
"False" :
|
||
listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.DeviceStatus).FirstOrDefault()
|
||
;
|
||
|
||
objModel.DealerVanCity = ds.Tables[0].Rows[i]["dealer_van_city"].ToString();
|
||
objModel.DealerVanState = ds.Tables[0].Rows[i]["dealer_van_state"].ToString();
|
||
objModel.DeviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
objModel.NoOfAssignedTicket = Convert.ToInt64(ds.Tables[0].Rows[i]["no_of_assigned_ticket"].ToString());
|
||
objModel.Type = ds.Tables[0].Rows[i]["_type"].ToString();
|
||
objModel.RemainingTime = ds.Tables[0].Rows[i]["remaining_time"].ToString();
|
||
objModel.DealerSCode = ds.Tables[0].Rows[i]["dealer_id"].ToString();
|
||
objModel.DealerOrVanContactNo = ds.Tables[0].Rows[i]["contact_number"].ToString();
|
||
objModel.Fuel_type = ds.Tables[0].Rows[i]["fueltype"].ToString();
|
||
}
|
||
|
||
objListModel.Add(objModel);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
return objListModel;
|
||
}
|
||
return objListModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("GetVanDealerListStateWise", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
|
||
/*public List<VanDealerListStateWise> GetVanDealerListStateWise(VanDealerListStateWise model)
|
||
{
|
||
List<VanDealerListStateWise> objListModel = new List<VanDealerListStateWise>();
|
||
VanDealerListStateWise objModel = new VanDealerListStateWise();
|
||
|
||
try
|
||
{
|
||
objModel.Status = "1";
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
if (model.Limit.ToLower() == "electric")
|
||
{
|
||
model.Fuel_type = "electric";
|
||
}
|
||
else
|
||
{
|
||
model.Fuel_type = "diesel,cng";
|
||
}
|
||
model.Limit = "100";
|
||
DataSet ds = new DataSet();
|
||
DataSet dsTracking = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[4];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id ", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instate_name ", model.StateName);
|
||
nSqlParam[2] = new NpgsqlParameter("inlimit ", model.Limit);
|
||
nSqlParam[3] = new NpgsqlParameter("infueltype ", model.Fuel_type);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_dealer_list_state_wise_fuel_type"], nSqlParam);
|
||
string deviceAlias = "";
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i]["_type"].ToString().Trim().ToLower() == "van")
|
||
{
|
||
if (i == 0)
|
||
{
|
||
deviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
}
|
||
else
|
||
{
|
||
deviceAlias = deviceAlias + "," + ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
//Get device tracking log
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("indevice_alias", deviceAlias);
|
||
dsTracking = NpgSqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings["Vecv_Tracking"].ToString(), CommandType.StoredProcedure, ConfigurationManager.AppSettings["vecv_log_sp_get_current_log_devices_user_wise"], nSqlParam);
|
||
|
||
List<TrackingModel> listTracking = new List<TrackingModel>();
|
||
listTracking = dsTracking.Tables[0].AsEnumerable().Select(s => new TrackingModel
|
||
{
|
||
LogId = s.Field<Int32>("_log_id"),
|
||
DeviceAlias = s.Field<string>("_device_alias"),
|
||
Latitude = s.Field<string>("_latitude"),
|
||
Longitude = s.Field<string>("_longitude"),
|
||
LogTime = s.Field<DateTime?>("_log_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_log_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_log_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
IsConnected = s.Field<string>("_device_status"),
|
||
Xcordinate = s.Field<string>("_x_coordinate"),
|
||
Ycordinate = s.Field<string>("_y_coordinate"),
|
||
Zcordinate = s.Field<string>("_z_coordinate"),
|
||
CreationTime = s.Field<DateTime?>("_creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
DeviceStatus = s.Field<string>("_device_status")
|
||
}).ToList();
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
objModel = new VanDealerListStateWise();
|
||
//get dealer details.
|
||
if (ds.Tables[0].Rows[i]["_type"].ToString().Trim().ToLower() == "dealer")
|
||
{
|
||
objModel.DealerVanId = ds.Tables[0].Rows[i]["dealer_van_id"].ToString();
|
||
objModel.DealerVanName = ds.Tables[0].Rows[i]["dealer_van_name"].ToString();
|
||
objModel.DealerVanLattitude = ds.Tables[0].Rows[i]["dealer_van_lattitude"].ToString();
|
||
objModel.DealerVanLongitude = ds.Tables[0].Rows[i]["dealer_van_longitude"].ToString();
|
||
objModel.DealerVanCity = ds.Tables[0].Rows[i]["dealer_van_city"].ToString();
|
||
objModel.DealerVanState = ds.Tables[0].Rows[i]["dealer_van_state"].ToString();
|
||
objModel.DeviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
objModel.NoOfAssignedTicket = Convert.ToInt64(ds.Tables[0].Rows[i]["no_of_assigned_ticket"].ToString());
|
||
objModel.Type = ds.Tables[0].Rows[i]["_type"].ToString();
|
||
objModel.RemainingTime = ds.Tables[0].Rows[i]["remaining_time"].ToString();
|
||
objModel.DeviceStatus = "False";
|
||
objModel.DealerOrVanContactNo = ds.Tables[0].Rows[i]["contact_number"].ToString();
|
||
objModel.DealerSCode = ds.Tables[0].Rows[i]["dealer_id"].ToString();
|
||
objModel.Fuel_type = ds.Tables[0].Rows[i]["fueltype"].ToString();
|
||
}
|
||
else
|
||
{
|
||
//get van details and bind with tracking log device alias wise.
|
||
objModel.DealerVanId = ds.Tables[0].Rows[i]["dealer_van_id"].ToString();
|
||
objModel.DealerVanName = ds.Tables[0].Rows[i]["dealer_van_name"].ToString();
|
||
|
||
objModel.DealerVanLattitude = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Latitude).FirstOrDefault() == null ?
|
||
ds.Tables[0].Rows[i]["dealer_van_lattitude"].ToString() :
|
||
listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Latitude).FirstOrDefault();
|
||
|
||
objModel.DealerVanLongitude = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Longitude).FirstOrDefault() == null ?
|
||
ds.Tables[0].Rows[i]["dealer_van_longitude"].ToString() :
|
||
listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Longitude).FirstOrDefault(); ;
|
||
|
||
objModel.DeviceStatus = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.DeviceStatus).FirstOrDefault() == null ?
|
||
"False" :
|
||
listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.DeviceStatus).FirstOrDefault()
|
||
;
|
||
|
||
objModel.DealerVanCity = ds.Tables[0].Rows[i]["dealer_van_city"].ToString();
|
||
objModel.DealerVanState = ds.Tables[0].Rows[i]["dealer_van_state"].ToString();
|
||
objModel.DeviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
objModel.NoOfAssignedTicket = Convert.ToInt64(ds.Tables[0].Rows[i]["no_of_assigned_ticket"].ToString());
|
||
objModel.Type = ds.Tables[0].Rows[i]["_type"].ToString();
|
||
objModel.RemainingTime = ds.Tables[0].Rows[i]["remaining_time"].ToString();
|
||
objModel.DealerSCode = ds.Tables[0].Rows[i]["dealer_id"].ToString();
|
||
objModel.DealerOrVanContactNo = ds.Tables[0].Rows[i]["contact_number"].ToString();
|
||
objModel.Fuel_type = ds.Tables[0].Rows[i]["fueltype"].ToString();
|
||
}
|
||
|
||
objListModel.Add(objModel);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
return objListModel;
|
||
}
|
||
return objListModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("GetVanDealerListStateWise", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
*/
|
||
|
||
|
||
/// <summary>
|
||
/// To get van and dealer list.
|
||
/// </summary>
|
||
/// <param name="model">van and dealer info</param>
|
||
/// <returns>van and dealer list</returns>
|
||
public List<VanDealerListStateWise> GetVanDealerListStateWiseForKam(VanDealerListStateWise model)
|
||
{
|
||
List<VanDealerListStateWise> objListModel = new List<VanDealerListStateWise>();
|
||
VanDealerListStateWise objModel = new VanDealerListStateWise();
|
||
|
||
try
|
||
{
|
||
objModel.Status = "1";
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
DataSet dsTracking = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id ", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instate_name ", model.StateName);
|
||
nSqlParam[2] = new NpgsqlParameter("inlimit ", model.Limit);
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_dealer_list_state_wise"], nSqlParam);
|
||
string deviceAlias = "";
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i]["_type"].ToString().Trim().ToLower() == "van")
|
||
{
|
||
if (i == 0)
|
||
{
|
||
deviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
}
|
||
else
|
||
{
|
||
deviceAlias = deviceAlias + "," + ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
//Get device tracking log
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("indevice_alias", deviceAlias);
|
||
dsTracking = NpgSqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings["Vecv_Tracking"].ToString(), CommandType.StoredProcedure, ConfigurationManager.AppSettings["vecv_log_sp_get_current_log_devices_user_wise"], nSqlParam);
|
||
|
||
List<TrackingModel> listTracking = new List<TrackingModel>();
|
||
listTracking = dsTracking.Tables[0].AsEnumerable().Select(s => new TrackingModel
|
||
{
|
||
LogId = s.Field<Int32>("_log_id"),
|
||
DeviceAlias = s.Field<string>("_device_alias"),
|
||
Latitude = s.Field<string>("_latitude"),
|
||
Longitude = s.Field<string>("_longitude"),
|
||
LogTime = s.Field<DateTime?>("_log_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_log_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_log_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
IsConnected = s.Field<string>("_device_status"),
|
||
Xcordinate = s.Field<string>("_x_coordinate"),
|
||
Ycordinate = s.Field<string>("_y_coordinate"),
|
||
Zcordinate = s.Field<string>("_z_coordinate"),
|
||
CreationTime = s.Field<DateTime?>("_creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
DeviceStatus = s.Field<string>("_device_status")
|
||
}).ToList();
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
objModel = new VanDealerListStateWise();
|
||
//get dealer details.
|
||
if (ds.Tables[0].Rows[i]["_type"].ToString().Trim().ToLower() == "dealer")
|
||
{
|
||
objModel.DealerVanId = ds.Tables[0].Rows[i]["dealer_van_id"].ToString();
|
||
objModel.DealerVanName = ds.Tables[0].Rows[i]["dealer_van_name"].ToString();
|
||
objModel.DealerVanLattitude = ds.Tables[0].Rows[i]["dealer_van_lattitude"].ToString();
|
||
objModel.DealerVanLongitude = ds.Tables[0].Rows[i]["dealer_van_longitude"].ToString();
|
||
objModel.DealerVanCity = ds.Tables[0].Rows[i]["dealer_van_city"].ToString();
|
||
objModel.DealerVanState = ds.Tables[0].Rows[i]["dealer_van_state"].ToString();
|
||
objModel.DeviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
objModel.NoOfAssignedTicket = Convert.ToInt64(ds.Tables[0].Rows[i]["no_of_assigned_ticket"].ToString());
|
||
objModel.Type = ds.Tables[0].Rows[i]["_type"].ToString();
|
||
objModel.RemainingTime = ds.Tables[0].Rows[i]["remaining_time"].ToString();
|
||
objModel.DeviceStatus = "False";
|
||
}
|
||
else
|
||
{
|
||
//get van details and bind with tracking log device alias wise.
|
||
objModel.DealerVanId = ds.Tables[0].Rows[i]["dealer_van_id"].ToString();
|
||
objModel.DealerVanName = ds.Tables[0].Rows[i]["dealer_van_name"].ToString();
|
||
|
||
objModel.DealerVanLattitude = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Latitude).FirstOrDefault() == null ?
|
||
ds.Tables[0].Rows[i]["dealer_van_lattitude"].ToString() :
|
||
listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Latitude).FirstOrDefault();
|
||
|
||
objModel.DealerVanLongitude = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Longitude).FirstOrDefault() == null ?
|
||
ds.Tables[0].Rows[i]["dealer_van_longitude"].ToString() :
|
||
listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Longitude).FirstOrDefault(); ;
|
||
|
||
objModel.DeviceStatus = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.DeviceStatus).FirstOrDefault() == null ?
|
||
"False" :
|
||
listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.DeviceStatus).FirstOrDefault()
|
||
;
|
||
|
||
objModel.DealerVanCity = ds.Tables[0].Rows[i]["dealer_van_city"].ToString();
|
||
objModel.DealerVanState = ds.Tables[0].Rows[i]["dealer_van_state"].ToString();
|
||
objModel.DeviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
objModel.NoOfAssignedTicket = Convert.ToInt64(ds.Tables[0].Rows[i]["no_of_assigned_ticket"].ToString());
|
||
objModel.Type = ds.Tables[0].Rows[i]["_type"].ToString();
|
||
objModel.RemainingTime = ds.Tables[0].Rows[i]["remaining_time"].ToString();
|
||
}
|
||
|
||
objListModel.Add(objModel);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
return objListModel;
|
||
}
|
||
return objListModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("GetVanDealerListStateWiseForKam", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
//// <summary>
|
||
/// This method is used to Insert Open Ticket
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>response SenderId which is generated by GCM and status 1 or 0</returns>
|
||
public InsertOpenTicket InsertOpenTicket(InsertOpenTicket model)
|
||
{
|
||
InsertOpenTicket objModel = new InsertOpenTicket();
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
SendNotificationModel objGcmModel = new SendNotificationModel();
|
||
if (!string.IsNullOrEmpty(model.SuggestionComment))
|
||
{
|
||
model.SuggestionComment = model.SuggestionComment.Replace("/", "");
|
||
model.SuggestionComment = model.SuggestionComment.Replace(@"\", "");
|
||
|
||
}
|
||
|
||
try
|
||
{
|
||
objModel.Status = "1";
|
||
DataSet ds = new DataSet();
|
||
DataSet dsGcm = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
if (model.VehicleTagging.ToLower() == "eps" || model.VehicleTagging.ToLower() == "eps ev")
|
||
{
|
||
if (model.VehicleRegistrationNumber == null) { }
|
||
else
|
||
{
|
||
if (model.VehicleRegistrationNumber.ToLower() == "null" || model.VehicleRegistrationNumber == null)
|
||
{
|
||
model.VehicleRegistrationNumber = null;
|
||
}
|
||
}
|
||
}
|
||
//CustomerModel objCustomerModel = new CustomerModel();
|
||
//calling dbm api to get Vehicle Warranty, AMC, Emission norms and Sales date
|
||
//model = objGlobalRepository.checkRegistartionNoandGetVehicleDetail(model);
|
||
|
||
//calling dbm api to get Kam Manager
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[48];
|
||
nSqlParam[0] = new NpgsqlParameter("indescription", model.Description);
|
||
nSqlParam[1] = new NpgsqlParameter("inassigned_to", model.AssignedTo);
|
||
nSqlParam[2] = new NpgsqlParameter("inreported_via", model.ReportedVia);
|
||
nSqlParam[3] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
nSqlParam[4] = new NpgsqlParameter("inpriority", model.Priority);
|
||
nSqlParam[5] = new NpgsqlParameter("incustomer_score", model.CustomerScore);
|
||
nSqlParam[6] = new NpgsqlParameter("increated_by", model.CreatedBy);
|
||
nSqlParam[7] = new NpgsqlParameter("increation_time ", model.CreationTime != null ? Convert.ToDateTime(model.CreationTime).AddMinutes(-model.UtcMinute) : model.CreationTime);
|
||
nSqlParam[8] = new NpgsqlParameter("inlast_modified_by", model.LastModifiedBy);
|
||
nSqlParam[9] = new NpgsqlParameter("inlast_modified_time", model.LastModifiedTime != null ? Convert.ToDateTime(model.LastModifiedTime).AddMinutes(-model.UtcMinute) : model.LastModifiedTime);
|
||
nSqlParam[10] = new NpgsqlParameter("inbreakdown_location", model.BreakdownLocation);
|
||
nSqlParam[11] = new NpgsqlParameter("inbreakdown_longitude", model.BreakdownLongitude);
|
||
nSqlParam[12] = new NpgsqlParameter("inbreakdown_lattitude", model.BreakdownLattitude);
|
||
nSqlParam[13] = new NpgsqlParameter("inassigned_to_user_id", model.AssignedToUserId);
|
||
nSqlParam[14] = new NpgsqlParameter("inassigned_to_user_lattitude", model.AssignedToUserLattitude);
|
||
nSqlParam[15] = new NpgsqlParameter("inassigned_to_user_longitude", model.AssignedToUserLongitude);
|
||
nSqlParam[16] = new NpgsqlParameter("inisdeclined", model.IsDeclined);
|
||
nSqlParam[17] = new NpgsqlParameter("inestimated_time_for_job_completion", model.EstimatedTimeForJobCompletion);
|
||
nSqlParam[18] = new NpgsqlParameter("intotal_ticket_lifecycle_time_sla", model.TotalTicketLifecycleTimeSla);
|
||
nSqlParam[19] = new NpgsqlParameter("inestimated_time_for_job_completion_submit_time", model.EstimatedTimeForJobCompletionSubmitTime != null ? Convert.ToDateTime(model.EstimatedTimeForJobCompletionSubmitTime).AddMinutes(-model.UtcMinute) : model.EstimatedTimeForJobCompletionSubmitTime);
|
||
nSqlParam[20] = new NpgsqlParameter("invehicle_registration_number", model.VehicleRegistrationNumber);
|
||
nSqlParam[21] = new NpgsqlParameter("inbreakdown_location_landmark", model.BreakdownLocationLandmark);
|
||
nSqlParam[22] = new NpgsqlParameter("inroute_id", model.RouteId);
|
||
nSqlParam[23] = new NpgsqlParameter("incustomer_contact_no", model.CustomerContactNo);
|
||
nSqlParam[24] = new NpgsqlParameter("inrepair_cost", model.RepairCost);
|
||
nSqlParam[25] = new NpgsqlParameter("indefault_sla_time", model.DefaultSlaTime);
|
||
nSqlParam[26] = new NpgsqlParameter("indefault_col_1", model.JobCompleteResponseTime);
|
||
nSqlParam[27] = new NpgsqlParameter("indefault_col_2", model.DefaultCol2);
|
||
nSqlParam[28] = new NpgsqlParameter("indefault_col_3", model.DefaultCol3);
|
||
nSqlParam[29] = new NpgsqlParameter("instate_name", model.StateName);
|
||
nSqlParam[30] = new NpgsqlParameter("incity_name", model.CityName);
|
||
nSqlParam[31] = new NpgsqlParameter("incaller_language", model.CallerLanguage);
|
||
nSqlParam[32] = new NpgsqlParameter("inwarranty", model.Warranty);
|
||
nSqlParam[33] = new NpgsqlParameter("intoll_free_no_source", model.TollFreeeNoSource);
|
||
nSqlParam[34] = new NpgsqlParameter("inestimate_distance", model.EstimateDistance);
|
||
nSqlParam[35] = new NpgsqlParameter("invehicle_tagging", model.VehicleTagging);
|
||
nSqlParam[36] = new NpgsqlParameter("inkm_covered", model.KmCovered);
|
||
nSqlParam[37] = new NpgsqlParameter("inother_remarks", model.OtherRemarks);
|
||
//added on 26/11/2020
|
||
nSqlParam[38] = new NpgsqlParameter("invehicle_warranty", model.vehicle_warranty != null ? model.vehicle_warranty : "");
|
||
nSqlParam[39] = new NpgsqlParameter("invehicle_amc", model.vehicle_amc != null ? model.vehicle_amc : "");
|
||
nSqlParam[40] = new NpgsqlParameter("invehicle_emission_norms", model.vehicle_emission_norms != null ? model.vehicle_emission_norms : "");
|
||
nSqlParam[41] = new NpgsqlParameter("invehicle_sales_date", model.vehicle_sales_date != null ? model.vehicle_sales_date : "");
|
||
|
||
//added on 2/1/2021
|
||
//nSqlParam[42] = new NpgsqlParameter("inkam_champ_id", model.KamChampId != null ? model.KamChampId : "");
|
||
//nSqlParam[43] = new NpgsqlParameter("inkam_champ_name", model.KamChampName != null ? model.KamChampName : "");
|
||
// nSqlParam[44] = new NpgsqlParameter("inkam_champ_tel", model.KamChampTel != null ? model.KamChampTel : "");
|
||
//nSqlParam[45] = new NpgsqlParameter("inkam_champ_email", model.KamChampEmail != null ? model.KamChampEmail : "");
|
||
|
||
nSqlParam[42] = new NpgsqlParameter("inkam_champ_id", "");
|
||
nSqlParam[43] = new NpgsqlParameter("inkam_champ_name", "");
|
||
nSqlParam[44] = new NpgsqlParameter("inkam_champ_tel", "");
|
||
nSqlParam[45] = new NpgsqlParameter("inkam_champ_email", "");
|
||
nSqlParam[46] = new NpgsqlParameter("positionDateTime", model.positionDateTime);
|
||
//Added by Mayuri On 29 July 2025
|
||
nSqlParam[47] = new NpgsqlParameter("ineps_prod_type", model.EPS_prod_type);
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_open_ticket"], nSqlParam);
|
||
|
||
// if (model.AssignedTo == "van")
|
||
//{
|
||
// if (model.TicketStatus == 1)
|
||
// {
|
||
// UdanPushData.SendDataToSAP(model.VehicleRegistrationNumber, model.TicketStatus, "");
|
||
// }
|
||
//}
|
||
|
||
|
||
string ticketIdAlias = null; // taking variable to store ticket Id alias
|
||
|
||
int mobileOtp = 0;
|
||
// send GCM msg to device.
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString(); // getting ticket id alias
|
||
objModel.TicketId = ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
|
||
if (!String.IsNullOrWhiteSpace(ticketIdAlias))
|
||
{
|
||
|
||
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", ds.Tables[0].Rows[0]["_ticket_id"]);
|
||
nSqlParam1[1] = new NpgsqlParameter("in_van_id", model.AssignedToUserId);
|
||
//Get Device GCm id for ticket.
|
||
dsGcm = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_create_ticket_otp"], nSqlParam1);
|
||
|
||
mobileOtp = Convert.ToInt32(dsGcm.Tables[0].Rows[0]["sp_create_ticket_otp"]);
|
||
objModel.Message = mobileOtp.ToString();
|
||
DataSet dsReCreateOtp = new DataSet();
|
||
|
||
//re-create a otp when otp is empty or zero
|
||
//added on 01-12-2021
|
||
if (mobileOtp == 0)
|
||
{
|
||
NpgsqlParameter[] nSqlParam3 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", ds.Tables[0].Rows[0]["_ticket_id"]);
|
||
nSqlParam1[1] = new NpgsqlParameter("in_van_id", model.AssignedToUserId);
|
||
//Get Device GCm id for ticket.
|
||
dsReCreateOtp = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_create_ticket_otp"], nSqlParam3);
|
||
objModel.Message = dsReCreateOtp.ToString();
|
||
}
|
||
|
||
}
|
||
//objModel.TicketId = objModel.TicketId + ',' + objModel.Message;
|
||
//Mobile OTP CR
|
||
#region Sending to KAM when ticket is Assigned to Dealer and Accepted
|
||
|
||
// checking whether this ticket creation belongs to KAM user or not
|
||
/* NpgsqlParameter[] nSqlParam01 = new NpgsqlParameter[1];
|
||
nSqlParam01[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
DataSet ds_kam_ticket_details = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_kam_ticket_or_not"], nSqlParam01);
|
||
|
||
|
||
if (ds.Tables[0].Rows[0]["_ticket_id"] != null && ds.Tables[0].Rows[0]["_ticket_id"].ToString() != "")
|
||
{
|
||
objModel.TicketId = ds.Tables[0].Rows[0]["_ticket_id"].ToString();
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[1];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", objModel.TicketId);
|
||
//Get Device GCm id for ticket.
|
||
dsGcm = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_service_engg_device_gcm_id"], nSqlParam1);
|
||
|
||
//if (dsGcm.Tables[0].Rows.Count > 0)
|
||
//{
|
||
// if (dsGcm.Tables[0].Rows[0]["sp_get_service_engg_device_gcm_id"] != null && dsGcm.Tables[0].Rows[0]["sp_get_service_engg_device_gcm_id"].ToString() != "")
|
||
// {
|
||
// objGcmModel.DeviceGcmId = dsGcm.Tables[0].Rows[0]["sp_get_service_engg_device_gcm_id"].ToString();
|
||
// objGcmModel.NotificationMessage = ConfigurationManager.AppSettings["MessageInsert"];
|
||
// objGcmModel.TicketId = objModel.TicketId;
|
||
// objGcmModel = objGlobalRepository.GcmSendNotification(objGcmModel);
|
||
// objModel.SenderId = objGcmModel.SenderId;
|
||
// }
|
||
//}
|
||
if (dsGcm.Tables[0].Rows.Count > 0)
|
||
{
|
||
// GCM id
|
||
if (Convert.ToInt32(dsGcm.Tables[0].Rows[0]["_push_notification_bit"]) == 0)
|
||
{
|
||
//objGcmModel.DeviceGcmId = dsGcm.Tables[0].Rows[0]["_device_id"].ToString();
|
||
//objGcmModel.NotificationMessage = ConfigurationManager.AppSettings["MessageInsert"];
|
||
//objGcmModel.TicketId = objModel.TicketId;
|
||
//objGcmModel = objGlobalRepository.GcmSendNotification(objGcmModel);
|
||
//objModel.SenderId = objGcmModel.SenderId;
|
||
}
|
||
//FCM ID
|
||
//else
|
||
//{
|
||
// objGcmModel.DeviceGcmId = dsGcm.Tables[0].Rows[0]["_device_id"].ToString();
|
||
// objGcmModel.NotificationMessage = ConfigurationManager.AppSettings["MessageInsert"];
|
||
// objGcmModel.TicketId = objModel.TicketId;
|
||
// objGcmModel = objGlobalRepository.FcmSendNotification(objGcmModel);
|
||
// objModel.SenderId = objGcmModel.SenderId;
|
||
//}
|
||
}
|
||
}
|
||
// if this ticket belongs to KAM
|
||
if (ds_kam_ticket_details.Tables[0].Rows.Count > 0)
|
||
{
|
||
//-----------Sending GCM push to all KAM users-------------------------
|
||
NpgsqlParameter[] nSqlParam11 = new NpgsqlParameter[1];
|
||
nSqlParam11[0] = new NpgsqlParameter("inkam_id", ds_kam_ticket_details.Tables[0].Rows[0]["_kam_id"].ToString());
|
||
DataSet dsGcm1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_kam_user_devices_details_open_tickets"], nSqlParam11);
|
||
|
||
if (dsGcm1.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (DataRow dr in dsGcm1.Tables[0].Rows)
|
||
{
|
||
|
||
string notificationMessageFormat = ConfigurationManager.AppSettings["NotificationMessageAcceptKamDummyOrRealTicketByDealer"].ToString();
|
||
string notificationMessage = string.Format(notificationMessageFormat, ticketIdAlias);
|
||
|
||
SendNotificationModel objGcmModel1 = new SendNotificationModel();
|
||
objGcmModel1.DeviceGcmId = dr["_gcm_id"].ToString();
|
||
objGcmModel1.TicketId = ds_kam_ticket_details.Tables[0].Rows[0]["_kam_id"].ToString();
|
||
objGcmModel1.NotificationCode = ConfigurationManager.AppSettings["MessageAcceptKamTicketByDealer"].ToString();
|
||
objGcmModel1.NotificationMessage = notificationMessage;
|
||
if (Convert.ToInt32(dr["_push_notification_bit"]) == 0)
|
||
{
|
||
objGcmModel1 = objGlobalRepository.GcmSendNotificationForKam(objGcmModel1);
|
||
objModel.Status = objGcmModel1.Status;
|
||
}
|
||
else
|
||
{
|
||
objGcmModel1 = objGlobalRepository.FcmSendNotificationForKam(objGcmModel1);
|
||
objModel.Status = objGcmModel1.Status;
|
||
}
|
||
//objModel.SenderId = objGcmModel.SenderId;
|
||
}
|
||
}
|
||
//----------------------------------------------------------------------
|
||
}
|
||
*/
|
||
|
||
#endregion
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
|
||
return objModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("InsertOpenTicket", Ex.Message, path, errorlogtf);
|
||
return objModel;
|
||
}
|
||
}
|
||
|
||
|
||
// change by priya for cogent api
|
||
/* public void InsertTicketDetailOnCreationInVECV(InsertOpenTicket model, string TicketIdAlias, string ticketId, string dealerid)
|
||
{
|
||
try
|
||
{
|
||
if (System.Configuration.ConfigurationManager.AppSettings["InsertTicketDetailOnCreationInVECVBlocked"] != "true")
|
||
{
|
||
DataSet ds3 = new DataSet();
|
||
DataSet ds1 = new DataSet();
|
||
DataSet ds = new DataSet();
|
||
if (model.VehicleTagging.ToLower() == "eps")
|
||
{
|
||
NpgsqlParameter[] nSqlParam2_ticket_info = new NpgsqlParameter[4];
|
||
nSqlParam2_ticket_info[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam2_ticket_info[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam2_ticket_info[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
nSqlParam2_ticket_info[3] = new NpgsqlParameter("inEngineNumber", null);
|
||
try
|
||
{
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details_EPS"], nSqlParam2_ticket_info);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository InsertTicketDetailOnCreationInVECV usp_get_customer_open_ticket_details" + ticketId, Ex.Message, path, errorlogtf);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", ticketId);
|
||
|
||
try
|
||
{
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository InsertTicketDetailOnCreationInVECV usp_get_customer_open_ticket_details" + ticketId, Ex.Message, path, errorlogtf);
|
||
}
|
||
}
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam3_ticket_info = new NpgsqlParameter[1];
|
||
nSqlParam3_ticket_info[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds3 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam3_ticket_info);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository InsertTicketDetailOnCreationInVECV usp_get_customer_open_ticket_full_details_ticket_wise" + ticketId, Ex.Message, path, errorlogtf);
|
||
}
|
||
|
||
DataSet dslang = new DataSet();
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam3_Lang_info = new NpgsqlParameter[1];
|
||
nSqlParam3_Lang_info[0] = new NpgsqlParameter("in_dealer_code", dealerid);
|
||
dslang = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_lang_by_dealerId"], nSqlParam3_Lang_info);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository InsertTicketDetailOnCreationInVECV usp_lang_by_dealerId" + ticketId, Ex.Message, path, errorlogtf);
|
||
}
|
||
string langid = "";
|
||
if (dslang.Tables[0].Rows.Count > 0)
|
||
{
|
||
langid = Convert.ToString(dslang.Tables[0].Rows[0]["sp_lang_by_dealerId"]);
|
||
|
||
}
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParamopen = new NpgsqlParameter[1];
|
||
nSqlParamopen[0] = new NpgsqlParameter("inticketid ", model.TicketId);
|
||
string productvariant = "";
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_ticket_by_ticketid"], nSqlParamopen);
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
//assigned_to_user_id = dsOpen.Tables[0].Rows[0]["_assigned_to_user_id"].ToString(); // getting ticket id alias
|
||
model.VehicleTagging = dsOpen.Tables[0].Rows[0]["_vehicle_tagging"].ToString(); // getting ticket id alias
|
||
productvariant = dsOpen.Tables[0].Rows[0]["_fuel_type"].ToString(); // getting ticket id alias
|
||
}
|
||
string InsertTicketDetailOnCreationInVECV = System.Web.Configuration.WebConfigurationManager.AppSettings["InsertTicketDetailOnCreationInVECV"].ToString();
|
||
List<
|
||
|
||
|
||
|
||
Level> oEscalationLevelList = new List<EscalationLevel>();
|
||
// getting escalation level from DB
|
||
DataSet escalationLevelDataset = new DataSet();
|
||
DataSet escalationLevelDatasetsite = new DataSet();
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("in_dealer_id", dealerid);
|
||
nSqlParam1[1] = new NpgsqlParameter("in_vehicle_type", model.VehicleTagging);
|
||
escalationLevelDataset = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_escalation_level_by_dealer_id_vehicle_type_cogent"], nSqlParam1);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("InsertTicketDetailOnCreationInVECV usp_get_escalation_level_by_dealer_id_vehicle_type_cogent" + ticketId, Ex.Message, path, errorlogtf);
|
||
}
|
||
string dealerName = "";
|
||
string dealerNumber = "";
|
||
string dealerCode = "";
|
||
string customerName = "";
|
||
string customerNumber = "";
|
||
string WmName = "";
|
||
string WmNumber1 = "";
|
||
string WmNumber2 = "";
|
||
string CSMNumber = "";
|
||
string siteInhargeNumber1 = "";
|
||
string siteInhargeNumber2 = "";
|
||
string siteInhargeName = "";
|
||
if (ds1.Tables.Count > 0)
|
||
{
|
||
if (ds1.Tables[0].Rows.Count > 0)
|
||
{
|
||
dealerName = Convert.ToString(ds1.Tables[0].Rows[0]["_dealer_name"].ToString());
|
||
if (ds3.Tables[0].Rows.Count > 0)
|
||
{
|
||
dealerNumber = Convert.ToString(ds3.Tables[0].Rows[0]["contact_number"].ToString());
|
||
}
|
||
else
|
||
{
|
||
dealerNumber = Convert.ToString(ds1.Tables[0].Rows[0]["_dealer_contact_number"].ToString());
|
||
|
||
}
|
||
dealerCode = Convert.ToString(ds1.Tables[0].Rows[0]["_dealer_code"].ToString());
|
||
customerName = Convert.ToString(ds1.Tables[0].Rows[0]["_customer_name"].ToString());
|
||
customerNumber = Convert.ToString(ds1.Tables[0].Rows[0]["_customer_contact_number"].ToString());
|
||
}
|
||
}
|
||
|
||
|
||
// binding escalation level to model list
|
||
if (escalationLevelDataset.Tables.Count > 0)
|
||
{
|
||
if (escalationLevelDataset.Tables[0].Rows.Count > 0)
|
||
{
|
||
WmNumber1 = escalationLevelDataset.Tables[0].Rows[0]["phones"].ToString();
|
||
string[] values = WmNumber1.Split(',').Select(sValue => sValue.Trim()).ToArray();
|
||
WmName = escalationLevelDataset.Tables[0].Rows[0]["manager_name"].ToString();
|
||
int cout = values.Length;
|
||
if (cout == 0)
|
||
{
|
||
|
||
}
|
||
else if (cout == 1)
|
||
{
|
||
WmNumber1 = values[0].ToString();
|
||
}
|
||
else if (cout == 2)
|
||
{
|
||
WmNumber1 = values[0].ToString();
|
||
WmNumber2 = values[1].ToString();
|
||
}
|
||
else if (cout == 3)
|
||
{
|
||
WmNumber1 = values[0].ToString();
|
||
WmNumber2 = values[1].ToString();
|
||
CSMNumber = values[2].ToString();
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
NpgsqlParameter[] nSqlParamsite = new NpgsqlParameter[3];
|
||
try
|
||
{
|
||
nSqlParamsite[0] = new NpgsqlParameter("in_dealer_id", dealerid);
|
||
nSqlParamsite[1] = new NpgsqlParameter("in_vehicle_type", model.VehicleTagging);
|
||
nSqlParamsite[2] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
escalationLevelDatasetsite = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_escalation_level_cogent_site_incharge"], nSqlParamsite);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("InsertTicketDetailOnCreationInVECV usp_get_escalation_level_cogent_site_incharge" + ticketId, Ex.Message, path, errorlogtf);
|
||
}
|
||
if (escalationLevelDatasetsite.Tables.Count > 0)
|
||
{
|
||
if (escalationLevelDatasetsite.Tables[0].Rows.Count > 0)
|
||
{
|
||
siteInhargeNumber1 = escalationLevelDatasetsite.Tables[0].Rows[0]["phones"].ToString();
|
||
string[] values = siteInhargeNumber1.Split(',').Select(sValue => sValue.Trim()).ToArray();
|
||
siteInhargeName = escalationLevelDatasetsite.Tables[0].Rows[0]["manager_name"].ToString();
|
||
int cout = values.Length;
|
||
if (cout == 0)
|
||
{
|
||
|
||
}
|
||
else if (cout == 1)
|
||
{
|
||
siteInhargeNumber1 = values[0].ToString();
|
||
}
|
||
else if (cout == 2)
|
||
{
|
||
siteInhargeNumber1 = values[0].ToString();
|
||
siteInhargeNumber2 = values[1].ToString();
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
InsertTicketDetailOnCreationInVECV = string.Format(InsertTicketDetailOnCreationInVECV, customerName, customerNumber,
|
||
model.VehicleTagging, dealerNumber, dealerName, TicketIdAlias, WmName, WmNumber1, WmNumber2, CSMNumber,
|
||
dealerCode, model.VehicleRegistrationNumber, langid, siteInhargeNumber1, siteInhargeNumber2, productvariant);
|
||
objLog.AddLogFile("Cogent API url data send", InsertTicketDetailOnCreationInVECV, path, errorlogtf);
|
||
ServicePointManager.Expect100Continue = true;
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
||
| SecurityProtocolType.Tls11
|
||
| SecurityProtocolType.Tls12
|
||
| SecurityProtocolType.Ssl3
|
||
| (SecurityProtocolType)3072;
|
||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(InsertTicketDetailOnCreationInVECV);
|
||
request.Method = "POST";
|
||
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
||
|
||
StreamReader sr = new StreamReader(response.GetResponseStream());
|
||
string source = sr.ReadToEnd();
|
||
objLog.AddLogFile("Cogent success response preclosure", source, path, TicketIdAlias);
|
||
|
||
sr.Close();
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository InsertTicketDetailOnCreationInVECV", Ex.Message, path, errorlogtf);
|
||
}
|
||
|
||
}*/
|
||
|
||
|
||
|
||
public void InsertTicketDetailOnCreationInVECV(InsertOpenTicket model, string TicketIdAlias, string ticketId, string dealerid)
|
||
{
|
||
try
|
||
{
|
||
if (System.Configuration.ConfigurationManager.AppSettings["InsertTicketDetailOnCreationInVECVBlocked"] != "true")
|
||
{
|
||
DataSet ds3 = new DataSet();
|
||
DataSet ds1 = new DataSet();
|
||
DataSet ds = new DataSet();
|
||
if (model.VehicleTagging.ToLower() == "eps" || model.VehicleTagging.ToLower() == "eps ev")
|
||
{
|
||
NpgsqlParameter[] nSqlParam2_ticket_info = new NpgsqlParameter[4];
|
||
nSqlParam2_ticket_info[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam2_ticket_info[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam2_ticket_info[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
nSqlParam2_ticket_info[3] = new NpgsqlParameter("inEngineNumber", null);
|
||
try
|
||
{
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details_EPS"], nSqlParam2_ticket_info);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository InsertTicketDetailOnCreationInVECV usp_get_customer_open_ticket_details" + ticketId, Ex.Message, path, errorlogtf);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", ticketId);
|
||
|
||
try
|
||
{
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository InsertTicketDetailOnCreationInVECV usp_get_customer_open_ticket_details" + ticketId, Ex.Message, path, errorlogtf);
|
||
}
|
||
}
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam3_ticket_info = new NpgsqlParameter[1];
|
||
nSqlParam3_ticket_info[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds3 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam3_ticket_info);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository InsertTicketDetailOnCreationInVECV usp_get_customer_open_ticket_full_details_ticket_wise" + ticketId, Ex.Message, path, errorlogtf);
|
||
}
|
||
|
||
DataSet dslang = new DataSet();
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam3_Lang_info = new NpgsqlParameter[1];
|
||
nSqlParam3_Lang_info[0] = new NpgsqlParameter("in_dealer_code", dealerid);
|
||
dslang = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_lang_by_dealerId"], nSqlParam3_Lang_info);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository InsertTicketDetailOnCreationInVECV usp_lang_by_dealerId" + ticketId, Ex.Message, path, errorlogtf);
|
||
}
|
||
string langid = "";
|
||
if (dslang.Tables[0].Rows.Count > 0)
|
||
{
|
||
langid = Convert.ToString(dslang.Tables[0].Rows[0]["sp_lang_by_dealerId"]);
|
||
|
||
}
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParamopen = new NpgsqlParameter[1];
|
||
nSqlParamopen[0] = new NpgsqlParameter("inticketid ", model.TicketId);
|
||
string productvariant = "";
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_ticket_by_ticketid"], nSqlParamopen);
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
//assigned_to_user_id = dsOpen.Tables[0].Rows[0]["_assigned_to_user_id"].ToString(); // getting ticket id alias
|
||
model.VehicleTagging = dsOpen.Tables[0].Rows[0]["_vehicle_tagging"].ToString(); // getting ticket id alias
|
||
productvariant = dsOpen.Tables[0].Rows[0]["_fuel_type"].ToString(); // getting ticket id alias
|
||
}
|
||
string InsertTicketDetailOnCreationInVECV = System.Web.Configuration.WebConfigurationManager.AppSettings["InsertTicketDetailOnCreationInVECV"].ToString();
|
||
List<EscalationLevel> oEscalationLevelList = new List<EscalationLevel>();
|
||
// getting escalation level from DB
|
||
DataSet escalationLevelDataset = new DataSet();
|
||
DataSet escalationLevelDatasetsite = new DataSet();
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("in_dealer_id", dealerid);
|
||
nSqlParam1[1] = new NpgsqlParameter("in_vehicle_type", model.VehicleTagging);
|
||
escalationLevelDataset = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_escalation_level_by_dealer_id_vehicle_type_cogent"], nSqlParam1);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("InsertTicketDetailOnCreationInVECV usp_get_escalation_level_by_dealer_id_vehicle_type_cogent" + ticketId, Ex.Message, path, errorlogtf);
|
||
}
|
||
string dealerName = "";
|
||
string dealerNumber = "";
|
||
string dealerCode = "";
|
||
string customerName = "";
|
||
string customerNumber = "";
|
||
string WmName = "";
|
||
string WmNumber1 = "";
|
||
string WmNumber2 = "";
|
||
string CSMNumber = "";
|
||
string siteInhargeNumber1 = "";
|
||
string siteInhargeNumber2 = "";
|
||
string siteInhargeName = "";
|
||
if (ds1.Tables.Count > 0)
|
||
{
|
||
if (ds1.Tables[0].Rows.Count > 0)
|
||
{
|
||
dealerName = Convert.ToString(ds1.Tables[0].Rows[0]["_dealer_name"].ToString());
|
||
if (ds3.Tables[0].Rows.Count > 0)
|
||
{
|
||
dealerNumber = Convert.ToString(ds3.Tables[0].Rows[0]["contact_number"].ToString());
|
||
}
|
||
else
|
||
{
|
||
dealerNumber = Convert.ToString(ds1.Tables[0].Rows[0]["_dealer_contact_number"].ToString());
|
||
|
||
}
|
||
dealerCode = Convert.ToString(ds1.Tables[0].Rows[0]["_dealer_code"].ToString());
|
||
customerName = Convert.ToString(ds1.Tables[0].Rows[0]["_customer_name"].ToString());
|
||
customerNumber = Convert.ToString(ds1.Tables[0].Rows[0]["_customer_contact_number"].ToString());
|
||
}
|
||
}
|
||
|
||
|
||
// binding escalation level to model list
|
||
if (escalationLevelDataset.Tables.Count > 0)
|
||
{
|
||
if (escalationLevelDataset.Tables[0].Rows.Count > 0)
|
||
{
|
||
WmNumber1 = escalationLevelDataset.Tables[0].Rows[0]["phones"].ToString();
|
||
string[] values = WmNumber1.Split(',').Select(sValue => sValue.Trim()).ToArray();
|
||
WmName = escalationLevelDataset.Tables[0].Rows[0]["manager_name"].ToString();
|
||
int cout = values.Length;
|
||
if (cout == 0)
|
||
{
|
||
|
||
}
|
||
else if (cout == 1)
|
||
{
|
||
WmNumber1 = values[0].ToString();
|
||
}
|
||
else if (cout == 2)
|
||
{
|
||
WmNumber1 = values[0].ToString();
|
||
WmNumber2 = values[1].ToString();
|
||
}
|
||
else if (cout == 3)
|
||
{
|
||
WmNumber1 = values[0].ToString();
|
||
WmNumber2 = values[1].ToString();
|
||
CSMNumber = values[2].ToString();
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
NpgsqlParameter[] nSqlParamsite = new NpgsqlParameter[3];
|
||
try
|
||
{
|
||
nSqlParamsite[0] = new NpgsqlParameter("in_dealer_id", dealerid);
|
||
nSqlParamsite[1] = new NpgsqlParameter("in_vehicle_type", model.VehicleTagging);
|
||
nSqlParamsite[2] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
escalationLevelDatasetsite = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_escalation_level_cogent_site_incharge"], nSqlParamsite);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("InsertTicketDetailOnCreationInVECV usp_get_escalation_level_cogent_site_incharge" + ticketId, Ex.Message, path, errorlogtf);
|
||
}
|
||
if (escalationLevelDatasetsite.Tables.Count > 0)
|
||
{
|
||
if (escalationLevelDatasetsite.Tables[0].Rows.Count > 0)
|
||
{
|
||
siteInhargeNumber1 = escalationLevelDatasetsite.Tables[0].Rows[0]["phones"].ToString();
|
||
string[] values = siteInhargeNumber1.Split(',').Select(sValue => sValue.Trim()).ToArray();
|
||
siteInhargeName = escalationLevelDatasetsite.Tables[0].Rows[0]["manager_name"].ToString();
|
||
int cout = values.Length;
|
||
if (cout == 0)
|
||
{
|
||
|
||
}
|
||
else if (cout == 1)
|
||
{
|
||
siteInhargeNumber1 = values[0].ToString();
|
||
}
|
||
else if (cout == 2)
|
||
{
|
||
siteInhargeNumber1 = values[0].ToString();
|
||
siteInhargeNumber2 = values[1].ToString();
|
||
}
|
||
}
|
||
}
|
||
|
||
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
||
InsertTicketDetailOnCreationInVECV = string.Format(InsertTicketDetailOnCreationInVECV, customerName, customerNumber,
|
||
model.VehicleTagging, dealerNumber, dealerName, TicketIdAlias, WmName, WmNumber1, WmNumber2, CSMNumber,
|
||
dealerCode, model.VehicleRegistrationNumber, langid, siteInhargeNumber1, siteInhargeNumber2, productvariant);
|
||
objLog.AddLogFile("Cogent API url data send", InsertTicketDetailOnCreationInVECV, path, errorlogtf);
|
||
ServicePointManager.Expect100Continue = true;
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
||
| SecurityProtocolType.Tls11
|
||
| SecurityProtocolType.Tls12
|
||
| SecurityProtocolType.Ssl3
|
||
| (SecurityProtocolType)3072;
|
||
try
|
||
{
|
||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(InsertTicketDetailOnCreationInVECV);
|
||
request.Method = "POST";
|
||
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
||
if (response.StatusCode == HttpStatusCode.OK)
|
||
{
|
||
StreamReader sr = new StreamReader(response.GetResponseStream());
|
||
string source = sr.ReadToEnd();
|
||
objLog.AddLogFile("Cogent success response preclosure", source, path, TicketIdAlias);
|
||
|
||
sr.Close();
|
||
}
|
||
else if (response.StatusCode == HttpStatusCode.Unauthorized)
|
||
{
|
||
bool isSend = objTicketRepository.emailForError("API Login Failed: Unauthorized access", InsertTicketDetailOnCreationInVECV);
|
||
objLog.ErrorLogFile(InsertTicketDetailOnCreationInVECV, "API Login Failed: Unauthorized access", path, errorlogtf);
|
||
}
|
||
}
|
||
catch (WebException webEx)
|
||
{
|
||
string errorMessage = "";
|
||
|
||
if (webEx.Response != null)
|
||
{
|
||
using (var reader = new StreamReader(webEx.Response.GetResponseStream()))
|
||
{
|
||
errorMessage = reader.ReadToEnd();
|
||
}
|
||
}
|
||
else
|
||
{
|
||
errorMessage = webEx.Message;
|
||
}
|
||
|
||
|
||
bool isSend = objTicketRepository.emailForError(errorMessage, InsertTicketDetailOnCreationInVECV);
|
||
objLog.ErrorLogFile(InsertTicketDetailOnCreationInVECV, errorMessage, path, errorlogtf);
|
||
}
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository InsertTicketDetailOnCreationInVECV", Ex.Message, path, errorlogtf);
|
||
}
|
||
|
||
}
|
||
// CHANGE BY PRIYA 0N 1 SEPT 2022
|
||
public void InsertTicketDetailOnCreationInVECVNew(InsertOpenTicket model, string TicketIdAlias, string ticketId, string dealerid, string regno)
|
||
{
|
||
try
|
||
{
|
||
if (System.Configuration.ConfigurationManager.AppSettings["InsertTicketDetailOnCreationInVECVBlocked"] != "true")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", ticketId);
|
||
DataSet ds3 = new DataSet();
|
||
DataSet ds1 = new DataSet();
|
||
try
|
||
{
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("InsertTicketDetailOnCreationInVECVNew usp_get_customer_open_ticket_details" + ticketId, Ex.Message, path, errorlogtf);
|
||
}
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam3_ticket_info = new NpgsqlParameter[1];
|
||
nSqlParam3_ticket_info[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds3 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam3_ticket_info);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("InsertTicketDetailOnCreationInVECVNew usp_get_customer_open_ticket_full_details_ticket_wise" + ticketId, Ex.Message, path, errorlogtf);
|
||
}
|
||
if (ds3.Tables[0].Rows.Count > 0)
|
||
{
|
||
model.VehicleTagging = ds3.Tables[0].Rows[0]["vehicle_tagging"].ToString();
|
||
}
|
||
DataSet dslang = new DataSet();
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam3_Lang_info = new NpgsqlParameter[1];
|
||
nSqlParam3_Lang_info[0] = new NpgsqlParameter("in_dealer_code", dealerid);
|
||
dslang = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_lang_by_dealerId"], nSqlParam3_Lang_info);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("InsertTicketDetailOnCreationInVECVNew usp_lang_by_dealerId" + ticketId, Ex.Message, path, errorlogtf);
|
||
}
|
||
string langid = "";
|
||
|
||
if (dslang.Tables.Count > 0)
|
||
{
|
||
|
||
if (dslang.Tables[0].Rows.Count > 0)
|
||
{
|
||
langid = Convert.ToString(dslang.Tables[0].Rows[0]["sp_lang_by_dealerId"]);
|
||
|
||
}
|
||
}
|
||
string InsertTicketDetailOnCreationInVECV = System.Web.Configuration.WebConfigurationManager.AppSettings["InsertTicketDetailOnCreationInVECV"].ToString();
|
||
List<EscalationLevel> oEscalationLevelList = new List<EscalationLevel>();
|
||
// getting escalation level from DB
|
||
DataSet escalationLevelDataset = new DataSet();
|
||
DataSet escalationLevelDatasetsite = new DataSet();
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("in_dealer_id", dealerid);
|
||
nSqlParam1[1] = new NpgsqlParameter("in_vehicle_type", model.VehicleTagging);
|
||
escalationLevelDataset = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_escalation_level_by_dealer_id_vehicle_type_cogent"], nSqlParam1);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("InsertTicketDetailOnCreationInVECVNew usp_get_escalation_level_by_dealer_id_vehicle_type_cogent" + ticketId, Ex.Message, path, errorlogtf);
|
||
}
|
||
string dealerName = "";
|
||
string dealerNumber = "";
|
||
string dealerCode = "";
|
||
string customerName = "";
|
||
string customerNumber = "";
|
||
string WmName = "";
|
||
string WmNumber1 = "";
|
||
string WmNumber2 = "";
|
||
string CSMNumber = "";
|
||
string siteInhargeNumber1 = "";
|
||
string siteInhargeNumber2 = "";
|
||
string siteInhargeName = "";
|
||
if (ds1.Tables.Count > 0)
|
||
{
|
||
if (ds1.Tables[0].Rows.Count > 0)
|
||
{
|
||
dealerName = Convert.ToString(ds1.Tables[0].Rows[0]["_dealer_name"].ToString());
|
||
if (ds3.Tables[0].Rows.Count > 0)
|
||
{
|
||
dealerNumber = Convert.ToString(ds3.Tables[0].Rows[0]["contact_number"].ToString());
|
||
}
|
||
else
|
||
{
|
||
dealerNumber = Convert.ToString(ds1.Tables[0].Rows[0]["_dealer_contact_number"].ToString());
|
||
|
||
}
|
||
dealerCode = Convert.ToString(ds1.Tables[0].Rows[0]["_dealer_code"].ToString());
|
||
customerName = Convert.ToString(ds1.Tables[0].Rows[0]["_customer_name"].ToString());
|
||
customerNumber = Convert.ToString(ds1.Tables[0].Rows[0]["_customer_contact_number"].ToString());
|
||
}
|
||
// binding escalation level to model list
|
||
}
|
||
if (escalationLevelDataset.Tables.Count > 0)
|
||
{
|
||
if (escalationLevelDataset.Tables[0].Rows.Count > 0)
|
||
{
|
||
WmNumber1 = escalationLevelDataset.Tables[0].Rows[0]["phones"].ToString();
|
||
string[] values = WmNumber1.Split(',').Select(sValue => sValue.Trim()).ToArray();
|
||
WmName = escalationLevelDataset.Tables[0].Rows[0]["manager_name"].ToString();
|
||
int cout = values.Length;
|
||
if (cout == 0)
|
||
{
|
||
|
||
}
|
||
else if (cout == 1)
|
||
{
|
||
WmNumber1 = values[0].ToString();
|
||
}
|
||
else if (cout == 2)
|
||
{
|
||
WmNumber1 = values[0].ToString();
|
||
WmNumber2 = values[1].ToString();
|
||
}
|
||
else if (cout == 3)
|
||
{
|
||
WmNumber1 = values[0].ToString();
|
||
WmNumber2 = values[1].ToString();
|
||
CSMNumber = values[2].ToString();
|
||
}
|
||
}
|
||
}
|
||
|
||
NpgsqlParameter[] nSqlParamsite = new NpgsqlParameter[3];
|
||
try
|
||
{
|
||
nSqlParamsite[0] = new NpgsqlParameter("in_dealer_id", dealerid);
|
||
nSqlParamsite[1] = new NpgsqlParameter("in_vehicle_type", model.VehicleTagging);
|
||
nSqlParamsite[2] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
escalationLevelDatasetsite = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_escalation_level_cogent_site_incharge"], nSqlParamsite);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("InsertTicketDetailOnCreationInVECVNew usp_get_escalation_level_cogent_site_incharge" + ticketId, Ex.Message, path, errorlogtf);
|
||
}
|
||
if (escalationLevelDatasetsite.Tables.Count > 0)
|
||
{
|
||
if (escalationLevelDatasetsite.Tables[0].Rows.Count > 0)
|
||
{
|
||
siteInhargeNumber1 = escalationLevelDatasetsite.Tables[0].Rows[0]["phones"].ToString();
|
||
string[] values = siteInhargeNumber1.Split(',').Select(sValue => sValue.Trim()).ToArray();
|
||
siteInhargeName = escalationLevelDatasetsite.Tables[0].Rows[0]["manager_name"].ToString();
|
||
int cout = values.Length;
|
||
if (cout == 0)
|
||
{
|
||
|
||
}
|
||
else if (cout == 1)
|
||
{
|
||
siteInhargeNumber1 = values[0].ToString();
|
||
}
|
||
else if (cout == 2)
|
||
{
|
||
siteInhargeNumber1 = values[0].ToString();
|
||
siteInhargeNumber2 = values[1].ToString();
|
||
}
|
||
}
|
||
}
|
||
InsertTicketDetailOnCreationInVECV = string.Format(InsertTicketDetailOnCreationInVECV, customerName, customerNumber,
|
||
model.VehicleTagging, dealerNumber, dealerName, TicketIdAlias, WmName, WmNumber1, WmNumber2, CSMNumber,
|
||
dealerCode, model.VehicleRegistrationNumber, langid, siteInhargeNumber1, siteInhargeNumber2);
|
||
objLog.ErrorLogFile("Cogent API url new", InsertTicketDetailOnCreationInVECV, path, errorlogtf);
|
||
ServicePointManager.Expect100Continue = true;
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
||
| SecurityProtocolType.Tls11
|
||
| SecurityProtocolType.Tls12
|
||
| SecurityProtocolType.Ssl3
|
||
| (SecurityProtocolType)3072;
|
||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(InsertTicketDetailOnCreationInVECV);
|
||
request.Method = "POST";
|
||
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
||
StreamReader sr = new StreamReader(response.GetResponseStream());
|
||
string source = sr.ReadToEnd();
|
||
sr.Close();
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("InsertTicketDetailOnCreationInVECVNew", Ex.Message, path, errorlogtf);
|
||
}
|
||
CustomerVehicleModelDBM modelnew = new CustomerVehicleModelDBM();
|
||
|
||
/* DataSet ds3_ticket_info = new DataSet();
|
||
string TicketNo = "";
|
||
string dealername = "";
|
||
string ticketidalias = "";
|
||
|
||
NpgsqlParameter[] nSqlParamnew = new NpgsqlParameter[2];
|
||
nSqlParamnew[0] = new NpgsqlParameter("inticket_id", ticketId);
|
||
nSqlParamnew[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds3_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_details_for_ticket"], nSqlParamnew);
|
||
model.Message = ds3_ticket_info.Tables[0].Rows[0]["_dealer_name"].ToString();
|
||
modelnew.TicketNo = ds3_ticket_info.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
dealername = ds3_ticket_info.Tables[0].Rows[0]["_dealer_name"].ToString();
|
||
modelnew.VehicleRegistrationNumber = ds3_ticket_info.Tables[0].Rows[0]["vehicle_registration_number"].ToString();
|
||
modelnew.CustomerMobile1 = ds3_ticket_info.Tables[0].Rows[0]["_driver_no"].ToString(); // Driver's number
|
||
modelnew.CustomerName = ds3_ticket_info.Tables[0].Rows[0]["_driver_name"].ToString();// Service Engineer Name
|
||
modelnew.CustomerMobile2 = ds3_ticket_info.Tables[0].Rows[0]["_service_engginer_no"].ToString();// service enginer no
|
||
modelnew.VehicleModelNumber = ds3_ticket_info.Tables[0].Rows[0]["vehicle_model_number"].ToString();
|
||
modelnew.CustomerCity = ds3_ticket_info.Tables[0].Rows[0]["_service_engginer_name"].ToString().Replace("Capitalized -", "");// service enginer no
|
||
modelnew.CustomerAddress = ds3_ticket_info.Tables[0].Rows[0]["_nature_of_problem"].ToString();//
|
||
string ass_to = ds3_ticket_info.Tables[0].Rows[0]["_assigned_to"].ToString();//
|
||
string ass_to_text = ds3_ticket_info.Tables[0].Rows[0]["_assigned_text"].ToString();//
|
||
string creation_time = ds3_ticket_info.Tables[0].Rows[0]["_creation_time"].ToString();//
|
||
string CSM = ds3_ticket_info.Tables[0].Rows[0]["_csm_Name"].ToString();//
|
||
string CSM_no = ds3_ticket_info.Tables[0].Rows[0]["_csm_no"].ToString();//
|
||
string dealer_id = ds3_ticket_info.Tables[0].Rows[0]["_dealer_1scode"].ToString();//
|
||
string owner_name = ds3_ticket_info.Tables[0].Rows[0]["_owner_name"].ToString();//
|
||
string owner_no = ds3_ticket_info.Tables[0].Rows[0]["_owner_no"].ToString();//
|
||
// service enginer no
|
||
if (modelnew.VehicleModelNumber.Trim() == "6016" || modelnew.VehicleModelNumber.Trim() == "6019")
|
||
{
|
||
string mailsend = sendmail(modelnew, dealername, ticketidalias, ass_to, ass_to_text, creation_time, CSM, CSM_no, dealer_id, owner_name, owner_no);
|
||
}*/
|
||
}
|
||
|
||
public void InsertTicketDetailOnPreclousreInVECV(InsertOpenTicket model, string TicketIdAlias, string typePreclosure, string remarks)
|
||
{
|
||
|
||
if (System.Configuration.ConfigurationManager.AppSettings["IsNewPreclosure"] != "true")
|
||
{
|
||
if (System.Configuration.ConfigurationManager.AppSettings["InsertTicketDetailOnPreclosureInVECVBlocked"] != "true")
|
||
{
|
||
try
|
||
{
|
||
|
||
string InsertTicketDetailOnPreclousreInVECV = System.Web.Configuration.WebConfigurationManager.AppSettings["InsertTicketDetailOnPreclousreInVECVOld"].ToString();
|
||
ServicePointManager.Expect100Continue = true;
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
||
| SecurityProtocolType.Tls11
|
||
| SecurityProtocolType.Tls12
|
||
| SecurityProtocolType.Ssl3
|
||
| (SecurityProtocolType)3072;
|
||
InsertTicketDetailOnPreclousreInVECV = string.Format(InsertTicketDetailOnPreclousreInVECV, TicketIdAlias, typePreclosure);
|
||
objLog.AddLogFile("Cogent API preclosure url data send", InsertTicketDetailOnPreclousreInVECV, path, errorlogtf);
|
||
|
||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(InsertTicketDetailOnPreclousreInVECV);
|
||
request.Method = "POST";
|
||
request.Headers.Add("Authorization", "mwLqY1P7IebxNQXhZ9gB1KK");
|
||
request.ContentType = "application/json";
|
||
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
||
StreamReader sr = new StreamReader(response.GetResponseStream());
|
||
string source = sr.ReadToEnd();
|
||
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
||
objLog.AddLogFile("Cogent success response preclosure", source, path, errorlogtf);
|
||
|
||
|
||
if (response.StatusCode.ToString() == "Error")
|
||
{
|
||
|
||
bool isSend = objTicketRepository.emailForError(response.StatusCode.ToString(), InsertTicketDetailOnPreclousreInVECV);
|
||
objLog.ErrorLogFile(InsertTicketDetailOnPreclousreInVECV, response.StatusCode.ToString(), path, errorlogtf);
|
||
|
||
}
|
||
else
|
||
{
|
||
if (response.StatusCode.ToString() == "TimedOut")
|
||
{
|
||
|
||
bool isSend = objTicketRepository.emailForError(response.StatusCode.ToString(), InsertTicketDetailOnPreclousreInVECV);
|
||
objLog.ErrorLogFile(InsertTicketDetailOnPreclousreInVECV, response.StatusCode.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. ", InsertTicketDetailOnPreclousreInVECV);
|
||
objLog.ErrorLogFile(InsertTicketDetailOnPreclousreInVECV, "API Login Failed:Login failed. The server response is Unauthorized. ", path, errorlogtf);
|
||
|
||
}
|
||
else if (response.StatusCode == System.Net.HttpStatusCode.OK)
|
||
{
|
||
|
||
if (model.IsMobileRequest == true)
|
||
{
|
||
acitvityUpdateForMobile(Convert.ToInt32(model.TicketStatus), model.TicketId, "cogentpreclosure", true, "Success", model.AssignedToUserId);
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
if (model.IsMobileRequest == true)
|
||
{
|
||
acitvityUpdateForMobile(Convert.ToInt32(model.TicketStatus), model.TicketId, "cogentpreclosure", true, "Success", model.AssignedToUserId);
|
||
|
||
}
|
||
sr.Close();
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
if (model.IsMobileRequest == true)
|
||
{
|
||
acitvityUpdateForMobile(Convert.ToInt32(model.TicketStatus), model.TicketId, "cogentpreclosure", true, Ex.Message, model.AssignedToUserId);
|
||
|
||
}
|
||
objLog.ErrorLogFile("InsertTicketDetailOnPreclousreInVECV", Ex.Message, path, errorlogtf);
|
||
}
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
|
||
try
|
||
{
|
||
DataSet ds3_ticket_info = null;
|
||
NpgsqlParameter[] nSqlParam3_ticket_info = new NpgsqlParameter[1];
|
||
nSqlParam3_ticket_info[0] = new NpgsqlParameter("inticket_number", TicketIdAlias);
|
||
ds3_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_details_Preclosure"], nSqlParam3_ticket_info);
|
||
model.TicketIdAlias = ds3_ticket_info.Tables[0].Rows[0]["ticket_id"].ToString();
|
||
model.Description = ds3_ticket_info.Tables[0].Rows[0]["_nature_of_problem"].ToString();
|
||
model.DriverContactNo = ds3_ticket_info.Tables[0].Rows[0]["_driver_no"].ToString();
|
||
model.DriverName = ds3_ticket_info.Tables[0].Rows[0]["_driver_name"].ToString();
|
||
model.CustomerContactNo = ds3_ticket_info.Tables[0].Rows[0]["caller_number"].ToString();
|
||
string owner_name = ds3_ticket_info.Tables[0].Rows[0]["_owner_name"].ToString();
|
||
string owner_no = ds3_ticket_info.Tables[0].Rows[0]["_owner_number"].ToString();
|
||
string kam_name = ds3_ticket_info.Tables[0].Rows[0]["_kam_name"].ToString();
|
||
string kam_no = ds3_ticket_info.Tables[0].Rows[0]["kam_number"].ToString();
|
||
string fleet_name = ds3_ticket_info.Tables[0].Rows[0]["_fleet_manager_name"].ToString();
|
||
string fleet_no = ds3_ticket_info.Tables[0].Rows[0]["_fleet_manager_no"].ToString();
|
||
if (kam_no == "")
|
||
{
|
||
kam_no = "-";
|
||
}
|
||
if (fleet_no == "")
|
||
{
|
||
fleet_no = "-";
|
||
}
|
||
if (owner_no == "")
|
||
{
|
||
owner_no = "-";
|
||
}
|
||
|
||
|
||
|
||
// Keep track of which numbers we've already seen
|
||
HashSet<string> seen = new HashSet<string>();
|
||
|
||
// Helper to check and zero out duplicates
|
||
string Deduplicate(string number)
|
||
{
|
||
if (string.IsNullOrWhiteSpace(number)) return "-";
|
||
|
||
if (seen.Contains(number))
|
||
return "-";
|
||
else
|
||
{
|
||
seen.Add(number);
|
||
return number;
|
||
}
|
||
}
|
||
|
||
// Apply deduplication in priority order
|
||
kam_no = Deduplicate(kam_no);
|
||
owner_no = Deduplicate(owner_no);
|
||
fleet_no = Deduplicate(fleet_no);
|
||
model.DriverContactNo = Deduplicate(model.DriverContactNo);
|
||
string InsertTicketDetailOnPreclousreInVECV = System.Web.Configuration.WebConfigurationManager.AppSettings["InsertTicketDetailOnPreclousreInVECV"].ToString();
|
||
|
||
InsertTicketDetailOnPreclousreInVECV = string.Format(InsertTicketDetailOnPreclousreInVECV, TicketIdAlias, typePreclosure, model.Description,
|
||
remarks, "", "-", model.DriverName, model.DriverContactNo, owner_name, owner_no, fleet_name, fleet_no, kam_name, kam_no);
|
||
objLog.AddLogFile("Cogent API preclosure url data send", InsertTicketDetailOnPreclousreInVECV, path, errorlogtf);
|
||
|
||
|
||
if (System.Configuration.ConfigurationManager.AppSettings["InsertTicketDetailOnPreclosureInVECVBlocked"] != "true")
|
||
{
|
||
ServicePointManager.Expect100Continue = true;
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
||
| SecurityProtocolType.Tls11
|
||
| SecurityProtocolType.Tls12
|
||
| SecurityProtocolType.Ssl3
|
||
| (SecurityProtocolType)3072;
|
||
|
||
|
||
|
||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(InsertTicketDetailOnPreclousreInVECV);
|
||
request.Method = "POST";
|
||
request.Headers.Add("Authorization", "mwLqY1P7IebxNQXhZ9gB1KK");
|
||
request.ContentType = "application/json";
|
||
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
||
StreamReader sr = new StreamReader(response.GetResponseStream());
|
||
string source = sr.ReadToEnd();
|
||
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
||
objLog.AddLogFile("Cogent success response preclosure", source, path, errorlogtf);
|
||
|
||
|
||
if (response.StatusCode.ToString() == "Error")
|
||
{
|
||
|
||
bool isSend = objTicketRepository.emailForError(response.StatusCode.ToString(), InsertTicketDetailOnPreclousreInVECV);
|
||
objLog.ErrorLogFile(InsertTicketDetailOnPreclousreInVECV, response.StatusCode.ToString(), path, errorlogtf);
|
||
|
||
}
|
||
else
|
||
{
|
||
if (response.StatusCode.ToString() == "TimedOut")
|
||
{
|
||
|
||
bool isSend = objTicketRepository.emailForError(response.StatusCode.ToString(), InsertTicketDetailOnPreclousreInVECV);
|
||
objLog.ErrorLogFile(InsertTicketDetailOnPreclousreInVECV, response.StatusCode.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. ", InsertTicketDetailOnPreclousreInVECV);
|
||
objLog.ErrorLogFile(InsertTicketDetailOnPreclousreInVECV, "API Login Failed:Login failed. The server response is Unauthorized. ", path, errorlogtf);
|
||
|
||
}
|
||
else if (response.StatusCode == System.Net.HttpStatusCode.OK)
|
||
{
|
||
|
||
if (model.IsMobileRequest == true)
|
||
{
|
||
acitvityUpdateForMobile(Convert.ToInt32(model.TicketStatus), model.TicketId, "cogentpreclosure", true, "Success", model.AssignedToUserId);
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
if (model.IsMobileRequest == true)
|
||
{
|
||
acitvityUpdateForMobile(Convert.ToInt32(model.TicketStatus), model.TicketId, "cogentpreclosure", true, "Success", model.AssignedToUserId);
|
||
|
||
}
|
||
sr.Close();
|
||
}
|
||
}
|
||
}
|
||
|
||
catch (Exception Ex)
|
||
{
|
||
if (model.IsMobileRequest == true)
|
||
{
|
||
acitvityUpdateForMobile(Convert.ToInt32(model.TicketStatus), model.TicketId, "cogentpreclosure", true, Ex.Message, model.AssignedToUserId);
|
||
|
||
}
|
||
objLog.ErrorLogFile("InsertTicketDetailOnPreclousreInVECV", Ex.Message, path, errorlogtf);
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
|
||
|
||
// change by priya for cogent api 06-03-2023
|
||
public void EstimatedVanReachTimeDetailOnCreationInVECV(InsertOpenTicket model, string TicketIdAlias)
|
||
|
||
{
|
||
try
|
||
{
|
||
if (System.Configuration.ConfigurationManager.AppSettings["InsertTicketDetailOnCreationInVECVBlocked"] != "true")
|
||
{
|
||
|
||
|
||
|
||
string estimatedVanReachTimeDetailOnCreationInVECV = System.Web.Configuration.WebConfigurationManager.AppSettings["EstimatedVanReachTimeDetailOnCreationInVECV"].ToString();
|
||
// TicketRepository objTicket = new TicketRepository(_connStr);
|
||
// oEscalationLevelOutputModel = objTicket.GetEscalationLevels(model); EscalationLevelOutputModel oEscalationLevelOutputModel = new EscalationLevelOutputModel();
|
||
List<EscalationLevel> oEscalationLevelList = new List<EscalationLevel>();
|
||
// getting escalation level from DB
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
|
||
ServicePointManager.ServerCertificateValidationCallback = delegate (object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
|
||
{
|
||
return true;
|
||
};
|
||
|
||
estimatedVanReachTimeDetailOnCreationInVECV = string.Format(estimatedVanReachTimeDetailOnCreationInVECV, TicketIdAlias, model.VehicleRegistrationNumber,
|
||
model.estimatedVAnReachTime, model.DriverContactNo, model.CustomerContactNo);
|
||
|
||
//ticketnumber={0}&registrationnumber={1}&estimated_reach_time={2}&driver_contact={3}&owner_contact={4}&"/>
|
||
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(estimatedVanReachTimeDetailOnCreationInVECV);
|
||
request.Method = "POST";
|
||
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
|
||
StreamReader sr = new StreamReader(response.GetResponseStream());
|
||
|
||
string source = sr.ReadToEnd();
|
||
sr.Close();
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("estimatedVanReachTimeDetailOnCreationInVECV", Ex.Message, path, TicketIdAlias);
|
||
}
|
||
|
||
}
|
||
/// <summary>
|
||
/// This method is used to Insert Open Ticket
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>response SenderId which is generated by GCM and status 1 or 0</returns>
|
||
public InsertOpenTicket InsertKamDummyTicket(InsertOpenTicket model)
|
||
{
|
||
InsertOpenTicket objModel = new InsertOpenTicket();
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
SendNotificationModel objGcmModel = new SendNotificationModel();
|
||
try
|
||
{
|
||
objModel.Status = "1";
|
||
DataSet ds = new DataSet();
|
||
DataSet dsGcm = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[37];
|
||
nSqlParam[0] = new NpgsqlParameter("indescription", model.Description);
|
||
nSqlParam[1] = new NpgsqlParameter("inassigned_to", model.AssignedTo);
|
||
nSqlParam[2] = new NpgsqlParameter("inreported_via", model.ReportedVia);
|
||
nSqlParam[3] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
nSqlParam[4] = new NpgsqlParameter("inpriority", model.Priority);
|
||
nSqlParam[5] = new NpgsqlParameter("incustomer_score", model.CustomerScore);
|
||
nSqlParam[6] = new NpgsqlParameter("increated_by", model.CreatedBy);
|
||
nSqlParam[7] = new NpgsqlParameter("increation_time ", model.CreationTime != null ? Convert.ToDateTime(model.CreationTime).AddMinutes(-model.UtcMinute) : model.CreationTime);
|
||
nSqlParam[8] = new NpgsqlParameter("inlast_modified_by", model.LastModifiedBy);
|
||
nSqlParam[9] = new NpgsqlParameter("inlast_modified_time", model.LastModifiedTime != null ? Convert.ToDateTime(model.LastModifiedTime).AddMinutes(-model.UtcMinute) : model.LastModifiedTime);
|
||
nSqlParam[10] = new NpgsqlParameter("inbreakdown_location", model.BreakdownLocation);
|
||
nSqlParam[11] = new NpgsqlParameter("inbreakdown_longitude", model.BreakdownLongitude);
|
||
nSqlParam[12] = new NpgsqlParameter("inbreakdown_lattitude", model.BreakdownLattitude);
|
||
nSqlParam[13] = new NpgsqlParameter("inassigned_to_user_id", model.AssignedToUserId);
|
||
nSqlParam[14] = new NpgsqlParameter("inassigned_to_user_lattitude", model.AssignedToUserLattitude);
|
||
nSqlParam[15] = new NpgsqlParameter("inassigned_to_user_longitude", model.AssignedToUserLongitude);
|
||
nSqlParam[16] = new NpgsqlParameter("inisdeclined", model.IsDeclined);
|
||
nSqlParam[17] = new NpgsqlParameter("inestimated_time_for_job_completion", model.EstimatedTimeForJobCompletion);
|
||
nSqlParam[18] = new NpgsqlParameter("intotal_ticket_lifecycle_time_sla", model.TotalTicketLifecycleTimeSla);
|
||
nSqlParam[19] = new NpgsqlParameter("inestimated_time_for_job_completion_submit_time", model.EstimatedTimeForJobCompletionSubmitTime != null ? Convert.ToDateTime(model.EstimatedTimeForJobCompletionSubmitTime).AddMinutes(-model.UtcMinute) : model.EstimatedTimeForJobCompletionSubmitTime);
|
||
nSqlParam[20] = new NpgsqlParameter("invehicle_registration_number", model.VehicleRegistrationNumber);
|
||
nSqlParam[21] = new NpgsqlParameter("inbreakdown_location_landmark", model.BreakdownLocationLandmark);
|
||
nSqlParam[22] = new NpgsqlParameter("inroute_id", model.RouteId);
|
||
nSqlParam[23] = new NpgsqlParameter("incustomer_contact_no", model.CustomerContactNo);
|
||
nSqlParam[24] = new NpgsqlParameter("inrepair_cost", model.RepairCost);
|
||
nSqlParam[25] = new NpgsqlParameter("indefault_sla_time", model.DefaultSlaTime);
|
||
nSqlParam[26] = new NpgsqlParameter("indefault_col_1", model.JobCompleteResponseTime);
|
||
nSqlParam[27] = new NpgsqlParameter("indefault_col_2", model.DefaultCol2);
|
||
nSqlParam[28] = new NpgsqlParameter("indefault_col_3", model.DefaultCol3);
|
||
nSqlParam[29] = new NpgsqlParameter("instate_name", model.StateName);
|
||
nSqlParam[30] = new NpgsqlParameter("incity_name", model.CityName);
|
||
nSqlParam[31] = new NpgsqlParameter("incaller_language", model.CallerLanguage);
|
||
nSqlParam[32] = new NpgsqlParameter("inwarranty", model.Warranty);
|
||
nSqlParam[33] = new NpgsqlParameter("intoll_free_no_source", model.TollFreeeNoSource);
|
||
nSqlParam[34] = new NpgsqlParameter("inestimated_distance", model.EstimateDistance);
|
||
nSqlParam[35] = new NpgsqlParameter("invehicle_tagging", model.VehicleTagging);
|
||
nSqlParam[36] = new NpgsqlParameter("inkm_covered", model.KmCovered);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_open_ticket_by_kam"], nSqlParam);
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objModel.KamTicketId = ds.Tables[0].Rows[0]["sp_insert_open_ticket_by_kam"].ToString(); // getting KAM ticket id
|
||
objModel.Status = "1";
|
||
objModel.Message = "Success";
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return objModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("InsertKamDummyTicket", Ex.Message, path, errorlogtf);
|
||
return objModel;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// This method is used to Insert Open Ticket
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>response SenderId which is generated by GCM and status 1 or 0</returns>
|
||
public InsertOpenTicket InsertKamRealTicket(InsertOpenTicket model)
|
||
{
|
||
InsertOpenTicket objModel = new InsertOpenTicket();
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
SendNotificationModel objGcmModel = new SendNotificationModel();
|
||
try
|
||
{
|
||
objModel.Status = "1";
|
||
DataSet ds = new DataSet();
|
||
DataSet dsGcm = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
string ticketIdAlias = null; // taking variable to store ticket Id alias
|
||
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[37];
|
||
nSqlParam[0] = new NpgsqlParameter("indescription", model.Description);
|
||
nSqlParam[1] = new NpgsqlParameter("inassigned_to", model.AssignedTo);
|
||
nSqlParam[2] = new NpgsqlParameter("inreported_via", model.ReportedVia);
|
||
nSqlParam[3] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
nSqlParam[4] = new NpgsqlParameter("inpriority", model.Priority);
|
||
nSqlParam[5] = new NpgsqlParameter("incustomer_score", model.CustomerScore);
|
||
nSqlParam[6] = new NpgsqlParameter("increated_by", model.CreatedBy);
|
||
nSqlParam[7] = new NpgsqlParameter("increation_time ", model.CreationTime != null ? Convert.ToDateTime(model.CreationTime).AddMinutes(-model.UtcMinute) : model.CreationTime);
|
||
nSqlParam[8] = new NpgsqlParameter("inlast_modified_by", model.LastModifiedBy);
|
||
nSqlParam[9] = new NpgsqlParameter("inlast_modified_time", model.LastModifiedTime != null ? Convert.ToDateTime(model.LastModifiedTime).AddMinutes(-model.UtcMinute) : model.LastModifiedTime);
|
||
nSqlParam[10] = new NpgsqlParameter("inbreakdown_location", model.BreakdownLocation);
|
||
nSqlParam[11] = new NpgsqlParameter("inbreakdown_longitude", model.BreakdownLongitude);
|
||
nSqlParam[12] = new NpgsqlParameter("inbreakdown_lattitude", model.BreakdownLattitude);
|
||
nSqlParam[13] = new NpgsqlParameter("inassigned_to_user_id", model.AssignedToUserId);
|
||
nSqlParam[14] = new NpgsqlParameter("inassigned_to_user_lattitude", model.AssignedToUserLattitude);
|
||
nSqlParam[15] = new NpgsqlParameter("inassigned_to_user_longitude", model.AssignedToUserLongitude);
|
||
nSqlParam[16] = new NpgsqlParameter("inisdeclined", model.IsDeclined);
|
||
nSqlParam[17] = new NpgsqlParameter("inestimated_time_for_job_completion", model.EstimatedTimeForJobCompletion);
|
||
nSqlParam[18] = new NpgsqlParameter("intotal_ticket_lifecycle_time_sla", model.TotalTicketLifecycleTimeSla);
|
||
nSqlParam[19] = new NpgsqlParameter("inestimated_time_for_job_completion_submit_time", model.EstimatedTimeForJobCompletionSubmitTime != null ? Convert.ToDateTime(model.EstimatedTimeForJobCompletionSubmitTime).AddMinutes(-model.UtcMinute) : model.EstimatedTimeForJobCompletionSubmitTime);
|
||
nSqlParam[20] = new NpgsqlParameter("invehicle_registration_number", model.VehicleRegistrationNumber);
|
||
nSqlParam[21] = new NpgsqlParameter("inbreakdown_location_landmark", model.BreakdownLocationLandmark);
|
||
nSqlParam[22] = new NpgsqlParameter("inroute_id", model.RouteId);
|
||
nSqlParam[23] = new NpgsqlParameter("incustomer_contact_no", model.CustomerContactNo);
|
||
nSqlParam[24] = new NpgsqlParameter("inrepair_cost", model.RepairCost);
|
||
nSqlParam[25] = new NpgsqlParameter("indefault_sla_time", model.DefaultSlaTime);
|
||
nSqlParam[26] = new NpgsqlParameter("indefault_col_1", model.JobCompleteResponseTime);
|
||
nSqlParam[27] = new NpgsqlParameter("indefault_col_2", model.DefaultCol2);
|
||
nSqlParam[28] = new NpgsqlParameter("indefault_col_3", model.DefaultCol3);
|
||
nSqlParam[29] = new NpgsqlParameter("instate_name", model.StateName);
|
||
nSqlParam[30] = new NpgsqlParameter("incity_name", model.CityName);
|
||
nSqlParam[31] = new NpgsqlParameter("incaller_language", model.CallerLanguage);
|
||
nSqlParam[32] = new NpgsqlParameter("inwarranty", model.Warranty);
|
||
nSqlParam[33] = new NpgsqlParameter("intoll_free_no_source", model.TollFreeeNoSource);
|
||
nSqlParam[34] = new NpgsqlParameter("inestimate_distance", model.EstimateDistance);
|
||
nSqlParam[35] = new NpgsqlParameter("invehicle_tagging", model.VehicleTagging);
|
||
nSqlParam[36] = new NpgsqlParameter("inkm_covered", model.KmCovered);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_open_ticket_by_kam_user"], nSqlParam);
|
||
|
||
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
// send GCM msg to device.
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString(); // getting ticket id alias
|
||
|
||
if (ds.Tables[0].Rows[0]["_ticket_id"] != null && ds.Tables[0].Rows[0]["_ticket_id"].ToString() != "")
|
||
{
|
||
objModel.TicketId = ds.Tables[0].Rows[0]["_ticket_id"].ToString();
|
||
objModel.TicketIdAlias = ticketIdAlias;
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[1];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", objModel.TicketId);
|
||
//Get Device GCm id for ticket.
|
||
dsGcm = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_service_engg_device_gcm_id"], nSqlParam1);
|
||
if (dsGcm.Tables.Count > 0)
|
||
{
|
||
if (dsGcm.Tables[0].Rows.Count > 0)
|
||
{
|
||
//if (dsGcm.Tables[0].Rows[0]["sp_get_service_engg_device_gcm_id"] != null && dsGcm.Tables[0].Rows[0]["sp_get_service_engg_device_gcm_id"].ToString() != "")
|
||
//{
|
||
// objGcmModel.DeviceGcmId = dsGcm.Tables[0].Rows[0]["sp_get_service_engg_device_gcm_id"].ToString();
|
||
// objGcmModel.NotificationMessage = ConfigurationManager.AppSettings["MessageInsert"];
|
||
// objGcmModel.TicketId = objModel.TicketId;
|
||
// objGcmModel = objGlobalRepository.GcmSendNotification(objGcmModel);
|
||
// objModel.SenderId = objGcmModel.SenderId;
|
||
//}
|
||
|
||
objGcmModel.DeviceGcmId = dsGcm.Tables[0].Rows[0]["_device_id"].ToString();
|
||
objGcmModel.NotificationMessage = ConfigurationManager.AppSettings["MessageInsert"];
|
||
objGcmModel.TicketId = objModel.TicketId;
|
||
if (Convert.ToInt32(dsGcm.Tables[0].Rows[0]["_push_notification_bit"]) == 0)
|
||
{
|
||
//objGcmModel = objGlobalRepository.GcmSendNotification(objGcmModel);
|
||
objGcmModel = objGlobalRepository.GcmSendNotificationNew(objGcmModel);
|
||
|
||
objModel.SenderId = objGcmModel.SenderId;
|
||
objModel.Status = objGcmModel.Status;
|
||
}
|
||
else
|
||
{
|
||
objGcmModel = objGlobalRepository.FcmSendNotification(objGcmModel);
|
||
objModel.SenderId = objGcmModel.SenderId;
|
||
objModel.Status = objGcmModel.Status;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
#region Sending SMS ( When ticket is assigned to Dealer )
|
||
|
||
if (model.TicketStatus == 2 && model.AssignedTo.Trim().ToUpper() == "DEALER")
|
||
{
|
||
DataSet ds1 = new DataSet();
|
||
DataSet ds2 = new DataSet();
|
||
DataSet ds3 = new DataSet();
|
||
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", objModel.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
|
||
|
||
// get sms content details.
|
||
nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", objModel.TicketId);
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam);
|
||
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number", objModel.TicketId);
|
||
ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
|
||
|
||
//get sending sms api url.
|
||
string url = System.Web.Configuration.WebConfigurationManager.AppSettings["SmsUrl"].ToString();
|
||
|
||
// get msg format
|
||
string msgCustforDealerTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgCustforDealerTicket"].ToString();
|
||
string msgOwnerforDealerTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgOwnerforDealerTicket"].ToString();
|
||
string msgDealerforDealerTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgDealerforDealerTicket"].ToString();
|
||
string msgWMforDealerTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgWMforDealerTicket"].ToString();
|
||
string msgCSMforDealerTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgCSMforDealerTicket"].ToString();
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
msgWMforDealerTicket = string.Format(msgWMforDealerTicket, ticketIdAlias,
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString() + "( " + ds.Tables[0].Rows[0]["customer_contact_no"].ToString() + " ) ",
|
||
ds1.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"),
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
msgCustforDealerTicket = string.Format(msgCustforDealerTicket, ticketIdAlias,
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), ds2.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds2.Tables[0].Rows[0]["dealer_city"].ToString() + ") ",
|
||
ConfigurationManager.AppSettings["TollFreeNo"].ToString());
|
||
|
||
//msgOwnerforDealerTicket = string.Format(msgOwnerforDealerTicket, ticketIdAlias,
|
||
// ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), ds2.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds2.Tables[0].Rows[0]["dealer_city"].ToString() + ") ",
|
||
// ConfigurationManager.AppSettings["TollFreeNo"].ToString());
|
||
|
||
msgDealerforDealerTicket = string.Format(msgDealerforDealerTicket, ticketIdAlias,
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString() + "( " + ds.Tables[0].Rows[0]["customer_contact_no"].ToString() + " ) ",
|
||
ds1.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"),
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
msgCSMforDealerTicket = string.Format(msgCSMforDealerTicket, ticketIdAlias,
|
||
//ds2.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString() + ") ", ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString()
|
||
ds2.Tables[0].Rows[0]["dealer_dealer_name"].ToString(),
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(),
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
|
||
string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgCustforDealerTicket);
|
||
string DealerSms = string.Format(url, ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgDealerforDealerTicket);
|
||
//string OwnerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgOwnerforDealerTicket);
|
||
|
||
|
||
// get all contact no split in array.
|
||
string[] CSMContactNo = ds.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgCSMforDealerTicket);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
string[] WMContactNo = ds.Tables[0].Rows[0]["WM_contact_no"].ToString().Split(',');
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
string WMsms = string.Format(url, WMContactNo[i], msgWMforDealerTicket);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
}
|
||
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
objGlobalRepository.SendMessage(DealerSms);
|
||
//objGlobalRepository.SendMessage(OwnerSms);
|
||
|
||
#region Sending sms to KAM when ticket is Assigned to Dealer and accepted
|
||
|
||
// checking whether this ticket creation belongs to KAM user or not
|
||
NpgsqlParameter[] nSqlParam01 = new NpgsqlParameter[1];
|
||
nSqlParam01[0] = new NpgsqlParameter("inticket_id", objModel.TicketId);
|
||
DataSet ds_kam_ticket_details = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_kam_ticket_or_not"], nSqlParam01);
|
||
|
||
//=============================================================================================
|
||
string msgKamDealerAcceptedTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgKamDealerAcceptedTicket"].ToString();
|
||
// set content in msg
|
||
string dssmstime = getimeForSMS(model.TicketId);
|
||
//if(model.)
|
||
msgKamDealerAcceptedTicket = string.Format(msgKamDealerAcceptedTicket,
|
||
ticketIdAlias,
|
||
dssmstime.ToString(), // ticket id
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), // vehicle reg no
|
||
ds2.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds2.Tables[0].Rows[0]["dealer_city"].ToString() + ") ", // dealer name and city
|
||
ConfigurationManager.AppSettings["TollFreeNo"].ToString() // Toll free no
|
||
);
|
||
|
||
string KamSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgKamDealerAcceptedTicket);
|
||
objGlobalRepository.SendMessage(KamSms);
|
||
//=============================================================================================
|
||
// if this ticket belongs to KAM
|
||
if (ds_kam_ticket_details.Tables.Count > 0)
|
||
{
|
||
if (ds_kam_ticket_details.Tables[0].Rows.Count > 0)
|
||
{
|
||
//-----------Sending GCM push to all KAM users-------------------------
|
||
NpgsqlParameter[] nSqlParam11 = new NpgsqlParameter[1];
|
||
nSqlParam11[0] = new NpgsqlParameter("inkam_id", ds_kam_ticket_details.Tables[0].Rows[0]["_kam_id"].ToString());
|
||
DataSet dsGcm1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_kam_user_devices_details_open_tickets"], nSqlParam11);
|
||
|
||
if (dsGcm1.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (DataRow dr in dsGcm1.Tables[0].Rows)
|
||
{
|
||
|
||
string notificationMessageFormat = ConfigurationManager.AppSettings["NotificationMessageAcceptKamDummyOrRealTicketByDealer"].ToString();
|
||
string notificationMessage = string.Format(notificationMessageFormat, ticketIdAlias);
|
||
SendNotificationModel objGcmModel1 = new SendNotificationModel();
|
||
objGcmModel1.DeviceGcmId = dr["_gcm_id"].ToString();
|
||
objGcmModel1.TicketId = ds_kam_ticket_details.Tables[0].Rows[0]["_kam_id"].ToString();
|
||
objGcmModel1.NotificationCode = ConfigurationManager.AppSettings["MessageAcceptKamTicketByDealer"].ToString();
|
||
objGcmModel1.NotificationMessage = notificationMessage;
|
||
if (Convert.ToInt32(dr["_push_notification_bit"]) == 0)
|
||
{
|
||
objGcmModel1 = objGlobalRepository.GcmSendNotificationForKam(objGcmModel1);
|
||
objModel.Status = objGcmModel1.Status;
|
||
}
|
||
else
|
||
{
|
||
objGcmModel1 = objGlobalRepository.FcmSendNotificationForKam(objGcmModel1);
|
||
objModel.Status = objGcmModel1.Status;
|
||
}
|
||
;
|
||
//objModel.SenderId = objGcmModel.SenderId;
|
||
}
|
||
}
|
||
//----------------------------------------------------------------------
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
objModel.TicketIdAlias = ticketIdAlias;
|
||
}
|
||
return objModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("TicketRepository InsertKamRealTicket", Ex.Message, path, errorlogtf);
|
||
return objModel;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// To update open ticket for Web
|
||
/// </summary>
|
||
/// <param name="model">open ticket detail for updation</param>
|
||
/// <returns>response SenderId which is generated by GCM and status 1 or 0 </returns>
|
||
/// <summary>
|
||
/// To update open ticket for Web
|
||
/// </summary>
|
||
/// <param name="model">open ticket detail for updation</param>
|
||
/// <returns>response SenderId which is generated by GCM and status 1 or 0 </returns>
|
||
public InsertOpenTicket UpdateOpenTicketWeb(InsertOpenTicket model)
|
||
{
|
||
string TicketPrevDealerCode = "";
|
||
string ticketIdAlias = "";
|
||
InsertOpenTicket objModel = new InsertOpenTicket();
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
SendNotificationModel objGcmModel = new SendNotificationModel();
|
||
string url = System.Web.Configuration.WebConfigurationManager.AppSettings["SmsUrl"].ToString();
|
||
|
||
try
|
||
{
|
||
objModel.Status = "1";
|
||
DataSet ds = new DataSet();
|
||
DataSet dsGcm = new DataSet();
|
||
DataSet ds_latest_ticket_activity = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
DataSet ds_kam_ticket_details = new DataSet();
|
||
string ctime = "";
|
||
|
||
string strTicketStatus = "";
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
|
||
#region for ticket info
|
||
// get latest ticket activity for the ticket.
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam0 = new NpgsqlParameter[1];
|
||
nSqlParam0[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
ds_latest_ticket_activity = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_activity"], nSqlParam0);
|
||
if (ds_latest_ticket_activity.Tables[0].Rows.Count > 0)
|
||
{
|
||
model.TicketPrevStatusAliasId = ds_latest_ticket_activity.Tables[0].Rows[0][0].ToString();
|
||
}
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_get_ticket_activity " + model.TicketId, Ex.Message, path, errorlogtf);
|
||
// throw Ex;
|
||
}
|
||
try
|
||
{
|
||
DataSet dsOpentagging = new DataSet();
|
||
NpgsqlParameter[] nSqlParamopentagging = new NpgsqlParameter[1];
|
||
nSqlParamopentagging[0] = new NpgsqlParameter("inticketid ", model.TicketId);
|
||
|
||
dsOpentagging = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_ticket_by_ticketid"], nSqlParamopentagging);
|
||
if (dsOpentagging.Tables[0].Rows.Count > 0)
|
||
{
|
||
// ticketIdAlias = dsOpen.Tables[0].Rows[0]["_ticketid_alias"].ToString(); // getting ticket id alias
|
||
// assigned_to_user_id = dsOpen.Tables[0].Rows[0]["_assigned_to_user_id"].ToString(); // getting ticket id alias
|
||
model.VehicleTagging = dsOpentagging.Tables[0].Rows[0]["_vehicle_tagging"].ToString(); // getting ticket id alias
|
||
// VehicleRegistrationNumber = dsOpen.Tables[0].Rows[0]["_vehicle_registration_number"].ToString(); // getting ticket id alias
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_get_open_ticket_by_ticketid " + model.TicketId, Ex.Message, path, errorlogtf);
|
||
// throw Ex;
|
||
}
|
||
DataSet dsDealer = new DataSet();
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam2_ticket_info_cogent = new NpgsqlParameter[3];
|
||
nSqlParam2_ticket_info_cogent[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam2_ticket_info_cogent[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam2_ticket_info_cogent[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
dsDealer = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam2_ticket_info_cogent);
|
||
if (dsDealer.Tables[0].Rows.Count > 0)
|
||
{
|
||
TicketPrevDealerCode = Convert.ToString(dsDealer.Tables[0].Rows[0]["_dealer_code"].ToString());
|
||
ctime = (Convert.ToDateTime(dsDealer.Tables[0].Rows[0]["creation_time"].ToString()).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"])).ToString();
|
||
//ctime = Convert.ToString(dsDealer.Tables[0].Rows[0]["creation_time"].ToString());
|
||
}
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_get_customer_open_ticket_details " + model.TicketId, Ex.Message, path, errorlogtf);
|
||
// throw Ex;
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region Sending SMS EPS ( When ticket was Closed )
|
||
if (model.TicketStatus == 5 || model.TicketStatus == 7)
|
||
{
|
||
|
||
if (model.VehicleTagging.ToLower() == "eps" || model.VehicleTagging.ToLower() == "eps ev")
|
||
{
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
|
||
ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
//DataSet ds2 = new DataSet();
|
||
// NpgsqlParameter[] nSqlParamticketdetail = new NpgsqlParameter[1];
|
||
// nSqlParamticketdetail[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
// ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParamticketdetail);
|
||
|
||
DataSet dsEPS = new DataSet();
|
||
NpgsqlParameter[] nSqlParamEPSSMS = new NpgsqlParameter[1];
|
||
nSqlParamEPSSMS[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
dsEPS = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_EPS_Email_details"], nSqlParamEPSSMS);
|
||
// string ticketIdAlias = "";
|
||
string msgDealerTicketCloserForCustomer = System.Web.Configuration.WebConfigurationManager.AppSettings["msgEPSCustomerClosure"].ToString();
|
||
string msgDealerTicketCloserForDealer = System.Web.Configuration.WebConfigurationManager.AppSettings["msgEPSDealerClosure"].ToString();
|
||
string msgDealerTicketCloserForCSM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgEPSCSMClosure"].ToString();
|
||
|
||
msgDealerTicketCloserForCustomer = string.Format(msgDealerTicketCloserForCustomer, ticketIdAlias,
|
||
dsEPS.Tables[0].Rows[0]["product_type"].ToString(), "(" + dsEPS.Tables[0].Rows[0]["engine_number"].ToString() + ")",
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds.Tables[0].Rows[0]["wm_contact_no"].ToString() + ")"
|
||
|
||
);
|
||
// engine no
|
||
|
||
if (model.AssignedTo.Trim().ToUpper() == "VAN")
|
||
{
|
||
|
||
|
||
msgDealerTicketCloserForDealer = string.Format(msgDealerTicketCloserForDealer, ticketIdAlias,
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " (" + ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString() + ") ",
|
||
dsEPS.Tables[0].Rows[0]["product_type"].ToString(), "(" + dsEPS.Tables[0].Rows[0]["engine_number"].ToString() + ")",
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
msgDealerTicketCloserForCSM = string.Format(msgDealerTicketCloserForCSM, ticketIdAlias,
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " (" + ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString() + ") ",
|
||
dsEPS.Tables[0].Rows[0]["product_type"].ToString(), "(" + dsEPS.Tables[0].Rows[0]["engine_number"].ToString() + ")",
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
|
||
}
|
||
else
|
||
{
|
||
|
||
|
||
msgDealerTicketCloserForDealer = string.Format(msgDealerTicketCloserForDealer, ticketIdAlias,
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds.Tables[0].Rows[0]["wm_contact_no"].ToString() + ")",
|
||
dsEPS.Tables[0].Rows[0]["product_type"].ToString(), "(" + dsEPS.Tables[0].Rows[0]["engine_number"].ToString() + ")",
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
msgDealerTicketCloserForCSM = string.Format(msgDealerTicketCloserForCSM, ticketIdAlias,
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds.Tables[0].Rows[0]["wm_contact_no"].ToString() + ")",
|
||
dsEPS.Tables[0].Rows[0]["product_type"].ToString(), "(" + dsEPS.Tables[0].Rows[0]["engine_number"].ToString() + ")",
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
}
|
||
string[] CSMContactNo = ds.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgDealerTicketCloserForCSM);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgDealerTicketCloserForCustomer);
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
|
||
string driverSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgDealerTicketCloserForCustomer);
|
||
objGlobalRepository.SendMessage(driverSms);
|
||
|
||
string[] WMContactNo = ds.Tables[0].Rows[0]["WM_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, WMContactNo[i], msgDealerTicketCloserForDealer);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
string[] SiteIchargeContactNo = ds.Tables[0].Rows[0]["site_incharge_contact"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < SiteIchargeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, SiteIchargeContactNo[i], msgDealerTicketCloserForDealer);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
|
||
}
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region Sending SMS ( When ticket was assigned to Van and Closed )
|
||
|
||
if ((model.TicketStatus == 5 || model.TicketStatus == 7) && model.AssignedTo.Trim().ToUpper() == "VAN")
|
||
{
|
||
if (model.VehicleTagging.ToLower() == "eps" || model.VehicleTagging.ToLower() == "eps ev")
|
||
{
|
||
}
|
||
else
|
||
{
|
||
DataSet ds1 = new DataSet();
|
||
DataSet ds2 = new DataSet();
|
||
DataSet ds3 = new DataSet();
|
||
try
|
||
{
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1_ticket_info = new NpgsqlParameter[2];
|
||
nSqlParam1_ticket_info[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1_ticket_info[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1_ticket_info);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_get_contact_details_for_sms_api " + model.TicketId, Ex.Message, path, errorlogtf);
|
||
// throw Ex;
|
||
}
|
||
// get sms content details.
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam2_ticket_info = new NpgsqlParameter[3];
|
||
nSqlParam2_ticket_info[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam2_ticket_info[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam2_ticket_info[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam2_ticket_info);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_get_customer_open_ticket_details " + model.TicketId, Ex.Message, path, errorlogtf);
|
||
//throw Ex;
|
||
}
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam3_ticket_info = new NpgsqlParameter[1];
|
||
nSqlParam3_ticket_info[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam3_ticket_info);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_get_customer_open_ticket_full_details_ticket_wise " + model.TicketId, Ex.Message, path, errorlogtf);
|
||
// throw Ex;
|
||
}
|
||
//get sending sms api url.
|
||
|
||
// get msg format
|
||
string msgVanTicketCloserForWM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketCloserForWM"].ToString();
|
||
string msgVanTicketCloserForCSM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketCloserForCSM"].ToString();
|
||
//-----------------added on 18-12-2020 (start)----------------------------------------
|
||
// get msg format for customer and owner
|
||
string msgVanTicketPreCloserForCustomer = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketPreCloserForCustomer"].ToString();
|
||
string msgVanTicketPreCloserForOwner = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketPreCloserForOwner"].ToString();
|
||
//-----------------added on 18-12-2020 (end)------------------------------------------
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
if (model.TicketStatus == 7) //added on 18-12-2020
|
||
{ //added on 18-12-2020
|
||
//string[] id = model.TicketId.Split('-');
|
||
|
||
msgVanTicketCloserForWM = string.Format(msgVanTicketCloserForWM, ticketIdAlias, // Ticket Id
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " (" + ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + ") ", // Dealer Name, Dealer City
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
msgVanTicketCloserForCSM = string.Format(msgVanTicketCloserForCSM, ticketIdAlias, // Ticket Id
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " (" + ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + ") ", // Dealer Name, Dealer City
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
string DealerSms = string.Format(url, ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgVanTicketCloserForWM);
|
||
|
||
// get all contact no split in array.
|
||
string[] CSMContactNo = ds.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgVanTicketCloserForCSM);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
|
||
string[] WMContactNo = ds.Tables[0].Rows[0]["WM_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
string WMsms = string.Format(url, WMContactNo[i], msgVanTicketCloserForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
}
|
||
|
||
string[] SiteIchargeContactNo = ds.Tables[0].Rows[0]["site_incharge_contact"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < SiteIchargeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, SiteIchargeContactNo[i], msgVanTicketCloserForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
//objGlobalRepository.SendMessage(DealerSms);
|
||
} //added on 18-12-2020
|
||
|
||
//-----------------------added on 18-12-2020 (start) -------------------------------------
|
||
//added this condition to send sms to customer and owner on ticket closure
|
||
else
|
||
{
|
||
msgVanTicketCloserForWM = string.Format(msgVanTicketCloserForWM, ticketIdAlias, // Ticket Id
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " (" + ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + ") ", // Dealer Name, Dealer City
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
msgVanTicketCloserForCSM = string.Format(msgVanTicketCloserForCSM, ticketIdAlias, // Ticket Id
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " (" + ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + ") ", // Dealer Name, Dealer City
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
|
||
msgVanTicketPreCloserForCustomer = string.Format(msgVanTicketPreCloserForCustomer,
|
||
ticketIdAlias, // Ticket Id
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), // Vehicle Registration Number
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() // Dealer Name, Dealer City
|
||
);
|
||
|
||
|
||
msgVanTicketPreCloserForOwner = string.Format(msgVanTicketPreCloserForOwner,
|
||
ticketIdAlias, // Ticket Id
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), // Vehicle Registration Number
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString());// Dealer Name, Dealer City
|
||
|
||
|
||
|
||
string DealerSms = string.Format(url, ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgVanTicketCloserForWM);
|
||
string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgVanTicketPreCloserForCustomer);
|
||
string OwnerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgVanTicketPreCloserForOwner);
|
||
|
||
// get all contact no split in array.
|
||
string[] CSMContactNo = ds.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgVanTicketCloserForCSM);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
|
||
string[] WMContactNo = ds.Tables[0].Rows[0]["WM_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
string WMsms = string.Format(url, WMContactNo[i], msgVanTicketCloserForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
}
|
||
|
||
string[] SiteIchargeContactNo = ds.Tables[0].Rows[0]["site_incharge_contact"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < SiteIchargeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, SiteIchargeContactNo[i], msgVanTicketCloserForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
// objGlobalRepository.SendMessage(DealerSms);
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
objGlobalRepository.SendMessage(OwnerSms);
|
||
}
|
||
//-----------------------added on 18-12-2020 (end) -------------------------------------
|
||
}
|
||
}
|
||
|
||
}
|
||
#endregion
|
||
|
||
#region Sending SMS ( When ticket was assigned to Dealer and Closed )
|
||
|
||
if ((model.TicketStatus == 5 || model.TicketStatus == 7) && model.AssignedTo.Trim().ToUpper() == "DEALER")
|
||
{
|
||
if (model.VehicleTagging.ToLower() == "eps" || model.VehicleTagging.ToLower() == "eps ev")
|
||
{
|
||
}
|
||
else
|
||
{
|
||
DataSet ds1 = new DataSet();
|
||
DataSet ds2 = new DataSet();
|
||
|
||
DataSet ds3 = new DataSet();
|
||
|
||
try
|
||
{
|
||
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1_ticket_info = new NpgsqlParameter[2];
|
||
nSqlParam1_ticket_info[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1_ticket_info[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1_ticket_info);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_get_contact_details_for_sms_api assigned to Dealer and Closed " + model.TicketId, Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
|
||
try
|
||
{
|
||
// get sms content details.
|
||
NpgsqlParameter[] nSqlParam2_ticket_info = new NpgsqlParameter[3];
|
||
nSqlParam2_ticket_info[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam2_ticket_info[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam2_ticket_info[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam2_ticket_info);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_get_customer_open_ticket_details assigned to Dealer and Closed" + model.TicketId, Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam3_ticket_info = new NpgsqlParameter[1];
|
||
nSqlParam3_ticket_info[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam3_ticket_info);
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_get_customer_open_ticket_full_details_ticket_wise assigned to Dealer and Closed " + model.TicketId, Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
//get sending sms api url.
|
||
|
||
// get msg format
|
||
string msgDealerTicketCloserForCustomer = System.Web.Configuration.WebConfigurationManager.AppSettings["msgDealerTicketCloserForCustomer"].ToString();
|
||
string msgDealerTicketCloserForOwner = System.Web.Configuration.WebConfigurationManager.AppSettings["msgDealerTicketCloserForOwner"].ToString();
|
||
string msgDealerTicketCloserForWM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgDealerTicketCloserForWM"].ToString();
|
||
string msgDealerTicketCloserForCSM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgDealerTicketCloserForCSM"].ToString();
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
//string[] id = model.TicketId.Split('-');
|
||
|
||
msgDealerTicketCloserForCustomer = string.Format(msgDealerTicketCloserForCustomer, ticketIdAlias, // Ticket Id
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), // Vehicle Registration Number
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds2.Tables[0].Rows[0]["dealer_city"].ToString() + ") ");// Dealer Name, Dealer City
|
||
|
||
msgDealerTicketCloserForOwner = string.Format(msgDealerTicketCloserForOwner, ticketIdAlias, // Ticket Id
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), // Vehicle Registration Number
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds2.Tables[0].Rows[0]["dealer_city"].ToString() + ") ");// Dealer Name, Dealer City
|
||
|
||
msgDealerTicketCloserForWM = string.Format(msgDealerTicketCloserForWM, ticketIdAlias, // Ticket Id
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString(),// Dealer Name, Dealer City
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), // Vehicle Registration Number
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
|
||
);
|
||
|
||
msgDealerTicketCloserForCSM = string.Format(msgDealerTicketCloserForCSM, ticketIdAlias, // Ticket ID
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString(),// Dealer Name, Dealer City
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), // Vehicle Registration Number
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
|
||
);
|
||
|
||
|
||
string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgDealerTicketCloserForCustomer);
|
||
string DealerSms = string.Format(url, ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgDealerTicketCloserForWM);
|
||
string OwnerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgDealerTicketCloserForOwner);
|
||
|
||
|
||
// get all contact no split in array.
|
||
string[] CSMContactNo = ds.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgDealerTicketCloserForCSM);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
|
||
string[] WMContactNo = ds.Tables[0].Rows[0]["WM_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
string WMsms = string.Format(url, WMContactNo[i], msgDealerTicketCloserForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
}
|
||
|
||
string[] SiteIchargeContactNo = ds.Tables[0].Rows[0]["site_incharge_contact"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < SiteIchargeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, SiteIchargeContactNo[i], msgDealerTicketCloserForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
// objGlobalRepository.SendMessage(DealerSms);
|
||
objGlobalRepository.SendMessage(OwnerSms);
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region Sending SMS ( When is in preclosure and assigned or in progress )
|
||
if (model.TicketPrevStatusAliasId == "4" && (model.TicketStatus == 2 || model.TicketStatus == 3))
|
||
{
|
||
if (model.VehicleTagging.ToLower() == "eps" || model.VehicleTagging.ToLower() == "eps ev")
|
||
{
|
||
}
|
||
else
|
||
{
|
||
DataSet ds1 = new DataSet();
|
||
DataSet ds2 = new DataSet();
|
||
DataSet ds3 = new DataSet();
|
||
try
|
||
{
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1_ticket_info = new NpgsqlParameter[2];
|
||
nSqlParam1_ticket_info[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1_ticket_info[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1_ticket_info);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb usp_get_contact_details_for_sms_api", ex.Message, this.path, this.errorlogtf);
|
||
|
||
}
|
||
ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
|
||
// get sms content details.
|
||
try
|
||
{
|
||
if (model.VehicleTagging.ToLower() == "eps" || model.VehicleTagging.ToLower() == "eps ev")
|
||
|
||
{
|
||
NpgsqlParameter[] nSqlParam2_ticket_info = new NpgsqlParameter[4];
|
||
nSqlParam2_ticket_info[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam2_ticket_info[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam2_ticket_info[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
nSqlParam2_ticket_info[3] = new NpgsqlParameter("inEngineNumber", null);
|
||
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details_EPS"], nSqlParam2_ticket_info);
|
||
|
||
}
|
||
else
|
||
{
|
||
NpgsqlParameter[] nSqlParam2_ticket_info = new NpgsqlParameter[3];
|
||
nSqlParam2_ticket_info[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam2_ticket_info[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam2_ticket_info[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam2_ticket_info);
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb usp_get_customer_open_ticket_details", ex.Message, this.path, this.errorlogtf);
|
||
|
||
}
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam3_ticket_info = new NpgsqlParameter[1];
|
||
nSqlParam3_ticket_info[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam3_ticket_info);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb usp_get_customer_open_ticket_full_details_ticket_wise", ex.Message, this.path, this.errorlogtf);
|
||
|
||
}
|
||
if (model.AssignedToUserId == null)
|
||
{
|
||
|
||
model.AssignedToUserId = ds1.Tables[0].Rows[0]["assigned_to_user_id"].ToString();
|
||
}
|
||
else
|
||
{
|
||
|
||
}
|
||
|
||
if (TicketPrevDealerCode == model.AssignedToUserId)
|
||
{
|
||
|
||
}
|
||
else
|
||
{
|
||
if (model.AssignedTo.ToLower() == "van")
|
||
{
|
||
|
||
|
||
}
|
||
else
|
||
{
|
||
if (model.TicketStatus == 2)
|
||
{
|
||
|
||
InsertTicketDetailOnCreationInVECV(model, model.TicketIdAlias, objModel.TicketId, model.AssignedToUserId);
|
||
}
|
||
}
|
||
}
|
||
|
||
// get msg format
|
||
string msgDealerTicketCloserForCustomer = "";
|
||
string msgDealerTicketCloserForOwner = "";
|
||
string msgDealerTicketCloserForWM = "";
|
||
string msgDealerTicketCloserForCSM = "";
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
string creationDateAndTime = ds1.Tables[0].Rows[0]["last_modified_time"].ToString();
|
||
string creationDate = "";
|
||
string creationTime = "";
|
||
|
||
if (!string.IsNullOrEmpty(creationDateAndTime))
|
||
{
|
||
DateTime dt = DateTime.Parse(creationDateAndTime).AddMinutes(model.UtcMinute);
|
||
creationDate = dt.ToString("dd/MM");
|
||
creationTime = dt.ToString("HH:mm");
|
||
}
|
||
|
||
|
||
msgDealerTicketCloserForCustomer = System.Web.Configuration.WebConfigurationManager.AppSettings["msgReopenPreclousre"].ToString();
|
||
msgDealerTicketCloserForOwner = System.Web.Configuration.WebConfigurationManager.AppSettings["msgReopenPreclousre"].ToString(); //string[] id = model.TicketId.Split('-');
|
||
msgDealerTicketCloserForWM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgReopenPreclousre"].ToString();
|
||
|
||
msgDealerTicketCloserForCSM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgReopenPreclousre"].ToString();
|
||
|
||
msgDealerTicketCloserForCustomer = string.Format(msgDealerTicketCloserForCustomer, ticketIdAlias, // Ticket Id
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(),
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " at " + creationDate + " " + creationTime
|
||
); ;
|
||
msgDealerTicketCloserForWM = string.Format(msgDealerTicketCloserForWM, ticketIdAlias, // Ticket Id
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(),
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " at " + creationDate + " " + creationTime
|
||
);
|
||
|
||
string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgDealerTicketCloserForCustomer);
|
||
string DealerSms = string.Format(url, ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgDealerTicketCloserForCustomer);
|
||
string OwnerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgDealerTicketCloserForCustomer);
|
||
|
||
|
||
// get all contact no split in array.
|
||
string[] CSMContactNo = ds.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgDealerTicketCloserForCustomer);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
|
||
|
||
string[] WMContactNo = ds.Tables[0].Rows[0]["WM_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
string WMsms = string.Format(url, WMContactNo[i], msgDealerTicketCloserForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
}
|
||
|
||
string[] SiteIchargeContactNo = ds.Tables[0].Rows[0]["site_incharge_contact"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < SiteIchargeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, SiteIchargeContactNo[i], msgDealerTicketCloserForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
objGlobalRepository.SendMessage(DealerSms);
|
||
// objGlobalRepository.SendMessage(OwnerSms);
|
||
}
|
||
NpgsqlParameter[] nSqlParamreClousre = new NpgsqlParameter[1];
|
||
nSqlParamreClousre[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_ticket_reopen_count"], nSqlParamreClousre);
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
#region for update ticket
|
||
if (model.TicketStatus == 5)
|
||
{
|
||
model._24HrsReason = null;
|
||
}
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParamopen = new NpgsqlParameter[1];
|
||
nSqlParamopen[0] = new NpgsqlParameter("inticketid ", model.TicketId);
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_ticket_Cogent_API_By_ticketId"], nSqlParamopen);
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
strTicketStatus = dsOpen.Tables[0].Rows[0]["_ticket_status"].ToString();
|
||
|
||
}
|
||
|
||
// updating ticket status and creating activity by trigger
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[37]; //increase count on 18-12-2020
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam[1] = new NpgsqlParameter("inassigned_to", model.AssignedTo);
|
||
nSqlParam[2] = new NpgsqlParameter("inreported_via", model.ReportedVia);
|
||
nSqlParam[3] = new NpgsqlParameter("inpriority", model.Priority);
|
||
nSqlParam[4] = new NpgsqlParameter("incustomer_score", model.CustomerScore);
|
||
nSqlParam[5] = new NpgsqlParameter("inbreakdown_location", model.BreakdownLocation);
|
||
nSqlParam[6] = new NpgsqlParameter("inlast_modified_by", model.LastModifiedBy);
|
||
nSqlParam[7] = new NpgsqlParameter("inlast_modified_time", model.LastModifiedTime != null ? Convert.ToDateTime(model.LastModifiedTime).AddMinutes(-model.UtcMinute) : model.LastModifiedTime);
|
||
nSqlParam[8] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
nSqlParam[9] = new NpgsqlParameter("indescription", model.Description);
|
||
nSqlParam[10] = new NpgsqlParameter("inbreakdown_longitude", model.BreakdownLongitude);
|
||
nSqlParam[11] = new NpgsqlParameter("inbreakdown_lattitude", model.BreakdownLattitude);
|
||
nSqlParam[12] = new NpgsqlParameter("inassigned_to_user_id", model.AssignedToUserId);
|
||
nSqlParam[13] = new NpgsqlParameter("inassigned_to_user_lattitude", model.AssignedToUserLattitude);
|
||
nSqlParam[14] = new NpgsqlParameter("inassigned_to_user_longitude", model.AssignedToUserLongitude);
|
||
nSqlParam[15] = new NpgsqlParameter("inestimated_time_for_job_completion", model.EstimatedTimeForJobCompletion);
|
||
nSqlParam[16] = new NpgsqlParameter("inestimated_time_for_job_completion_submit_time", model.EstimatedTimeForJobCompletionSubmitTime != null ? Convert.ToDateTime(model.EstimatedTimeForJobCompletionSubmitTime).AddMinutes(-model.UtcMinute) : model.EstimatedTimeForJobCompletionSubmitTime);
|
||
nSqlParam[17] = new NpgsqlParameter("inbreakdown_location_landmark", model.BreakdownLocationLandmark);
|
||
nSqlParam[18] = new NpgsqlParameter("inroute_id", model.RouteId);
|
||
nSqlParam[19] = new NpgsqlParameter("inrepair_cost", model.RepairCost);
|
||
nSqlParam[20] = new NpgsqlParameter("indefault_sla_time", model.DefaultSlaTime);
|
||
nSqlParam[21] = new NpgsqlParameter("insla_missed_reason", model.SlaMissedReason);
|
||
nSqlParam[22] = new NpgsqlParameter("insuggestion_comment", model.SuggestionComment);
|
||
nSqlParam[23] = new NpgsqlParameter("indefault_col_1", model.JobCompleteResponseTime);
|
||
nSqlParam[24] = new NpgsqlParameter("indefault_col_2", model.DefaultCol2);
|
||
nSqlParam[25] = new NpgsqlParameter("indefault_col_3", model.DefaultCol3);
|
||
nSqlParam[26] = new NpgsqlParameter("inopportunity_loss", model.OpportunityLost);
|
||
nSqlParam[27] = new NpgsqlParameter("inreason_for_more_then_24hours", model._24HrsReason);
|
||
nSqlParam[28] = new NpgsqlParameter("inestimated_distance", model.EstimateDistance);
|
||
nSqlParam[29] = new NpgsqlParameter("inother_remarks", model.OtherRemarks);
|
||
nSqlParam[30] = new NpgsqlParameter("inchassis_number", model.ChassisNo);
|
||
nSqlParam[31] = new NpgsqlParameter("inodometer_reading", model.OdometerReading);
|
||
nSqlParam[32] = new NpgsqlParameter("invehicle_type", model.VehicleType);
|
||
nSqlParam[33] = new NpgsqlParameter("inprevious_odometer_reading", model.PreviousOdometerReading);
|
||
nSqlParam[34] = new NpgsqlParameter("inticket_closed_reason", model.TicketClosedReason); //added on 18-12-2020
|
||
nSqlParam[35] = new NpgsqlParameter("inIsMobileRequest", model.IsMobileRequest);
|
||
nSqlParam[36] = new NpgsqlParameter("inpreclosure_reason", model.preclosure_reason); //added on 18-12-2020
|
||
// ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_ticket_ticket_id"], nSqlParam);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_open_ticket_status"], nSqlParam);
|
||
|
||
objLog.AddLogFile("EPS Mail", model.VehicleTagging.ToLower(), path, errorlogtf);
|
||
objLog.AddLogFile("EPS Mail ticket status", model.TicketStatus.ToString(), path, errorlogtf);
|
||
#endregion
|
||
|
||
#region send email eps
|
||
string strVanReach = "";
|
||
if (model.TicketStatus == 7)
|
||
{
|
||
|
||
if (model.VehicleTagging.ToLower() == "eps" || model.VehicleTagging.ToLower() == "eps ev")
|
||
{
|
||
objLog.AddLogFile("EPS Mail yes", model.TicketId, path, errorlogtf);
|
||
|
||
string isSend = sendEPSClosureTicketmail(model.TicketId);
|
||
|
||
}
|
||
}
|
||
if (model.TicketStatus == 5)
|
||
{
|
||
|
||
if (model.VehicleTagging.ToLower() == "eps" || model.VehicleTagging.ToLower() == "eps ev")
|
||
{
|
||
objLog.AddLogFile("EPS Mail yes", model.TicketId, path, errorlogtf);
|
||
|
||
string isSend = sendEPSClosureTicketmail(model.TicketId);
|
||
|
||
}
|
||
// DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParamclose = new NpgsqlParameter[1];
|
||
nSqlParamclose[0] = new NpgsqlParameter("inticket_id ", model.TicketId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_reach_time_close"], nSqlParamclose);
|
||
if (ds == null)
|
||
{
|
||
}
|
||
else
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strVanReach = Convert.ToString(ds.Tables[0].Rows[0]["_creation_time"]) == "" ? "" : Convert.ToDateTime(ds.Tables[0].Rows[0]["_creation_time"]).ToString(System.Configuration.ConfigurationManager.AppSettings["DateTimeFormatSAP"]);
|
||
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
#region for GCM
|
||
try
|
||
{
|
||
if (model.TicketId != null && model.TicketId != "")
|
||
{
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[1];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
// Get device GCM id for a ticket.
|
||
dsGcm = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_service_engg_device_gcm_id"], nSqlParam1);
|
||
string tagging = "";
|
||
if (dsGcm.Tables[0].Rows.Count > 0)
|
||
{
|
||
objGcmModel.DeviceGcmId = dsGcm.Tables[0].Rows[0]["_device_id"].ToString();
|
||
if (model.TicketStatus == 1)
|
||
{
|
||
objGcmModel.NotificationMessage = ConfigurationManager.AppSettings["MessageInsert"];
|
||
}
|
||
else
|
||
{
|
||
objGcmModel.NotificationMessage = ConfigurationManager.AppSettings["MessageUpdate"];
|
||
}
|
||
objGcmModel.TicketId = model.TicketId;
|
||
objGcmModel.TicketStatus = model.TicketStatus.ToString();
|
||
objGcmModel.PrevTicketStatus = model.TicketPrevStatusAliasId;
|
||
|
||
if (objGcmModel.TicketStatus == "2" && objGcmModel.PrevTicketStatus == "1")
|
||
{
|
||
string userlan = "";
|
||
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
||
string userlanguage = objTicketRepository.getLanguage(model);
|
||
string[] stusrlan = userlanguage.Split(',');
|
||
|
||
userlan = stusrlan[0].ToString();
|
||
tagging = stusrlan[1].ToString();
|
||
string notiifcation = "false";
|
||
if (userlan.ToLower() == "kannada")
|
||
{
|
||
string Notificationmsg = System.Web.Configuration.WebConfigurationManager.AppSettings["NotificationKannada"].ToString();
|
||
Notificationmsg = string.Format(Notificationmsg);
|
||
objGcmModel.NotificationMessage = Notificationmsg;
|
||
notiifcation = "true";
|
||
}
|
||
if (userlan.ToLower() == "english")
|
||
{
|
||
string Notificationmsg = System.Web.Configuration.WebConfigurationManager.AppSettings["NotificationEnglish"].ToString();
|
||
Notificationmsg = string.Format(Notificationmsg);
|
||
objGcmModel.NotificationMessage = Notificationmsg;
|
||
|
||
notiifcation = "true";
|
||
}
|
||
if (userlan.ToLower() == "tamil")
|
||
{
|
||
string Notificationmsg = System.Web.Configuration.WebConfigurationManager.AppSettings["NotificationTamil"].ToString();
|
||
Notificationmsg = string.Format(Notificationmsg);
|
||
objGcmModel.NotificationMessage = Notificationmsg;
|
||
notiifcation = "true";
|
||
}
|
||
if (userlan.ToLower() == "telugu")
|
||
{
|
||
string Notificationmsg = System.Web.Configuration.WebConfigurationManager.AppSettings["NotificationTelugu"].ToString();
|
||
Notificationmsg = string.Format(Notificationmsg);
|
||
objGcmModel.NotificationMessage = Notificationmsg;
|
||
notiifcation = "true";
|
||
}
|
||
if (userlan.ToLower() == "malayalam")
|
||
{
|
||
string Notificationmsg = System.Web.Configuration.WebConfigurationManager.AppSettings["NotificationMalayalam"].ToString();
|
||
Notificationmsg = string.Format(Notificationmsg);
|
||
objGcmModel.NotificationMessage = Notificationmsg;
|
||
notiifcation = "true";
|
||
}
|
||
if (notiifcation == "false")
|
||
{
|
||
string NotificationHindi = System.Web.Configuration.WebConfigurationManager.AppSettings["NotificationHindi"].ToString();
|
||
NotificationHindi = string.Format(NotificationHindi);
|
||
objGcmModel.NotificationMessage = NotificationHindi;
|
||
|
||
}
|
||
}
|
||
|
||
//"New EOS Ticket 🎟️ \"" + model.TicketIdAlias + "\" is assigned on 🕒 \"" + ctime + "\".Please act accordingly ⚠️";
|
||
|
||
objGcmModel.title = "🚨 " + tagging + " New EOS Ticket 🚨 - 🎟️ " + model.TicketIdAlias + " ";
|
||
// objGcmModel.NotificationMessage= "New EOS 🎫 ticket " + model.TicketIdAlias+" is assigned on "+ctime + ".Please act accordingly";
|
||
objGcmModel.TicketStatus = model.TicketStatus.ToString();
|
||
objGcmModel.PrevTicketStatus = model.TicketPrevStatusAliasId;
|
||
if (Convert.ToInt32(dsGcm.Tables[0].Rows[0]["_push_notification_bit"]) == 0)
|
||
{
|
||
|
||
objGcmModel = objGlobalRepository.GcmSendNotificationNew(objGcmModel);
|
||
// objGcmModel = objGlobalRepository.GcmSendNotificationNew(objGcmModel);
|
||
objModel.SenderId = objGcmModel.SenderId;
|
||
objModel.Status = objGcmModel.Status;
|
||
}
|
||
|
||
}
|
||
}
|
||
objLog.AddLogFile("GcmSendNotification Notification", objGcmModel.SenderId, path, errorlogtf);
|
||
objLog.AddLogFile("GcmSendNotification Notification", objGcmModel.NotificationMessage, path, errorlogtf);
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
// write error log into file
|
||
objLog.ErrorLogFile("GcmSendNotification updateopenticektweb", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
#endregion
|
||
|
||
|
||
|
||
#region for dbm
|
||
objLog.AddLogFile("DBM Log update open ticket", model.AssignedTo, path, errorlogtf);
|
||
|
||
objLog.AddLogFile("DBM Log update open ticket", model.TicketStatus.ToString(), path, errorlogtf);
|
||
|
||
if (model.TicketStatus == 8)
|
||
{
|
||
UdanPushData.SendDataToSAP(null, model.TicketStatus, model.TicketId, strVanReach);
|
||
}
|
||
else if (model.TicketStatus == 5)
|
||
{
|
||
UdanPushData.SendDataToSAP(null, model.TicketStatus, model.TicketId, strVanReach);
|
||
}
|
||
//added on 1/10/2020
|
||
|
||
else if (model.AssignedTo == "van")
|
||
{
|
||
if (model.TicketStatus == 1)
|
||
{
|
||
objLog.AddLogFile("DBM Log update open ticket 4", model.VehicleRegistrationNumber.ToString(), path, errorlogtf);
|
||
|
||
UdanPushData.SendDataToSAP(model.VehicleRegistrationNumber, model.TicketStatus, "", strVanReach);
|
||
}
|
||
}
|
||
|
||
else if (model.AssignedTo == "dealer")
|
||
{
|
||
if (model.TicketStatus == 2)
|
||
{
|
||
objLog.AddLogFile("DBM Log update open ticket 5", model.VehicleRegistrationNumber.ToString(), path, errorlogtf);
|
||
|
||
UdanPushData.SendDataToSAP(model.VehicleRegistrationNumber, model.TicketStatus, "", strVanReach);
|
||
}
|
||
}
|
||
#endregion
|
||
// Send GCM msg to device
|
||
#region Sending SMS ( SCV assignrd to van)
|
||
/* if ((model.TicketPrevStatusAliasId == "1") && (model.TicketStatus == 2 && model.AssignedTo.Trim().ToUpper() == "VAN"))
|
||
{
|
||
if (model.TicketIdAlias.ToLower().Contains("p"))
|
||
{
|
||
DataSet ds1_ticket_info = new DataSet();
|
||
DataSet ds2_ticket_info = new DataSet();
|
||
DataSet ds3_ticket_info = new DataSet();
|
||
DataSet ds3_ticket_comment = new DataSet();
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParamcomment = new NpgsqlParameter[1];
|
||
nSqlParamcomment[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
|
||
ds3_ticket_comment = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_assigned_comment_van"], nSqlParamcomment);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb usp_get_assigned_comment_van" + model.TicketId, ex.Message, this.path, this.errorlogtf);
|
||
|
||
}
|
||
try
|
||
{
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds3_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb usp_get_contact_details_for_sms_api" + model.TicketId, ex.Message, this.path, this.errorlogtf);
|
||
|
||
}
|
||
if (ds3_ticket_info.Tables[0].Rows.Count > 0)
|
||
{
|
||
ticketIdAlias = ds3_ticket_info.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
}
|
||
else
|
||
{
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb usp_get_contact_details_for_sms_api no data" + model.TicketId, "no data", this.path, this.errorlogtf);
|
||
|
||
|
||
}
|
||
|
||
try
|
||
{
|
||
|
||
// get sms content details.
|
||
nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds1_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam);
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb usp_get_customer_open_ticket_details" + model.TicketId, ex.Message, this.path, this.errorlogtf);
|
||
|
||
}
|
||
try
|
||
{
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds2_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb usp_get_customer_open_ticket_full_details_ticket_wise" + model.TicketId, ex.Message, this.path, this.errorlogtf);
|
||
|
||
}
|
||
string newdealerCode = ds2_ticket_info.Tables[0].Rows[0]["dealer_id"].ToString();
|
||
string msgCustforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgCustforVanTicketwithOTP"].ToString();
|
||
DataSet ds1 = new DataSet();
|
||
if (!String.IsNullOrWhiteSpace(ticketIdAlias))
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam2 = new NpgsqlParameter[2];
|
||
nSqlParam2[0] = new NpgsqlParameter("inticket_id", ticketIdAlias);
|
||
nSqlParam2[1] = new NpgsqlParameter("in_van_id", "");
|
||
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_otp"], nSqlParam2);
|
||
|
||
if (Convert.ToInt32(ds1.Tables[0].Rows[0][0]) != null && Convert.ToInt32(ds1.Tables[0].Rows[0][0]) != 0)
|
||
{
|
||
//msgCustforVanTicket += "Plesae Share the Happy Code with the VAN Code-" + ds1.Tables[0].Rows[0][0];
|
||
|
||
|
||
}
|
||
|
||
}
|
||
string msgOwnerforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgOwnerforVanTicket"].ToString();
|
||
string msgDealerforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgDealerforVanTicket"].ToString();
|
||
string msgWMforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgWMforVanTicket"].ToString();
|
||
string msgCSMforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgCSMforVanTicket"].ToString();
|
||
if (ds3_ticket_info.Tables[0].Rows.Count > 0)
|
||
{
|
||
msgCustforVanTicket = string.Format(msgCustforVanTicket, ticketIdAlias,
|
||
|
||
// Ticket Id
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds3_ticket_info.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // Service_Engineer_Name Service_Engineer_Contact
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(), // EOS van registration number
|
||
ConfigurationManager.AppSettings["TollFreeNo"].ToString(),// Toll free number
|
||
ds1.Tables[0].Rows[0][0]); // Toll free number); //added on 04-03-2021
|
||
//mobileOtp = Convert.ToInt32(dsGcm.Tables[0].Rows[0]["sp_create_ticket_otp"]);
|
||
|
||
|
||
DataSet dsmobileotp = new DataSet();
|
||
if (!String.IsNullOrWhiteSpace(ticketIdAlias))
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam2 = new NpgsqlParameter[2];
|
||
nSqlParam2[0] = new NpgsqlParameter("inticket_id", ticketIdAlias);
|
||
nSqlParam2[1] = new NpgsqlParameter("in_van_id", "");
|
||
|
||
|
||
dsmobileotp = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_otp"], nSqlParam2);
|
||
|
||
|
||
|
||
}
|
||
|
||
string dssmstime = getimeForSMS(model.TicketId);
|
||
|
||
DataSet ds2_titan_info = new DataSet();
|
||
try
|
||
{
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds2_titan_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb usp_get_customer_open_ticket_full_details_ticket_wise" + model.TicketId, ex.Message, this.path, this.errorlogtf);
|
||
|
||
}
|
||
string str = ds2_titan_info.Tables[0].Rows[0]["_model_number"].ToString().ToLower();
|
||
string substring = "titan";
|
||
if (str.Contains(substring))
|
||
{
|
||
string strurl = Encrypt(ticketIdAlias, "Tracking", "YourSaltValue");
|
||
//string strurl = Encrypt("W2H0524869754", "Tracking", "YourSaltValue");
|
||
string liveurl = System.Web.Configuration.WebConfigurationManager.AppSettings["base_url_live_tracking"].ToString();// + strurl;
|
||
string smsSentUrl = $"{liveurl}?{"p"}={Uri.EscapeDataString(strurl)}";
|
||
|
||
//smsSentUrl= smsSentUrl.Replace("%3D","=");
|
||
string msgestimatedVanReachTime = System.Web.Configuration.WebConfigurationManager.AppSettings["msgTitanCreationVan"].ToString();
|
||
msgestimatedVanReachTime = string.Format(msgestimatedVanReachTime, ticketIdAlias,
|
||
dssmstime.ToString(), ds3_ticket_info.Tables[0].Rows[0]["vehicle_registration_number"].ToString(),
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(),
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_dealer_name"].ToString(),
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds3_ticket_info.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(),
|
||
dsmobileotp.Tables[0].Rows[0][0],
|
||
smsSentUrl);
|
||
|
||
// ds3_ticket_info.Tables[0].Rows[0]["dealer_dealer_name"].ToString());
|
||
string CustomerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgestimatedVanReachTime);
|
||
string OwnerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgestimatedVanReachTime);
|
||
objLog.AddLogFile("OwnerSms", OwnerSms, path, errorlogtf);
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
objGlobalRepository.SendMessage(OwnerSms);
|
||
|
||
}
|
||
|
||
|
||
}
|
||
}
|
||
}*/
|
||
#endregion
|
||
|
||
#region Sending SMS ( When ticket is assigned to Van first time )
|
||
|
||
if ((ds_latest_ticket_activity.Tables[0].Rows[0][0].ToString() == "1") && (model.TicketStatus == 2) && model.AssignedTo.Trim().ToUpper() == "VAN")
|
||
{
|
||
if (model.VehicleTagging.ToLower() == "eps" || model.VehicleTagging.ToLower() == "eps ev")
|
||
{
|
||
DataSet ds3_ticket_comment = new DataSet();
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParamcomment = new NpgsqlParameter[1];
|
||
nSqlParamcomment[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
|
||
ds3_ticket_comment = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_assigned_comment_van"], nSqlParamcomment);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb usp_get_assigned_comment_van" + model.TicketId, ex.Message, this.path, this.errorlogtf);
|
||
|
||
}
|
||
#region sending SMS
|
||
DataSet ds1 = new DataSet();
|
||
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
|
||
DataSet dsEPS = new DataSet();
|
||
NpgsqlParameter[] nSqlParamEPS = new NpgsqlParameter[1];
|
||
nSqlParamEPS[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
dsEPS = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_EPS_Email_details"], nSqlParamEPS);
|
||
ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
string dssmstime = getimeForSMS(model.TicketId);
|
||
NpgsqlParameter[] nSqlParam2_ticket_info = new NpgsqlParameter[4];
|
||
nSqlParam2_ticket_info[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam2_ticket_info[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam2_ticket_info[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
nSqlParam2_ticket_info[3] = new NpgsqlParameter("inEngineNumber", null);
|
||
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details_EPS"], nSqlParam2_ticket_info);
|
||
DataSet dsmobileotp = new DataSet();
|
||
if (!String.IsNullOrWhiteSpace(ticketIdAlias))
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam2 = new NpgsqlParameter[2];
|
||
nSqlParam2[0] = new NpgsqlParameter("inticket_id", ticketIdAlias);
|
||
nSqlParam2[1] = new NpgsqlParameter("in_van_id", "");
|
||
|
||
|
||
dsmobileotp = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_otp"], nSqlParam2);
|
||
|
||
|
||
|
||
}
|
||
DataSet ds3_ticket_info = new DataSet();
|
||
try
|
||
{
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1info = new NpgsqlParameter[2];
|
||
nSqlParam1info[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1info[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds3_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1info);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb usp_get_contact_details_for_sms_api" + model.TicketId, ex.Message, this.path, this.errorlogtf);
|
||
|
||
}
|
||
string msgEPSCustomerVanAssignment = System.Web.Configuration.WebConfigurationManager.AppSettings["msgEPSCustomerVanAssignment"].ToString();
|
||
string msgEPSDealerVanAssignment = System.Web.Configuration.WebConfigurationManager.AppSettings["msgEPSDealerVanAssignment"].ToString();
|
||
string msgEPSCSMVanAssignment = System.Web.Configuration.WebConfigurationManager.AppSettings["msgEPSCSMVanAssignment"].ToString();
|
||
string msgEPSTechVanAssignment = System.Web.Configuration.WebConfigurationManager.AppSettings["msgEPSTechVanAssignment"].ToString();
|
||
|
||
msgEPSCustomerVanAssignment = string.Format(msgEPSCustomerVanAssignment, ticketIdAlias,
|
||
dssmstime, dsEPS.Tables[0].Rows[0]["product_type"].ToString(), "(" + dsEPS.Tables[0].Rows[0]["engine_number"].ToString() + ")",// engine no
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " (" + ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString() + ")",
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds.Tables[0].Rows[0]["wm_contact_no"].ToString() + ")",
|
||
dsmobileotp.Tables[0].Rows[0][0]// dealer name wm no
|
||
|
||
);
|
||
// engine no
|
||
|
||
|
||
|
||
msgEPSDealerVanAssignment = string.Format(msgEPSDealerVanAssignment, ticketIdAlias,
|
||
dsEPS.Tables[0].Rows[0]["product_type"].ToString(), "(" + dsEPS.Tables[0].Rows[0]["engine_number"].ToString() + ")",
|
||
ds1.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"),
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " (" + ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString() + ")",
|
||
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() ,// dealer name wm no
|
||
|
||
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
msgEPSCSMVanAssignment = string.Format(msgEPSCSMVanAssignment, ticketIdAlias,
|
||
dsEPS.Tables[0].Rows[0]["product_type"].ToString(), "(" + dsEPS.Tables[0].Rows[0]["engine_number"].ToString() + ")",
|
||
ds1.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"),
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds.Tables[0].Rows[0]["wm_contact_no"].ToString() + ")",// dealer name wm no
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
msgEPSTechVanAssignment = string.Format(msgEPSTechVanAssignment, ticketIdAlias,
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(),
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString(),
|
||
dsEPS.Tables[0].Rows[0]["product_type"].ToString(), "(" + dsEPS.Tables[0].Rows[0]["engine_number"].ToString() + ")",
|
||
ds1.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"),
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
string[] CSMContactNo = ds.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgEPSCSMVanAssignment);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgEPSCustomerVanAssignment);
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
|
||
string driverSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgEPSCustomerVanAssignment);
|
||
objGlobalRepository.SendMessage(driverSms);
|
||
|
||
string[] WMContactNo = ds.Tables[0].Rows[0]["WM_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, WMContactNo[i], msgEPSDealerVanAssignment);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
string[] SiteIchargeContactNo = ds.Tables[0].Rows[0]["site_incharge_contact"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < SiteIchargeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, SiteIchargeContactNo[i], msgEPSDealerVanAssignment);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
|
||
string TechSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), msgEPSTechVanAssignment);
|
||
objGlobalRepository.SendMessage(TechSms);
|
||
|
||
|
||
#endregion
|
||
}
|
||
else
|
||
{
|
||
DataSet ds1_ticket_info = new DataSet();
|
||
DataSet ds2_ticket_info = new DataSet();
|
||
DataSet ds3_ticket_info = new DataSet();
|
||
DataSet ds3_ticket_comment = new DataSet();
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParamcomment = new NpgsqlParameter[1];
|
||
nSqlParamcomment[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
|
||
ds3_ticket_comment = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_assigned_comment_van"], nSqlParamcomment);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb usp_get_assigned_comment_van" + model.TicketId, ex.Message, this.path, this.errorlogtf);
|
||
|
||
}
|
||
try
|
||
{
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds3_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb usp_get_contact_details_for_sms_api" + model.TicketId, ex.Message, this.path, this.errorlogtf);
|
||
|
||
}
|
||
if (ds3_ticket_info.Tables[0].Rows.Count > 0)
|
||
{
|
||
ticketIdAlias = ds3_ticket_info.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
}
|
||
else
|
||
{
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb usp_get_contact_details_for_sms_api no data" + model.TicketId, "no data", this.path, this.errorlogtf);
|
||
|
||
|
||
}
|
||
|
||
try
|
||
{
|
||
if (ticketIdAlias.Contains('P') == true)
|
||
{
|
||
nSqlParam = new NpgsqlParameter[4];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
nSqlParam[3] = new NpgsqlParameter("inEngineNumber", null);
|
||
|
||
ds1_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details_EPS"], nSqlParam);
|
||
|
||
}
|
||
else
|
||
{
|
||
// get sms content details.
|
||
nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds1_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam);
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb usp_get_customer_open_ticket_details" + model.TicketId, ex.Message, this.path, this.errorlogtf);
|
||
|
||
}
|
||
try
|
||
{
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds2_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb usp_get_customer_open_ticket_full_details_ticket_wise" + model.TicketId, ex.Message, this.path, this.errorlogtf);
|
||
|
||
}
|
||
string newdealerCode = ds2_ticket_info.Tables[0].Rows[0]["dealer_id"].ToString();
|
||
|
||
InsertTicketDetailOnCreationInVECV(model, model.TicketIdAlias, model.TicketId, newdealerCode);
|
||
|
||
// get msg format
|
||
// ------------- modified on 04-03-2021 start -----------------------------------
|
||
//string msgCustforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgCustforVanTicket"].ToString();
|
||
string msgCustforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgCustforVanTicketwithOTP"].ToString();
|
||
DataSet ds1 = new DataSet();
|
||
if (!String.IsNullOrWhiteSpace(ticketIdAlias))
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam2 = new NpgsqlParameter[2];
|
||
nSqlParam2[0] = new NpgsqlParameter("inticket_id", ticketIdAlias);
|
||
nSqlParam2[1] = new NpgsqlParameter("in_van_id", "");
|
||
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_otp"], nSqlParam2);
|
||
|
||
if (Convert.ToInt32(ds1.Tables[0].Rows[0][0]) != null && Convert.ToInt32(ds1.Tables[0].Rows[0][0]) != 0)
|
||
{
|
||
//msgCustforVanTicket += "Plesae Share the Happy Code with the VAN Code-" + ds1.Tables[0].Rows[0][0];
|
||
|
||
|
||
}
|
||
|
||
}
|
||
// ------------- modified on 04-03-2
|
||
|
||
string msgOwnerforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgOwnerforVanTicket"].ToString();
|
||
string msgDealerforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgDealerforVanTicket"].ToString();
|
||
string msgWMforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgWMforVanTicket"].ToString();
|
||
string msgCSMforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgCSMforVanTicket"].ToString();
|
||
if (ds3_ticket_info.Tables[0].Rows.Count > 0)
|
||
{
|
||
|
||
//vehicle_registration_number
|
||
msgCustforVanTicket = string.Format(msgCustforVanTicket, ticketIdAlias,
|
||
|
||
// Ticket Id
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds3_ticket_info.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // Service_Engineer_Name Service_Engineer_Contact
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(), // EOS van registration number
|
||
ConfigurationManager.AppSettings["TollFreeNo"].ToString(),// Toll free number
|
||
ds1.Tables[0].Rows[0][0]); // Toll free number); //added on 04-03-2021
|
||
//mobileOtp = Convert.ToInt32(dsGcm.Tables[0].Rows[0]["sp_create_ticket_otp"]);
|
||
|
||
|
||
DataSet dsmobileotp = new DataSet();
|
||
if (!String.IsNullOrWhiteSpace(ticketIdAlias))
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam2 = new NpgsqlParameter[2];
|
||
nSqlParam2[0] = new NpgsqlParameter("inticket_id", ticketIdAlias);
|
||
nSqlParam2[1] = new NpgsqlParameter("in_van_id", "");
|
||
|
||
|
||
dsmobileotp = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_otp"], nSqlParam2);
|
||
|
||
|
||
|
||
}
|
||
|
||
string dssmstime = getimeForSMS(model.TicketId);
|
||
|
||
DataSet ds2_titan_info = new DataSet();
|
||
try
|
||
{
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds2_titan_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb usp_get_customer_open_ticket_full_details_ticket_wise" + model.TicketId, ex.Message, this.path, this.errorlogtf);
|
||
|
||
}
|
||
string str = ds2_titan_info.Tables[0].Rows[0]["_model_number"].ToString().ToLower();
|
||
string substring = "titan";
|
||
if (str.Contains(substring))
|
||
{
|
||
string strurl = Encrypt(ticketIdAlias, "Tracking", "YourSaltValue");
|
||
//string strurl = Encrypt("W2H0524869754", "Tracking", "YourSaltValue");
|
||
string liveurl = System.Web.Configuration.WebConfigurationManager.AppSettings["base_url_live_tracking"].ToString();// + strurl;
|
||
string smsSentUrl = $"{liveurl}?{"p"}={Uri.EscapeDataString(strurl)}";
|
||
|
||
//smsSentUrl= smsSentUrl.Replace("%3D","=");
|
||
string msgestimatedVanReachTime = System.Web.Configuration.WebConfigurationManager.AppSettings["msgTitanCreationVan"].ToString();
|
||
msgestimatedVanReachTime = string.Format(msgestimatedVanReachTime, ticketIdAlias,
|
||
dssmstime.ToString(), ds3_ticket_info.Tables[0].Rows[0]["vehicle_registration_number"].ToString(),
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(),
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_dealer_name"].ToString(),
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds3_ticket_info.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(),
|
||
dsmobileotp.Tables[0].Rows[0][0],
|
||
smsSentUrl);
|
||
|
||
// ds3_ticket_info.Tables[0].Rows[0]["dealer_dealer_name"].ToString());
|
||
string CustomerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgestimatedVanReachTime);
|
||
string OwnerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgestimatedVanReachTime);
|
||
objLog.AddLogFile("OwnerSms", OwnerSms, path, errorlogtf);
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
objGlobalRepository.SendMessage(OwnerSms);
|
||
|
||
}
|
||
else
|
||
{
|
||
msgOwnerforVanTicket = string.Format(msgOwnerforVanTicket, ticketIdAlias,
|
||
dssmstime.ToString(), ds3_ticket_info.Tables[0].Rows[0]["vehicle_registration_number"].ToString(),
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds3_ticket_info.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(),
|
||
ds2_ticket_info.Tables[0].Rows[0]["dealer_dealer_name"].ToString(),
|
||
dsmobileotp.Tables[0].Rows[0][0]);
|
||
string OwnerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgOwnerforVanTicket);
|
||
string CustomerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgOwnerforVanTicket);
|
||
objGlobalRepository.SendMessage(OwnerSms);
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
}
|
||
// ds1_ticket_info.Tables[0].Rows[0]["breakdown_location"].ToString(), // breakdown location
|
||
// ConfigurationManager.AppSettings["TollFreeNo"].ToString()); // toll free number
|
||
|
||
msgDealerforVanTicket = string.Format(msgDealerforVanTicket, ticketIdAlias, // Ticket Id
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(), // EOS van registration number
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString(), // Service Engineer Name
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString(),// customer name / Number ##
|
||
ds1_ticket_info.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"), // breakdown location
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
msgWMforVanTicket = string.Format(msgWMforVanTicket, ticketIdAlias, // Ticket Id
|
||
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(), // EOS van registration number
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString(), // Service Engineer Name
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString(),// customer name / Number ##
|
||
ds1_ticket_info.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"), // breakdown location
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
msgCSMforVanTicket = string.Format(msgCSMforVanTicket, ticketIdAlias, // Ticket ID
|
||
ds3_ticket_info.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), // Vehicle registration number
|
||
ds1_ticket_info.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"), // breakdown location
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds2_ticket_info.Tables[0].Rows[0]["dealer_city"].ToString() + ") ",// Dealer Name, Dealer City
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
|
||
string DealerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgDealerforVanTicket);
|
||
//Service Engineer SMS Added on 06-03- 2021
|
||
string ServiceEngineerSMS = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), msgDealerforVanTicket);
|
||
|
||
|
||
// get all contact no split in array.
|
||
string[] CSMContactNo = ds3_ticket_info.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgCSMforVanTicket);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
|
||
|
||
string[] WMContactNo = ds3_ticket_info.Tables[0].Rows[0]["wm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
string WMsms = string.Format(url, WMContactNo[i], msgWMforVanTicket);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
}
|
||
NpgsqlParameter[] nSqlParammodelno = new NpgsqlParameter[1];
|
||
nSqlParammodelno[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
|
||
DataSet dsmodelno = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_model_number_by_ticket_id"], nSqlParammodelno);
|
||
string vehiclemodelno = "";
|
||
if (dsmodelno.Tables[0].Rows.Count > 0)
|
||
{
|
||
vehiclemodelno = dsmodelno.Tables[0].Rows[0]["_model_no"].ToString();
|
||
}
|
||
if (vehiclemodelno == "6016" || vehiclemodelno == "6019")
|
||
{
|
||
DataSet dsbusspoke = new DataSet();
|
||
NpgsqlParameter[] nSqlParamdsbusspoke = new NpgsqlParameter[1];
|
||
nSqlParamdsbusspoke[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
dsbusspoke = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_details_bus_spoke"], nSqlParamdsbusspoke);
|
||
string[] BusSpokeContactNo = dsbusspoke.Tables[0].Rows[0]["_bus_spoke_contact_no"].ToString().Split(',');
|
||
string[] BusSpokeContactNo2 = dsbusspoke.Tables[0].Rows[0]["_bus_spoke_contact_no2"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < BusSpokeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, BusSpokeContactNo[i], msgWMforVanTicket);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
for (int i = 0; i < BusSpokeContactNo2.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, BusSpokeContactNo2[i], msgWMforVanTicket);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
}
|
||
|
||
string[] SiteIchargeContactNo = ds3_ticket_info.Tables[0].Rows[0]["site_incharge_contact"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < SiteIchargeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, SiteIchargeContactNo[i], msgWMforVanTicket);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
objGlobalRepository.SendMessage(DealerSms);
|
||
objGlobalRepository.SendMessage(ServiceEngineerSMS);//Service Engineer SMS Added on 06-03- 2021
|
||
|
||
|
||
|
||
#region Sending sms to KAM when ticket is assigned to Van and accepted
|
||
|
||
// checking whether this ticket creation belongs to KAM user or not
|
||
NpgsqlParameter[] nSqlParam01 = new NpgsqlParameter[1];
|
||
nSqlParam01[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
ds_kam_ticket_details = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_kam_ticket_or_not"], nSqlParam01);
|
||
|
||
|
||
|
||
|
||
#endregion
|
||
}
|
||
}
|
||
|
||
}
|
||
#endregion
|
||
|
||
|
||
#region Sending SMS ( When ticket was assigned to Van and Van reached )
|
||
// (For first time message sending when status is changed to In Progress)
|
||
if (ds_latest_ticket_activity.Tables[0].Rows.Count > 0)
|
||
{
|
||
if ((ds_latest_ticket_activity.Tables[0].Rows[0][0].ToString() == "2") && (model.TicketStatus == 3) && model.AssignedTo.Trim().ToUpper() == "VAN")
|
||
{
|
||
if (model.VehicleTagging.ToLower() == "eps" || model.VehicleTagging.ToLower() == "eps ev")
|
||
{
|
||
}
|
||
else {
|
||
DataSet ds1 = new DataSet();
|
||
DataSet ds2 = new DataSet();
|
||
DataSet ds3 = new DataSet();
|
||
try
|
||
{
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_get_contact_details_for_sms_api assigned to Van and Van reached" + model.TicketId, Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
try
|
||
{
|
||
// get sms content details.
|
||
nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_get_customer_open_ticket_details assigned to Van and Van reached" + model.TicketId, Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
try
|
||
{
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_get_customer_open_ticket_full_details_ticket_wise assigned to Van and Van reached" + model.TicketId, Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
|
||
|
||
// get msg format
|
||
string msgVanTicketVanReachedForCustomer = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketVanReachedForCustomer"].ToString();
|
||
string msgVanTicketVanReachedForWM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketVanReachedForWM"].ToString();
|
||
string msgVanTicketVanReachedForCSM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketVanReachedForCSM"].ToString();
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
//string[] id = model.TicketId.Split('-');
|
||
|
||
msgVanTicketVanReachedForCustomer = string.Format(msgVanTicketVanReachedForCustomer,
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString()
|
||
);
|
||
|
||
msgVanTicketVanReachedForWM = string.Format(msgVanTicketVanReachedForWM,
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // Service_Engineer_Name Service_Engineer_Contact
|
||
ticketIdAlias,
|
||
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver contact
|
||
);
|
||
|
||
msgVanTicketVanReachedForCSM = string.Format(msgVanTicketVanReachedForCSM,
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // Service_Engineer_Name Service_Engineer_Contact
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString(),// Dealer Name, Dealer City
|
||
|
||
ticketIdAlias, // Ticket ID
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver contact
|
||
);
|
||
|
||
|
||
string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgVanTicketVanReachedForCustomer);
|
||
string DealerSms = string.Format(url, ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgVanTicketVanReachedForWM);
|
||
|
||
|
||
// get all contact no split in array.
|
||
string[] CSMContactNo = ds.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgVanTicketVanReachedForCSM);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
|
||
string[] WMContactNo = ds.Tables[0].Rows[0]["WM_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
string WMsms = string.Format(url, WMContactNo[i], msgVanTicketVanReachedForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
}
|
||
|
||
string[] SiteIchargeContactNo = ds.Tables[0].Rows[0]["site_incharge_contact"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < SiteIchargeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, SiteIchargeContactNo[i], msgVanTicketVanReachedForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
objGlobalRepository.SendMessage(DealerSms);
|
||
|
||
#region Sending sms to KAM when ticket is Assigned to Van and Van reached
|
||
try
|
||
{
|
||
// checking whether this ticket creation belongs to KAM user or not
|
||
NpgsqlParameter[] nSqlParam01 = new NpgsqlParameter[1];
|
||
nSqlParam01[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
ds_kam_ticket_details = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_kam_ticket_or_not"], nSqlParam01);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_check_kam_ticket_or_not assigned to Van and Van reached" + model.TicketId, Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
// if this ticket belongs to KAM
|
||
if (ds_kam_ticket_details.Tables[0].Rows.Count > 0)
|
||
{
|
||
string msgKamVanReachedTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgKamVanReachedTicket"].ToString();
|
||
// set content in msg
|
||
msgKamVanReachedTicket = string.Format(msgKamVanReachedTicket,
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // eos team name and contact
|
||
ds1.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26") // breakdown location
|
||
);
|
||
|
||
string KamSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgKamVanReachedTicket);
|
||
objGlobalRepository.SendMessage(KamSms);
|
||
}
|
||
|
||
#endregion
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region Sending SMS ( When ticket was assigned to Van and is in Pre-Closure )
|
||
// For the first time message sending when ticket status is PreClosure first time
|
||
|
||
if (model.TicketStatus == 4)
|
||
{
|
||
if (model.TicketStatus.ToString() == model.TicketPrevStatusAliasId)
|
||
{
|
||
|
||
}
|
||
else
|
||
{
|
||
if (model.VehicleTagging.ToLower() == "eps" || model.VehicleTagging.ToLower() == "eps ev")
|
||
{
|
||
// DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
|
||
//DataSet ds2 = new DataSet();
|
||
//NpgsqlParameter[] nSqlParamticketdetail = new NpgsqlParameter[1];
|
||
//nSqlParamticketdetail[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
//ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParamticketdetail);
|
||
|
||
DataSet dsEPS = new DataSet();
|
||
NpgsqlParameter[] nSqlParamEPSSMS = new NpgsqlParameter[1];
|
||
nSqlParamEPSSMS[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
dsEPS = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_EPS_Email_details"], nSqlParamEPSSMS);
|
||
// string ticketIdAlias = "";
|
||
string msgEPSDealerPreclosure = System.Web.Configuration.WebConfigurationManager.AppSettings["msgEPSDealerPreclosure"].ToString();
|
||
string msgEPSCSMPreclosure = System.Web.Configuration.WebConfigurationManager.AppSettings["msgEPSCSMPreclosure"].ToString();
|
||
ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
msgEPSDealerPreclosure = string.Format(msgEPSDealerPreclosure, ticketIdAlias,
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds.Tables[0].Rows[0]["wm_contact_no"].ToString() + ")",
|
||
dsEPS.Tables[0].Rows[0]["product_type"].ToString(), "(" + dsEPS.Tables[0].Rows[0]["engine_number"].ToString() + ")",
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
msgEPSCSMPreclosure = string.Format(msgEPSCSMPreclosure, ticketIdAlias,
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds.Tables[0].Rows[0]["wm_contact_no"].ToString() + ")",
|
||
dsEPS.Tables[0].Rows[0]["product_type"].ToString(), "(" + dsEPS.Tables[0].Rows[0]["engine_number"].ToString() + ")",
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
|
||
string[] CSMContactNo = ds.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgEPSCSMPreclosure);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
|
||
|
||
string[] WMContactNo = ds.Tables[0].Rows[0]["WM_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, WMContactNo[i], msgEPSDealerPreclosure);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
string[] SiteIchargeContactNo = ds.Tables[0].Rows[0]["site_incharge_contact"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < SiteIchargeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, SiteIchargeContactNo[i], msgEPSDealerPreclosure);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
string typePreclosure = "";
|
||
if (model.TicketStatus.ToString() == strTicketStatus)
|
||
{
|
||
}
|
||
else
|
||
{
|
||
if (model.preclosure_reason == "Closure Request")
|
||
{
|
||
typePreclosure = "closure";
|
||
}
|
||
if (model.preclosure_reason == "Reassignment Request")
|
||
{
|
||
typePreclosure = "reassign";
|
||
}
|
||
}
|
||
InsertTicketDetailOnPreclousreInVECV(model, ticketIdAlias, typePreclosure, model.SuggestionComment);
|
||
|
||
}
|
||
else
|
||
{
|
||
DataSet ds1 = new DataSet();
|
||
DataSet ds2 = new DataSet();
|
||
DataSet ds3 = new DataSet();
|
||
try
|
||
{
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_get_contact_details_for_sms_api is in Pre-Closure" + model.TicketId, Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
if (ds != null && ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
}
|
||
try
|
||
{
|
||
// get sms content details.
|
||
nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_get_customer_open_ticket_details is in Pre-Closure" + model.TicketId, Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
try
|
||
{
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_get_customer_open_ticket_full_details_ticket_wise is in Pre-Closure" + model.TicketId, Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
|
||
// get msg format
|
||
string msgVanTicketPreCloserForCustomer = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketPreCloserForCustomer"].ToString();
|
||
string msgVanTicketPreCloserForOwner = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketPreCloserForOwner"].ToString();
|
||
string msgVanTicketPreCloserForWM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketPreCloserForWM"].ToString();
|
||
string msgVanTicketPreCloserForCSM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketPreCloserForCSM"].ToString();
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
|
||
msgVanTicketPreCloserForCustomer = string.Format(msgVanTicketPreCloserForCustomer,
|
||
ticketIdAlias, // Ticket Id
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), // Vehicle Registration Number
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds2.Tables[0].Rows[0]["dealer_city"].ToString() + ") "// Dealer Name, Dealer City
|
||
);
|
||
|
||
msgVanTicketPreCloserForWM = string.Format(msgVanTicketPreCloserForWM,
|
||
ticketIdAlias, // Ticket Id
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // Service_Engineer_Name Service_Engineer_Contact
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
msgVanTicketPreCloserForCSM = string.Format(msgVanTicketPreCloserForCSM,
|
||
ticketIdAlias, // Ticket ID
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString(), // Dealer Name, Dealer City
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
|
||
string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgVanTicketPreCloserForCustomer);
|
||
string DealerSms = string.Format(url, ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgVanTicketPreCloserForWM);
|
||
|
||
// get all contact no split in array.
|
||
string[] CSMContactNo = ds.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgVanTicketPreCloserForCSM);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
|
||
string[] WMContactNo = ds.Tables[0].Rows[0]["WM_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
string WMsms = string.Format(url, WMContactNo[i], msgVanTicketPreCloserForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
}
|
||
|
||
string[] SiteIchargeContactNo = ds.Tables[0].Rows[0]["site_incharge_contact"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < SiteIchargeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, SiteIchargeContactNo[i], msgVanTicketPreCloserForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
string typePreclosure = "";
|
||
if (model.TicketStatus.ToString() == strTicketStatus)
|
||
{
|
||
}
|
||
else
|
||
{
|
||
if (model.preclosure_reason == "Closure Request")
|
||
{
|
||
typePreclosure = "closure";
|
||
}
|
||
if (model.preclosure_reason == "Reassignment Request")
|
||
{
|
||
typePreclosure = "reassign";
|
||
}
|
||
InsertTicketDetailOnPreclousreInVECV(model, ticketIdAlias, typePreclosure, model.SuggestionComment);
|
||
|
||
}
|
||
|
||
|
||
#region Sending sms to KAM when ticket is Asigned to Van and in Preclosure
|
||
|
||
try
|
||
{
|
||
// checking whether this ticket creation belongs to KAM user or not
|
||
NpgsqlParameter[] nSqlParam01 = new NpgsqlParameter[1];
|
||
nSqlParam01[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
ds_kam_ticket_details = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_kam_ticket_or_not"], nSqlParam01);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_check_kam_ticket_or_not is in preclose" + model.TicketId, Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
//=============================================================================================
|
||
string msgKamPreClosureTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgKamPreClosureTicket"].ToString();
|
||
// set content in msg
|
||
msgKamPreClosureTicket = string.Format(msgKamPreClosureTicket,
|
||
ticketIdAlias, // ticket id
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), // vehicle reg no.
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + "( " + ds2.Tables[0].Rows[0]["dealer_city"].ToString() + " )" // Dealer Name, Dealer City
|
||
);
|
||
|
||
string KamSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgKamPreClosureTicket);
|
||
// objGlobalRepository.SendMessage(KamSms);
|
||
//=============================================================================================
|
||
|
||
// if this ticket belongs to KAM
|
||
if (ds_kam_ticket_details.Tables[0].Rows.Count > 0)
|
||
{
|
||
//-----------Sending GCM push to all KAM users-------------------------
|
||
NpgsqlParameter[] nSqlParam11 = new NpgsqlParameter[1];
|
||
nSqlParam11[0] = new NpgsqlParameter("inkam_id", ds_kam_ticket_details.Tables[0].Rows[0]["_kam_id"].ToString());
|
||
DataSet dsGcm1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_kam_user_devices_details_open_tickets"], nSqlParam11);
|
||
|
||
if (dsGcm1.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (DataRow dr in dsGcm1.Tables[0].Rows)
|
||
{
|
||
|
||
string notificationMessageFormat = ConfigurationManager.AppSettings["NotificationMessagePreClosureKamTicket"].ToString();
|
||
string notificationMessage = string.Format(notificationMessageFormat, ticketIdAlias, ConfigurationManager.AppSettings["TollFreeNo"].ToString());
|
||
|
||
SendNotificationModel objGcmModel1 = new SendNotificationModel();
|
||
objGcmModel1.DeviceGcmId = dr["_gcm_id"].ToString();
|
||
objGcmModel1.TicketId = ds_kam_ticket_details.Tables[0].Rows[0]["_kam_id"].ToString();
|
||
objGcmModel1.NotificationCode = ConfigurationManager.AppSettings["MessagePreClosureKamTicket"].ToString();
|
||
objGcmModel1.NotificationMessage = notificationMessage;
|
||
if (Convert.ToInt32(dr["_push_notification_bit"]) == 0)
|
||
{
|
||
objGcmModel1 = objGlobalRepository.GcmSendNotificationForKam(objGcmModel1);
|
||
objModel.Status = objGcmModel1.Status;
|
||
}
|
||
else
|
||
{
|
||
objGcmModel1 = objGlobalRepository.FcmSendNotificationForKam(objGcmModel1);
|
||
objModel.Status = objGcmModel1.Status;
|
||
}
|
||
//objModel.SenderId = objGcmModel.SenderId;
|
||
}
|
||
}
|
||
//----------------------------------------------------------------------
|
||
}
|
||
|
||
#endregion
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
|
||
#region Sending SMS ( When ticket is assigned to Dealer )
|
||
if ((model.TicketPrevStatusAliasId == "6") && (model.TicketStatus == 2 && model.AssignedTo.Trim().ToUpper() == "DEALER"))
|
||
{
|
||
if (model.VehicleTagging.ToLower() == "eps" || model.VehicleTagging.ToLower() == "eps ev")
|
||
{
|
||
try
|
||
{
|
||
|
||
DataSet dscomments = new DataSet();
|
||
NpgsqlParameter[] nSqlParamcomment = new NpgsqlParameter[1];
|
||
nSqlParamcomment[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
dscomments = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_assigned_comment"], nSqlParamcomment);
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_get_assigned_comment When ticket is assigned to Dealer" + model.TicketId, Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
if (TicketPrevDealerCode == model.AssignedToUserId)
|
||
{
|
||
|
||
}
|
||
else
|
||
{
|
||
|
||
InsertTicketDetailOnCreationInVECV(model, ticketIdAlias, model.TicketId, model.AssignedToUserId);
|
||
}
|
||
|
||
#region sending SMS
|
||
DataSet ds1 = new DataSet();
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
|
||
DataSet dsEPS = new DataSet();
|
||
NpgsqlParameter[] nSqlParamEPS = new NpgsqlParameter[1];
|
||
nSqlParamEPS[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
dsEPS = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_EPS_Email_details"], nSqlParamEPS);
|
||
ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
string dssmstime = getimeForSMS(model.TicketId);
|
||
NpgsqlParameter[] nSqlParam2_ticket_info = new NpgsqlParameter[4];
|
||
nSqlParam2_ticket_info[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam2_ticket_info[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam2_ticket_info[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
nSqlParam2_ticket_info[3] = new NpgsqlParameter("inEngineNumber", null);
|
||
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details_EPS"], nSqlParam2_ticket_info);
|
||
|
||
|
||
string msgOwnerforDealerTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgEPSCustomerDealerAssignment"].ToString();
|
||
string msgDealerforDealerTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgEPSDealerDealerAssignment"].ToString();
|
||
string msgCSMforDealerTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgEPSCSMDealerAssignment"].ToString();
|
||
msgOwnerforDealerTicket = string.Format(msgOwnerforDealerTicket, ticketIdAlias,
|
||
dssmstime, dsEPS.Tables[0].Rows[0]["product_type"].ToString(), "(" + dsEPS.Tables[0].Rows[0]["engine_number"].ToString() + ")",// engine no
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds.Tables[0].Rows[0]["wm_contact_no"].ToString() + ")"// dealer name wm no
|
||
|
||
);
|
||
|
||
// engine no
|
||
|
||
|
||
|
||
msgDealerforDealerTicket = string.Format(msgDealerforDealerTicket, ticketIdAlias,
|
||
dsEPS.Tables[0].Rows[0]["product_type"].ToString(), "(" + dsEPS.Tables[0].Rows[0]["engine_number"].ToString() + ")",
|
||
ds1.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"),
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds.Tables[0].Rows[0]["wm_contact_no"].ToString() + ")",// dealer name wm no
|
||
|
||
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
msgCSMforDealerTicket = string.Format(msgCSMforDealerTicket, ticketIdAlias,
|
||
dsEPS.Tables[0].Rows[0]["product_type"].ToString(), "(" + dsEPS.Tables[0].Rows[0]["engine_number"].ToString() + ")",
|
||
ds1.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"),
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds.Tables[0].Rows[0]["wm_contact_no"].ToString() + ")",// dealer name wm no
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
string[] CSMContactNo = ds.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgCSMforDealerTicket);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgOwnerforDealerTicket);
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
|
||
string driverSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgOwnerforDealerTicket);
|
||
objGlobalRepository.SendMessage(driverSms);
|
||
|
||
string[] WMContactNo = ds.Tables[0].Rows[0]["WM_contact_no"].ToString().Split(',');
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, WMContactNo[i], msgDealerforDealerTicket);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
string[] SiteIchargeContactNo = ds.Tables[0].Rows[0]["site_incharge_contact"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < SiteIchargeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, SiteIchargeContactNo[i], msgDealerforDealerTicket);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
#endregion
|
||
|
||
|
||
}
|
||
else {
|
||
//cogent api
|
||
try
|
||
{
|
||
|
||
DataSet dscomments = new DataSet();
|
||
NpgsqlParameter[] nSqlParamcomment = new NpgsqlParameter[1];
|
||
nSqlParamcomment[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
dscomments = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_assigned_comment"], nSqlParamcomment);
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb usp_get_assigned_comment When ticket is assigned to Dealer" + model.TicketId, Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
try
|
||
{
|
||
// DataSet ds = new DataSet();
|
||
DataSet ds1 = new DataSet();
|
||
DataSet ds2 = new DataSet();
|
||
DataSet ds3 = new DataSet();
|
||
// DataSet ds = new DataSet();
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
|
||
|
||
// get sms content details.
|
||
|
||
if (model.VehicleTagging.ToLower() == "eps" || model.VehicleTagging.ToLower() == "eps ev")
|
||
{
|
||
NpgsqlParameter[] nSqlParam2_ticket_info = new NpgsqlParameter[4];
|
||
nSqlParam2_ticket_info[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam2_ticket_info[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam2_ticket_info[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
nSqlParam2_ticket_info[3] = new NpgsqlParameter("inEngineNumber", null);
|
||
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details_EPS"], nSqlParam2_ticket_info);
|
||
|
||
}
|
||
else
|
||
{
|
||
NpgsqlParameter[] nSqlParam2_ticket_info = new NpgsqlParameter[3];
|
||
nSqlParam2_ticket_info[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam2_ticket_info[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam2_ticket_info[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam2_ticket_info);
|
||
}
|
||
ticketIdAlias = ds1.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
/* NpgsqlParameter[] nSqlParamopendealer = new NpgsqlParameter[3];
|
||
nSqlParamopendealer[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParamopendealer[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParamopendealer[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParamopendealer);
|
||
*/
|
||
NpgsqlParameter[] nSqlParamticketdetail = new NpgsqlParameter[1];
|
||
nSqlParamticketdetail[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParamticketdetail);
|
||
string msgCustforDealerTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgCustforDealerTicketwithOTP"].ToString();
|
||
// -------------- modify on 04-03-2021 end -----------------
|
||
string msgOwnerforDealerTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgOwnerforDealerTicket"].ToString();
|
||
string msgDealerforDealerTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgDealerforDealerTicket"].ToString();
|
||
string msgCSMforDealerTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgCSMforDealerTicket"].ToString();
|
||
string msgWMforDealerTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgWMforDealerTicket"].ToString();
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
// -------------- added on 04-03-2021 start -----------------
|
||
DataSet dsmobileotp = new DataSet();
|
||
if (!String.IsNullOrWhiteSpace(ticketIdAlias))
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam2 = new NpgsqlParameter[2];
|
||
nSqlParam2[0] = new NpgsqlParameter("inticket_id", ticketIdAlias);
|
||
nSqlParam2[1] = new NpgsqlParameter("in_van_id", "");
|
||
|
||
|
||
dsmobileotp = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_otp"], nSqlParam2);
|
||
|
||
|
||
|
||
}
|
||
// -------------- added on 04-03-2021 end -----------------
|
||
msgCustforDealerTicket = string.Format(msgCustforDealerTicket, ticketIdAlias,
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), ds2.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds2.Tables[0].Rows[0]["dealer_city"].ToString() + ") ",
|
||
ConfigurationManager.AppSettings["TollFreeNo"].ToString(),
|
||
dsmobileotp.Tables[0].Rows[0][0]); // added on 04-03-2021
|
||
|
||
|
||
msgDealerforDealerTicket = string.Format(msgDealerforDealerTicket, ticketIdAlias,
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString() + "( " + ds.Tables[0].Rows[0]["customer_contact_no"].ToString() + " ) ",
|
||
ds1.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"),
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
|
||
msgWMforDealerTicket = string.Format(msgWMforDealerTicket, ticketIdAlias,
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString() + "( " + ds.Tables[0].Rows[0]["customer_contact_no"].ToString() + " ) ",
|
||
ds1.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"),
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
msgCSMforDealerTicket = string.Format(msgCSMforDealerTicket, ticketIdAlias,
|
||
//ds2.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString() + ") ", ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString()
|
||
ds2.Tables[0].Rows[0]["dealer_dealer_name"].ToString(),
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(),
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
string DealerSms = string.Format(url, ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgDealerforDealerTicket);
|
||
// get all contact no split in array.
|
||
string[] CSMContactNo = ds.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgCSMforDealerTicket);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
|
||
string[] WMContactNo = ds.Tables[0].Rows[0]["WM_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, WMContactNo[i], msgWMforDealerTicket);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
string[] SiteIchargeContactNo = ds.Tables[0].Rows[0]["site_incharge_contact"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < SiteIchargeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, SiteIchargeContactNo[i], msgWMforDealerTicket);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
objGlobalRepository.SendMessage(DealerSms);
|
||
|
||
string msgdriverownerAcceptedTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgKamDealerAcceptedTicket"].ToString();
|
||
// set content in msg
|
||
string dssmstime = getimeForSMS(model.TicketId);
|
||
DataSet ds2_titan_info1 = new DataSet();
|
||
try
|
||
{
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds2_titan_info1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb usp_get_customer_open_ticket_full_details_ticket_wise" + model.TicketId, ex.Message, this.path, this.errorlogtf);
|
||
|
||
}
|
||
|
||
string str = ds2_titan_info1.Tables[0].Rows[0]["_model_number"].ToString().ToLower();
|
||
string substring = "titan";
|
||
if (str.Contains(substring))
|
||
{
|
||
|
||
|
||
string strurl = Encrypt(ticketIdAlias, "Tracking", "YourSaltValue");
|
||
//string strurl = Encrypt("W2H0524869754", "Tracking", "YourSaltValue");
|
||
string liveurl = System.Web.Configuration.WebConfigurationManager.AppSettings["base_url_live_tracking"].ToString();// + strurl;
|
||
string smsSentUrl = $"{liveurl}?{"p"}={Uri.EscapeDataString(strurl)}";
|
||
|
||
//smsSentUrl= smsSentUrl.Replace("%3D","=");
|
||
string msgestimatedVanReachTime = System.Web.Configuration.WebConfigurationManager.AppSettings["msgTitanCreationDealer"].ToString();
|
||
|
||
msgestimatedVanReachTime = string.Format(msgestimatedVanReachTime, ticketIdAlias,
|
||
dssmstime.ToString(), ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(),
|
||
ds2.Tables[0].Rows[0]["dealer_dealer_name"].ToString(), "(" + ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString() + ")",
|
||
smsSentUrl);
|
||
|
||
|
||
// ds3_ticket_info.Tables[0].Rows[0]["dealer_dealer_name"].ToString());
|
||
string driverSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgestimatedVanReachTime);
|
||
objGlobalRepository.SendMessage(driverSms);
|
||
|
||
string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgestimatedVanReachTime);
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
//objLog.AddLogFile("OwnerSms", OwnerSms, path, errorlogtf);
|
||
//bjGlobalRepository.SendMessage(OwnerSms);
|
||
// ds3_ticket_info.Tables[0].Rows[0]["dealer_dealer_name"].ToString());
|
||
//string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgestimatedVanReachTime);
|
||
//objGlobalRepository.SendMessage(serviceEnginerSms);
|
||
|
||
|
||
|
||
}
|
||
else
|
||
{
|
||
|
||
if (model.VehicleTagging.ToLower() == "eps" || model.VehicleTagging.ToLower() == "eps ev")
|
||
{
|
||
string msgOwnerforDealerTicketEPS = System.Web.Configuration.WebConfigurationManager.AppSettings["msgOwnerforDealerTicketEPS"].ToString();
|
||
|
||
msgOwnerforDealerTicketEPS = string.Format(msgOwnerforDealerTicketEPS,
|
||
ticketIdAlias,
|
||
// vehicle reg no
|
||
ds2.Tables[0].Rows[0]["dealer_dealer_name"].ToString(),
|
||
ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString()
|
||
|
||
);
|
||
string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgOwnerforDealerTicketEPS);
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
|
||
string driverSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgOwnerforDealerTicketEPS);
|
||
objGlobalRepository.SendMessage(driverSms);
|
||
}
|
||
else
|
||
{
|
||
msgdriverownerAcceptedTicket = string.Format(msgdriverownerAcceptedTicket,
|
||
ticketIdAlias,
|
||
dssmstime.ToString(),
|
||
// ticket id
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), // vehicle reg no
|
||
ds2.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds2.Tables[0].Rows[0]["dealer_city"].ToString() + ") ", // dealer name and city
|
||
ConfigurationManager.AppSettings["TollFreeNo"].ToString() // Toll free no
|
||
);
|
||
|
||
string driverSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgdriverownerAcceptedTicket);
|
||
objGlobalRepository.SendMessage(driverSms);
|
||
|
||
string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgdriverownerAcceptedTicket);
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
}
|
||
}
|
||
|
||
if (TicketPrevDealerCode == model.AssignedToUserId)
|
||
{
|
||
|
||
}
|
||
else
|
||
{
|
||
|
||
InsertTicketDetailOnCreationInVECV(model, ticketIdAlias, model.TicketId, model.AssignedToUserId);
|
||
}
|
||
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("TicketDetailsController Error update send sms:", Ex.Message, path, errorlogtf);
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
objModel.Token = model.Token;
|
||
return objModel;
|
||
}
|
||
catch (Exception Ex)
|
||
|
||
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("UpdateOpenTicketWeb", Ex.Message, path, errorlogtf);
|
||
return objModel;
|
||
}
|
||
}
|
||
public InsertOpenTicket UpdateOpenTicketaAndroid(InsertOpenTicket model)
|
||
{
|
||
InsertOpenTicket objModel = new InsertOpenTicket();
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
SendNotificationModel objGcmModel = new SendNotificationModel();
|
||
try
|
||
{
|
||
objModel.Status = "1";
|
||
DataSet ds2 = new DataSet();
|
||
DataSet dsGcm = new DataSet();
|
||
int UtcMinute = 330;
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
if (model.TicketStatus == 8)
|
||
{
|
||
// updating ticket status and creating activity by trigger
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[8];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam[1] = new NpgsqlParameter("inlast_modified_by", model.LastModifiedBy);
|
||
//commented for wrong date and time due to mobile device time
|
||
//nSqlParam[2] = new NpgsqlParameter("inlast_modification_time", model.LastModifiedTime);
|
||
nSqlParam[2] = new NpgsqlParameter("inlast_modification_time", DateTime.Now.AddMinutes(-UtcMinute));
|
||
nSqlParam[3] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
nSqlParam[4] = new NpgsqlParameter("inremarks", model.OtherRemarks);
|
||
nSqlParam[5] = new NpgsqlParameter("inflag", model.Flag);
|
||
//added on 23/09/2020
|
||
nSqlParam[6] = new NpgsqlParameter("invan_latitude", model.VanLatitude);
|
||
nSqlParam[7] = new NpgsqlParameter("invan_longitude", model.VanLongitude);
|
||
|
||
ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_trip_end"], nSqlParam);
|
||
string strVanReach = "";
|
||
if (model.TicketStatus == 5)
|
||
{
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParamclose = new NpgsqlParameter[1];
|
||
nSqlParamclose[0] = new NpgsqlParameter("inticket_id ", model.TicketId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_reach_time_close"], nSqlParamclose);
|
||
if (ds == null)
|
||
{
|
||
}
|
||
else
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strVanReach = Convert.ToString(ds.Tables[0].Rows[0]["_creation_time"]) == "" ? "" : Convert.ToDateTime(ds.Tables[0].Rows[0]["_creation_time"]).ToString(System.Configuration.ConfigurationManager.AppSettings["DateTimeFormatSAP"]);
|
||
|
||
}
|
||
}
|
||
objLog.AddLogFile("DBM Log 9", model.TicketId, path, errorlogtf);
|
||
|
||
UdanPushData.SendDataToSAP(null, model.TicketStatus, model.TicketId, strVanReach);
|
||
|
||
}
|
||
|
||
if (model.TicketIdAlias.Contains('S') == true)
|
||
{
|
||
|
||
DataSet dsactivity = new DataSet();
|
||
NpgsqlParameter[] nSqlParamActivity = new NpgsqlParameter[6];
|
||
// //nSqlParam[0] = new NpgsqlParameter("in_van_reached_date_time", Convert.ToDateTime(model.VanReachedTime));
|
||
nSqlParamActivity[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParamActivity[1] = new NpgsqlParameter("inlast_modified_by", model.LastModifiedBy);
|
||
nSqlParamActivity[2] = new NpgsqlParameter("inlast_modified_time", DateTime.Now.AddMinutes(-UtcMinute));
|
||
nSqlParamActivity[3] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
|
||
nSqlParamActivity[4] = new NpgsqlParameter("invan_latitude", model.VanLatitude);
|
||
nSqlParamActivity[5] = new NpgsqlParameter("invan_longitude", model.VanLongitude);
|
||
dsactivity = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_van_lat_lng_in_activity_ticket_open_scv"], nSqlParamActivity);
|
||
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
|
||
|
||
string strTicketStatus = "";
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParamopen = new NpgsqlParameter[1];
|
||
nSqlParamopen[0] = new NpgsqlParameter("inticketid ", model.TicketId);
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_ticket_Cogent_API_By_ticketId"], nSqlParamopen);
|
||
if (dsOpen.Tables.Count > 0)
|
||
{
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
strTicketStatus = dsOpen.Tables[0].Rows[0]["_ticket_status"].ToString();
|
||
|
||
}
|
||
}
|
||
// get latest ticket activity for the ticket.
|
||
NpgsqlParameter[] nSqlParam0 = new NpgsqlParameter[1];
|
||
nSqlParam0[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
DataSet ds_latest_ticket_activity = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_activity"], nSqlParam0);
|
||
if (model.TicketStatus == 4)
|
||
{
|
||
string[] CSMContactNo = model.preclosure_reason.ToString().Split(',');
|
||
int cout = CSMContactNo.Length;
|
||
if (cout == 2)
|
||
{
|
||
{
|
||
model.preclosure_reason = CSMContactNo[0];
|
||
model._24HrsReason = CSMContactNo[1];
|
||
}
|
||
}
|
||
else
|
||
{
|
||
model.preclosure_reason = CSMContactNo[0];
|
||
}
|
||
|
||
}
|
||
// updating ticket status and creating activity by trigger
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[39];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam[1] = new NpgsqlParameter("inassigned_to", model.AssignedTo);
|
||
nSqlParam[2] = new NpgsqlParameter("inreported_via", model.ReportedVia);
|
||
nSqlParam[3] = new NpgsqlParameter("inpriority", model.Priority);
|
||
nSqlParam[4] = new NpgsqlParameter("incustomer_score", model.CustomerScore);
|
||
nSqlParam[5] = new NpgsqlParameter("inbreakdown_location", model.BreakdownLocation);
|
||
nSqlParam[6] = new NpgsqlParameter("inlast_modified_by", model.LastModifiedBy);
|
||
// nSqlParam[7] = new NpgsqlParameter("inlast_modified_time", model.LastModifiedTime);
|
||
nSqlParam[7] = new NpgsqlParameter("inlast_modified_time", DateTime.Now.AddMinutes(-UtcMinute));
|
||
nSqlParam[8] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
nSqlParam[9] = new NpgsqlParameter("indescription", model.Description);
|
||
nSqlParam[10] = new NpgsqlParameter("inbreakdown_longitude", model.BreakdownLongitude);
|
||
nSqlParam[11] = new NpgsqlParameter("inbreakdown_lattitude", model.BreakdownLattitude);
|
||
nSqlParam[12] = new NpgsqlParameter("inassigned_to_user_id", model.AssignedToUserId);
|
||
nSqlParam[13] = new NpgsqlParameter("inassigned_to_user_lattitude", model.AssignedToUserLattitude);
|
||
nSqlParam[14] = new NpgsqlParameter("inassigned_to_user_longitude", model.AssignedToUserLongitude);
|
||
nSqlParam[15] = new NpgsqlParameter("inestimated_time_for_job_completion", model.EstimatedTimeForJobCompletion);
|
||
nSqlParam[16] = new NpgsqlParameter("inestimated_time_for_job_completion_submit_time", model.EstimatedTimeForJobCompletionSubmitTime);
|
||
nSqlParam[17] = new NpgsqlParameter("inbreakdown_location_landmark", model.BreakdownLocationLandmark);
|
||
nSqlParam[18] = new NpgsqlParameter("inroute_id", model.RouteId);
|
||
nSqlParam[19] = new NpgsqlParameter("inrepair_cost", model.RepairCost);
|
||
nSqlParam[20] = new NpgsqlParameter("indefault_sla_time", model.DefaultSlaTime);
|
||
nSqlParam[21] = new NpgsqlParameter("insla_missed_reason", model.SlaMissedReason);
|
||
nSqlParam[22] = new NpgsqlParameter("insuggestion_comment", model.SuggestionComment);
|
||
nSqlParam[23] = new NpgsqlParameter("indefault_col_1", model.JobCompleteResponseTime);
|
||
nSqlParam[24] = new NpgsqlParameter("indefault_col_2", model.DefaultCol2);
|
||
nSqlParam[25] = new NpgsqlParameter("indefault_col_3", model.DefaultCol3);
|
||
nSqlParam[26] = new NpgsqlParameter("inopportunity_loss", model.OpportunityLost);
|
||
nSqlParam[27] = new NpgsqlParameter("inreason_for_more_then_24hours", model._24HrsReason);
|
||
nSqlParam[28] = new NpgsqlParameter("inestimated_distance", null);
|
||
nSqlParam[29] = new NpgsqlParameter("inother_remarks", model.OtherRemarks);
|
||
nSqlParam[30] = new NpgsqlParameter("inchassis_number", model.ChassisNo);
|
||
nSqlParam[31] = new NpgsqlParameter("inodometer_reading", model.OdometerReading);
|
||
nSqlParam[32] = new NpgsqlParameter("invehicle_type", model.VehicleType);
|
||
nSqlParam[33] = new NpgsqlParameter("inprevious_odometer_reading", model.PreviousOdometerReading);
|
||
//added on 23-09-2020
|
||
nSqlParam[34] = new NpgsqlParameter("invan_latitude", model.VanLatitude);
|
||
nSqlParam[35] = new NpgsqlParameter("invan_longitude", model.VanLongitude);
|
||
nSqlParam[36] = new NpgsqlParameter("inmobile_request", model.IsMobileRequest);
|
||
nSqlParam[37] = new NpgsqlParameter("in_estimated_van_reach_time", model.estimatedVAnReachTime);
|
||
nSqlParam[38] = new NpgsqlParameter("inpreclosure_reason", model.preclosure_reason);
|
||
|
||
|
||
ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_open_ticket_status"], nSqlParam);
|
||
if (model.TicketIdAlias.Contains('S') == true)
|
||
{
|
||
|
||
DataSet dsactivity = new DataSet();
|
||
NpgsqlParameter[] nSqlParamActivity = new NpgsqlParameter[6];
|
||
// //nSqlParam[0] = new NpgsqlParameter("in_van_reached_date_time", Convert.ToDateTime(model.VanReachedTime));
|
||
nSqlParamActivity[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParamActivity[1] = new NpgsqlParameter("inlast_modified_by", model.LastModifiedBy);
|
||
nSqlParamActivity[2] = new NpgsqlParameter("inlast_modified_time", DateTime.Now.AddMinutes(-UtcMinute));
|
||
nSqlParamActivity[3] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
|
||
nSqlParamActivity[4] = new NpgsqlParameter("invan_latitude", model.VanLatitude);
|
||
nSqlParamActivity[5] = new NpgsqlParameter("invan_longitude", model.VanLongitude);
|
||
dsactivity = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_van_lat_lng_in_activity_ticket_open_scv"], nSqlParamActivity);
|
||
|
||
}
|
||
#region Sending SMS ( When ticket estimated van reach time punched )
|
||
if ((model.TicketStatus.ToString() == "9") && (model.IsMobileRequest == true))
|
||
{
|
||
DataSet ds1_ticket_info = new DataSet();
|
||
DataSet ds2_ticket_info = new DataSet();
|
||
DataSet ds3_ticket_info = new DataSet();
|
||
UrlShortener shortener = new UrlShortener();
|
||
|
||
//var trackingurl = System.Web.Configuration.WebConfigurationManager.AppSettings["base_url_tracking"].ToString();
|
||
//string originalUrl = trackingurl + "?complaintNo=" + model.TicketIdAlias;
|
||
//string hashkey = shortener.ShortenUrl(originalUrl);
|
||
//string shortenedUrl = trackingurl + hashkey;
|
||
|
||
|
||
//Console.WriteLine("Shortened URL: " + shortenedUrl);
|
||
|
||
// Redirecting to the original URL
|
||
// string redirectedUrl = shortener.Redirect(shortenedUrl.Replace(originalUrl, ""));
|
||
//if (model.TicketIdAlias == "" || model.TicketIdAlias == null)
|
||
//{
|
||
|
||
//}
|
||
//else
|
||
//{
|
||
|
||
// DataSet dsurl = new DataSet();
|
||
// NpgsqlParameter[] nSqlParamlivetracking = new NpgsqlParameter[3];
|
||
// //nSqlParam[0] = new NpgsqlParameter("in_van_reached_date_time", Convert.ToDateTime(model.VanReachedTime));
|
||
// nSqlParamlivetracking[0] = new NpgsqlParameter("_url", shortenedUrl);
|
||
// nSqlParamlivetracking[1] = new NpgsqlParameter("_ticket_id", model.TicketIdAlias);
|
||
// nSqlParamlivetracking[2] = new NpgsqlParameter("_hashkey", hashkey);
|
||
// dsurl = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_live_tracking_url"], nSqlParamlivetracking);
|
||
|
||
// //string strurl = objTicketRepository.inserttrackingurl(shortenedUrl, model.TicketIdAlias, hashkey);
|
||
//}
|
||
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds3_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
//get sending sms api url.
|
||
string url = System.Web.Configuration.WebConfigurationManager.AppSettings["SmsUrl"].ToString();
|
||
|
||
// get msg format
|
||
//
|
||
if (System.Configuration.ConfigurationManager.AppSettings["livetrackingsmsIsBlocked"] != "true")
|
||
{
|
||
|
||
string msgestimatedVanReachTime = System.Web.Configuration.WebConfigurationManager.AppSettings["msgLiveTrackingLink"].ToString();
|
||
if (ds3_ticket_info.Tables.Count > 0)
|
||
{
|
||
if (ds3_ticket_info.Tables[0].Rows.Count > 0)
|
||
{
|
||
string strurl = Encrypt(ds3_ticket_info.Tables[0].Rows[0]["_ticket_id_alias"].ToString(), "Tracking", "YourSaltValue");
|
||
//string strurl = Encrypt("W2H0524869754", "Tracking", "YourSaltValue");
|
||
string liveurl = System.Web.Configuration.WebConfigurationManager.AppSettings["base_url_live_tracking"].ToString();// + strurl;
|
||
string smsSentUrl = $"{liveurl}?{"p"}={Uri.EscapeDataString(strurl)}";
|
||
|
||
//smsSentUrl= smsSentUrl.Replace("%3D","=");
|
||
|
||
msgestimatedVanReachTime = string.Format(msgestimatedVanReachTime, ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString(),
|
||
model.estimatedVAnReachTime,
|
||
ds3_ticket_info.Tables[0].Rows[0]["_ticket_id_alias"].ToString(),
|
||
smsSentUrl);
|
||
// ds3_ticket_info.Tables[0].Rows[0]["dealer_dealer_name"].ToString());
|
||
string OwnerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgestimatedVanReachTime);
|
||
string serviceEnginerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgestimatedVanReachTime);
|
||
objGlobalRepository.SendMessage(OwnerSms);
|
||
objGlobalRepository.SendMessage(serviceEnginerSms);
|
||
|
||
|
||
}
|
||
|
||
}
|
||
}
|
||
else
|
||
{
|
||
string msgestimatedVanReachTime = System.Web.Configuration.WebConfigurationManager.AppSettings["msgestimatedVanReachTime"].ToString();
|
||
if (ds3_ticket_info.Tables.Count > 0)
|
||
{
|
||
if (ds3_ticket_info.Tables[0].Rows.Count > 0)
|
||
{
|
||
msgestimatedVanReachTime = string.Format(msgestimatedVanReachTime, ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString(),
|
||
model.estimatedVAnReachTime, // breakdown location
|
||
// model.TicketIdAlias,
|
||
ds3_ticket_info.Tables[0].Rows[0]["_ticket_id_alias"].ToString(),
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_dealer_name"].ToString());
|
||
string OwnerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgestimatedVanReachTime);
|
||
string serviceEnginerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgestimatedVanReachTime);
|
||
objGlobalRepository.SendMessage(OwnerSms);
|
||
objGlobalRepository.SendMessage(serviceEnginerSms);
|
||
|
||
string ticketidalias = ds3_ticket_info.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
model.DriverContactNo = ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString();
|
||
model.CustomerContactNo = ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString();
|
||
model.VehicleRegistrationNumber = ds3_ticket_info.Tables[0].Rows[0]["vehicle_registration_number"].ToString();
|
||
// EstimatedVanReachTimeDetailOnCreationInVECV(model, ticketidalias);
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
#endregion
|
||
|
||
|
||
|
||
#region Sending SMS ( When ticket is assigned to Van )
|
||
if (ds_latest_ticket_activity.Tables.Count > 0)
|
||
{
|
||
if (ds_latest_ticket_activity.Tables.Count > 0)
|
||
{
|
||
if ((ds_latest_ticket_activity.Tables[0].Rows[0][0].ToString() == "1") && (model.TicketStatus == 2))
|
||
{
|
||
DataSet ds1_ticket_info = new DataSet();
|
||
DataSet ds2_ticket_info = new DataSet();
|
||
DataSet ds3_ticket_info = new DataSet();
|
||
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds3_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
|
||
string ticketIdAlias = model.TicketIdAlias;
|
||
|
||
|
||
// get sms content details.
|
||
nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds1_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam);
|
||
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds2_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
|
||
|
||
//get sending sms api url.
|
||
string url = System.Web.Configuration.WebConfigurationManager.AppSettings["SmsUrl"].ToString();
|
||
|
||
// get msg format
|
||
string msgCustforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgCustforVanTicket"].ToString();
|
||
|
||
|
||
string msgDealerforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgDealerforVanTicket"].ToString();
|
||
string msgWMforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgWMforVanTicket"].ToString();
|
||
string msgCSMforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgCSMforVanTicket"].ToString();
|
||
if (ds3_ticket_info.Tables.Count > 0)
|
||
{
|
||
if (ds3_ticket_info.Tables[0].Rows.Count > 0)
|
||
{
|
||
//vehicle_registration_number
|
||
msgCustforVanTicket = string.Format(msgCustforVanTicket, ticketIdAlias, // Ticket Id
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds3_ticket_info.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // Service_Engineer_Name Service_Engineer_Contact
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(), // EOS van registration number
|
||
ConfigurationManager.AppSettings["TollFreeNo"].ToString()); // Toll free number
|
||
|
||
msgDealerforVanTicket = string.Format(msgDealerforVanTicket, ticketIdAlias, // Ticket Id
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(), // EOS van registration number
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString(), // Service Engineer Name
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString(),// customer name / Number ##
|
||
ds1_ticket_info.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"), // breakdown location
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver contact
|
||
);
|
||
|
||
|
||
msgWMforVanTicket = string.Format(msgWMforVanTicket, ticketIdAlias, // Ticket Id
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(), // EOS van registration number
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString(), // Service Engineer Name
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString(),// customer name / Number ##
|
||
ds1_ticket_info.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"), // breakdown location
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver contact
|
||
);
|
||
|
||
msgCSMforVanTicket = string.Format(msgCSMforVanTicket, ticketIdAlias, // Ticket ID
|
||
ds3_ticket_info.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), // Vehicle registration number
|
||
ds1_ticket_info.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"), // breakdown location
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds2_ticket_info.Tables[0].Rows[0]["dealer_city"].ToString() + ") ",// Dealer Name, Dealer City
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver contact
|
||
);
|
||
|
||
string CustomerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgCustforVanTicket);
|
||
string DealerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgDealerforVanTicket);
|
||
|
||
|
||
// get all contact no split in array.
|
||
string[] CSMContactNo = ds3_ticket_info.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgCSMforVanTicket);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
|
||
|
||
|
||
string[] WMContactNo = ds3_ticket_info.Tables[0].Rows[0]["wm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
string WMsms = string.Format(url, WMContactNo[i], msgWMforVanTicket);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
}
|
||
string[] SiteIchargeContactNo = ds3_ticket_info.Tables[0].Rows[0]["site_incharge_contact"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < SiteIchargeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, SiteIchargeContactNo[i], msgWMforVanTicket);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
objGlobalRepository.SendMessage(DealerSms);
|
||
//objGlobalRepository.SendMessage(OwnerSms);
|
||
|
||
|
||
#region Sending sms to KAM when ticket is Accepted
|
||
|
||
// checking whether this ticket creation belongs to KAM user or not
|
||
NpgsqlParameter[] nSqlParam01 = new NpgsqlParameter[1];
|
||
nSqlParam01[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
DataSet ds_kam_ticket_details = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_kam_ticket_or_not"], nSqlParam01);
|
||
|
||
//=============================================================================================
|
||
string msgKamAcceptedTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgKamAcceptedTicket"].ToString();
|
||
// set content in msg
|
||
msgKamAcceptedTicket = string.Format(msgKamAcceptedTicket,
|
||
ticketIdAlias, // ticket id
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds3_ticket_info.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // eos team name and contact
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(), // vehicle reg no.
|
||
ConfigurationManager.AppSettings["TollFreeNo"].ToString() // toll free number
|
||
);
|
||
|
||
string KamSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgKamAcceptedTicket);
|
||
objGlobalRepository.SendMessage(KamSms);
|
||
//=============================================================================================
|
||
if (ds_kam_ticket_details.Tables.Count > 0)
|
||
{
|
||
// if this ticket belongs to KAM
|
||
if (ds_kam_ticket_details.Tables[0].Rows.Count > 0)
|
||
{
|
||
//-----------Sending GCM push to all KAM users-------------------------
|
||
NpgsqlParameter[] nSqlParam11 = new NpgsqlParameter[1];
|
||
nSqlParam11[0] = new NpgsqlParameter("inkam_id", ds_kam_ticket_details.Tables[0].Rows[0]["_kam_id"].ToString());
|
||
DataSet dsGcm1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_kam_user_devices_details_open_tickets"], nSqlParam11);
|
||
if (dsGcm1.Tables.Count > 0)
|
||
{
|
||
if (dsGcm1.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (DataRow dr in dsGcm1.Tables[0].Rows)
|
||
{
|
||
|
||
string notificationMessageFormat = ConfigurationManager.AppSettings["NotificationMessageAcceptKamDummyOrRealTicket"].ToString();
|
||
string notificationMessage = string.Format(notificationMessageFormat, ticketIdAlias);
|
||
|
||
SendNotificationModel objGcmModel1 = new SendNotificationModel();
|
||
objGcmModel1.DeviceGcmId = dr["_gcm_id"].ToString();
|
||
objGcmModel1.TicketId = ds_kam_ticket_details.Tables[0].Rows[0]["_kam_id"].ToString();
|
||
objGcmModel1.NotificationCode = ConfigurationManager.AppSettings["MessageAcceptKamDummyOrRealTicket"].ToString();
|
||
objGcmModel1.NotificationMessage = notificationMessage;
|
||
if (Convert.ToInt32(dr["_push_notification_bit"]) == 0)
|
||
{
|
||
objGcmModel1 = objGlobalRepository.GcmSendNotificationForKam(objGcmModel1);
|
||
objModel.Status = objGcmModel1.Status;
|
||
}
|
||
else
|
||
{
|
||
objGcmModel1 = objGlobalRepository.FcmSendNotificationForKam(objGcmModel1);
|
||
objModel.Status = objGcmModel1.Status;
|
||
}
|
||
//objModel.SenderId = objGcmModel.SenderId;
|
||
}
|
||
}
|
||
//----------------------------------------------------------------------
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region Sending SMS (When ticket was assigned to Van and when status is changed to In Progress) )
|
||
// Send msg to dealer,csm and customer on van reached. (For first time message sending when status is changed to In Progress)
|
||
if (ds_latest_ticket_activity.Tables.Count > 0)
|
||
{
|
||
if ((ds_latest_ticket_activity.Tables[0].Rows[0][0].ToString() == "2") && (model.TicketStatus == 3))
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
DataSet ds1 = new DataSet();
|
||
DataSet ds3 = new DataSet();
|
||
|
||
NpgsqlParameter[] nSqlParam1_ticket_info = new NpgsqlParameter[2];
|
||
nSqlParam1_ticket_info[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1_ticket_info[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1_ticket_info);
|
||
|
||
string ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
|
||
NpgsqlParameter[] nSqlParam2_ticket_info = new NpgsqlParameter[3];
|
||
nSqlParam2_ticket_info[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam2_ticket_info[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam2_ticket_info[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam2_ticket_info);
|
||
|
||
NpgsqlParameter[] nSqlParam3_ticket_info = new NpgsqlParameter[1];
|
||
nSqlParam3_ticket_info[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds3 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam3_ticket_info);
|
||
|
||
string url = System.Web.Configuration.WebConfigurationManager.AppSettings["SmsUrl"].ToString();
|
||
string msgVanReachedCustomer = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanReachedCustomer"].ToString();
|
||
string msgVanReachedDealer = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanReachedDealer"].ToString();
|
||
string msgVanReachedCSM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanReachedCSM"].ToString();
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
//string[] id = model.TicketId.Split('-');
|
||
|
||
msgVanReachedCustomer = string.Format(msgVanReachedCustomer, ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString()
|
||
);
|
||
|
||
msgVanReachedDealer = string.Format(msgVanReachedDealer, ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(),
|
||
ds1.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"),
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
|
||
|
||
msgVanReachedCSM = string.Format(msgVanReachedCSM, ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(),
|
||
ds3.Tables[0].Rows[0]["dealer_dealer_name"].ToString(),
|
||
ticketIdAlias,
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgVanReachedCustomer);
|
||
string DealerSms = string.Format(url, ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgVanReachedDealer);
|
||
|
||
string[] CSMContactNo = (ds.Tables[0].Rows[0]["csm_contact_no"].ToString()).Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i].ToString(), msgVanReachedCSM);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
|
||
|
||
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
objGlobalRepository.SendMessage(DealerSms);
|
||
|
||
|
||
#region Sending sms to KAM when ticket is Assigned to Van and Van reached
|
||
|
||
// checking whether this ticket creation belongs to KAM user or not
|
||
NpgsqlParameter[] nSqlParam01 = new NpgsqlParameter[1];
|
||
nSqlParam01[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
DataSet ds_kam_ticket_details = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_kam_ticket_or_not"], nSqlParam01);
|
||
|
||
if (ds_kam_ticket_details.Tables.Count > 0)
|
||
{ // if this ticket belongs to KAM
|
||
if (ds_kam_ticket_details.Tables[0].Rows.Count > 0)
|
||
{
|
||
string msgKamVanReachedTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgKamVanReachedTicket"].ToString();
|
||
// set content in msg
|
||
msgKamVanReachedTicket = string.Format(msgKamVanReachedTicket,
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // eos team name and contact
|
||
ds1.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26") // breakdown location
|
||
);
|
||
|
||
string KamSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgKamVanReachedTicket);
|
||
objGlobalRepository.SendMessage(KamSms);
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
|
||
// Added By priya
|
||
|
||
#region Sending SMS (When van was started and when reach to location) )
|
||
if (ds_latest_ticket_activity.Tables.Count > 0)
|
||
{
|
||
if ((ds_latest_ticket_activity.Tables[0].Rows[0][0].ToString() == "9") && (model.TicketStatus == 3))
|
||
{
|
||
//if (model.TicketStatus == 3)
|
||
//{
|
||
// UdanPushData.SendDataToSAP(model.VehicleRegistrationNumber, model.TicketStatus, "");
|
||
//}
|
||
DataSet ds = new DataSet();
|
||
DataSet ds1 = new DataSet();
|
||
// DataSet ds2 = new DataSet();
|
||
DataSet ds3 = new DataSet();
|
||
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
|
||
string ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
|
||
// get sms content details.
|
||
nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam);
|
||
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
|
||
|
||
//get sending sms api url.
|
||
string url = System.Web.Configuration.WebConfigurationManager.AppSettings["SmsUrl"].ToString();
|
||
|
||
// get msg format
|
||
string msgVanTicketVanReachedForCustomer = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketVanReachedForCustomer"].ToString();
|
||
string msgVanTicketVanReachedForWM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketVanReachedForWM"].ToString();
|
||
string msgVanTicketVanReachedForCSM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketVanReachedForCSM"].ToString();
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
//string[] id = model.TicketId.Split('-');
|
||
|
||
msgVanTicketVanReachedForCustomer = string.Format(msgVanTicketVanReachedForCustomer,
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString()
|
||
);
|
||
|
||
msgVanTicketVanReachedForWM = string.Format(msgVanTicketVanReachedForWM,
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // Service_Engineer_Name Service_Engineer_Contact
|
||
ticketIdAlias,
|
||
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver contact
|
||
);
|
||
|
||
msgVanTicketVanReachedForCSM = string.Format(msgVanTicketVanReachedForCSM,
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // Service_Engineer_Name Service_Engineer_Contact
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString(),// Dealer Name, Dealer City
|
||
|
||
ticketIdAlias, // Ticket ID
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver contact
|
||
);
|
||
|
||
|
||
string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgVanTicketVanReachedForCustomer);
|
||
string DealerSms = string.Format(url, ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgVanTicketVanReachedForWM);
|
||
|
||
|
||
string OwnerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgVanTicketVanReachedForCustomer);
|
||
// get all contact no split in array.
|
||
string[] CSMContactNo = ds.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgVanTicketVanReachedForCSM);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
|
||
string[] WMContactNo = ds.Tables[0].Rows[0]["WM_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
string WMsms = string.Format(url, WMContactNo[i], msgVanTicketVanReachedForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
}
|
||
|
||
string[] SiteIchargeContactNo = ds.Tables[0].Rows[0]["site_incharge_contact"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < SiteIchargeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, SiteIchargeContactNo[i], msgVanTicketVanReachedForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
objGlobalRepository.SendMessage(DealerSms);
|
||
objGlobalRepository.SendMessage(OwnerSms);
|
||
#region Sending sms to KAM when ticket is Assigned to Van and Van reached
|
||
|
||
// checking whether this ticket creation belongs to KAM user or not
|
||
NpgsqlParameter[] nSqlParam01 = new NpgsqlParameter[1];
|
||
nSqlParam01[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
DataSet ds_kam_ticket_details = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_kam_ticket_or_not"], nSqlParam01);
|
||
if (ds_kam_ticket_details.Tables.Count > 0)
|
||
{
|
||
|
||
// if this ticket belongs to KAM
|
||
if (ds_kam_ticket_details.Tables[0].Rows.Count > 0)
|
||
{
|
||
string msgKamVanReachedTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgKamVanReachedTicket"].ToString();
|
||
// set content in msg
|
||
msgKamVanReachedTicket = string.Format(msgKamVanReachedTicket,
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // eos team name and contact
|
||
ds1.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26") // breakdown location
|
||
);
|
||
|
||
string KamSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgKamVanReachedTicket);
|
||
objGlobalRepository.SendMessage(KamSms);
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
|
||
#endregion
|
||
|
||
#region Sending SMS ( When ticket was assigned to Van and is in Pre-Closure )
|
||
// For the first time message sending when ticket status is PreClosure first time
|
||
|
||
if (model.TicketStatus == 4)
|
||
{
|
||
DataSet ds1 = new DataSet();
|
||
DataSet ds = new DataSet();
|
||
DataSet ds3 = new DataSet();
|
||
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
|
||
string ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
|
||
// get sms content details.
|
||
nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam);
|
||
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
|
||
|
||
//get sending sms api url.
|
||
string url = System.Web.Configuration.WebConfigurationManager.AppSettings["SmsUrl"].ToString();
|
||
|
||
// get msg format
|
||
string msgVanTicketPreCloserForCustomer = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketPreCloserForCustomer"].ToString();
|
||
string msgVanTicketPreCloserForOwner = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketPreCloserForOwner"].ToString();
|
||
string msgVanTicketPreCloserForWM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketPreCloserForWM"].ToString();
|
||
string msgVanTicketPreCloserForCSM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketPreCloserForCSM"].ToString();
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
//string[] id = model.TicketId.Split('-');
|
||
|
||
msgVanTicketPreCloserForCustomer = string.Format(msgVanTicketPreCloserForCustomer,
|
||
ticketIdAlias, // Ticket Id
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), // Vehicle Registration Number
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds2.Tables[0].Rows[0]["dealer_city"].ToString() + ") "// Dealer Name, Dealer City
|
||
);
|
||
|
||
|
||
|
||
msgVanTicketPreCloserForWM = string.Format(msgVanTicketPreCloserForWM,
|
||
ticketIdAlias, // Ticket Id
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // Service_Engineer_Name Service_Engineer_Contact
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
msgVanTicketPreCloserForCSM = string.Format(msgVanTicketPreCloserForCSM,
|
||
ticketIdAlias, // Ticket ID
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString(), // Dealer Name, Dealer City
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
|
||
string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgVanTicketPreCloserForCustomer);
|
||
string DealerSms = string.Format(url, ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgVanTicketPreCloserForWM);
|
||
//string OwnerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgVanTicketPreCloserForOwner);
|
||
string OwnerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgVanTicketPreCloserForCustomer);
|
||
|
||
// get all contact no split in array.
|
||
string[] CSMContactNo = ds.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgVanTicketPreCloserForCSM);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
// objGlobalRepository.SendMessage(CustomerSms); //commented on 18-12-2020(stop sending message to customer on preclosure)
|
||
// objGlobalRepository.SendMessage(OwnerSms);
|
||
string[] WMContactNo = ds.Tables[0].Rows[0]["WM_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
string WMsms = string.Format(url, WMContactNo[i], msgVanTicketPreCloserForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
}
|
||
|
||
string[] SiteIchargeContactNo = ds.Tables[0].Rows[0]["site_incharge_contact"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < SiteIchargeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, SiteIchargeContactNo[i], msgVanTicketPreCloserForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
string typePreclosure = "";
|
||
if (model.TicketStatus.ToString() == strTicketStatus)
|
||
{
|
||
|
||
}
|
||
else
|
||
{
|
||
if (model.preclosure_reason == "Closure Request")
|
||
{
|
||
typePreclosure = "closure";
|
||
}
|
||
if (model.preclosure_reason == "Reassignment Request")
|
||
{
|
||
typePreclosure = "reassign";
|
||
}
|
||
InsertTicketDetailOnPreclousreInVECV(model, ticketIdAlias, typePreclosure, model.SuggestionComment);
|
||
//objGlobalRepository.SendMessage(OwnerSms);
|
||
}
|
||
}
|
||
//objGlobalRepository.SendMessage(OwnerSms);
|
||
}
|
||
#region Sending sms to KAM when ticket is Assigned to Van and in Preclosure
|
||
|
||
// checking whether this ticket creation belongs to KAM user or not
|
||
NpgsqlParameter[] nSqlParam01 = new NpgsqlParameter[1];
|
||
nSqlParam01[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
DataSet ds_kam_ticket_details = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_kam_ticket_or_not"], nSqlParam01);
|
||
|
||
//=============================================================================================
|
||
string msgKamPreClosureTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgKamPreClosureTicket"].ToString();
|
||
// set content in msg
|
||
msgKamPreClosureTicket = string.Format(msgKamPreClosureTicket,
|
||
ticketIdAlias, // ticket id
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), // vehicle reg no.
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + "( " + ds2.Tables[0].Rows[0]["dealer_city"].ToString() + " )" // Dealer Name, Dealer City
|
||
);
|
||
|
||
string KamSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgKamPreClosureTicket);
|
||
objGlobalRepository.SendMessage(KamSms);
|
||
//=============================================================================================
|
||
if (ds_kam_ticket_details.Tables.Count > 0)
|
||
{
|
||
|
||
// if this ticket belongs to KAM
|
||
if (ds_kam_ticket_details.Tables[0].Rows.Count > 0)
|
||
{
|
||
//-----------Sending GCM push to all KAM users-------------------------
|
||
NpgsqlParameter[] nSqlParam11 = new NpgsqlParameter[1];
|
||
nSqlParam11[0] = new NpgsqlParameter("inkam_id", ds_kam_ticket_details.Tables[0].Rows[0]["_kam_id"].ToString());
|
||
DataSet dsGcm1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_kam_user_devices_details_open_tickets"], nSqlParam11);
|
||
if (dsGcm1.Tables.Count > 0)
|
||
{
|
||
|
||
if (dsGcm1.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (DataRow dr in dsGcm1.Tables[0].Rows)
|
||
{
|
||
|
||
string notificationMessageFormat = ConfigurationManager.AppSettings["NotificationMessagePreClosureKamTicket"].ToString();
|
||
string notificationMessage = string.Format(notificationMessageFormat, ticketIdAlias, ConfigurationManager.AppSettings["TollFreeNo"].ToString());
|
||
|
||
SendNotificationModel objGcmModel1 = new SendNotificationModel();
|
||
objGcmModel1.DeviceGcmId = dr["_gcm_id"].ToString();
|
||
objGcmModel1.TicketId = ds_kam_ticket_details.Tables[0].Rows[0]["_kam_id"].ToString();
|
||
objGcmModel1.NotificationCode = ConfigurationManager.AppSettings["MessagePreClosureKamTicket"].ToString();
|
||
objGcmModel1.NotificationMessage = notificationMessage;
|
||
if (Convert.ToInt32(dr["_push_notification_bit"]) == 0)
|
||
{
|
||
objGcmModel1 = objGlobalRepository.GcmSendNotificationForKam(objGcmModel1);
|
||
objModel.Status = objGcmModel1.Status;
|
||
}
|
||
else
|
||
{
|
||
objGcmModel1 = objGlobalRepository.FcmSendNotificationForKam(objGcmModel1);
|
||
objModel.Status = objGcmModel1.Status;
|
||
}
|
||
//objModel.SenderId = objGcmModel.SenderId;
|
||
}
|
||
}
|
||
}
|
||
//----------------------------------------------------------------------
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
}
|
||
|
||
#endregion
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return objModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("UpdateOpenTicketaAndroid", Ex.Message, path, errorlogtf);
|
||
return objModel;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// To update open ticket for android
|
||
/// </summary>
|
||
/// <param name="model">contain open ticket detail for updation</param>
|
||
/// <returns>contain response status 1 or 0</returns>
|
||
public InsertOpenTicket UpdateOpenTicketaAndroid(InsertOpenTicket model, string IsMobile)
|
||
{
|
||
InsertOpenTicket objModel = new InsertOpenTicket();
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
SendNotificationModel objGcmModel = new SendNotificationModel();
|
||
try
|
||
{
|
||
objModel.Status = "1";
|
||
DataSet ds2 = new DataSet();
|
||
DataSet dsGcm = new DataSet();
|
||
int UtcMinute = 330;
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
// get latest ticket activity for the ticket.
|
||
NpgsqlParameter[] nSqlParam0 = new NpgsqlParameter[1];
|
||
nSqlParam0[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
DataSet ds_latest_ticket_activity = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_activity"], nSqlParam0);
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[33];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam[1] = new NpgsqlParameter("inassigned_to", model.AssignedTo);
|
||
nSqlParam[2] = new NpgsqlParameter("inreported_via", model.ReportedVia);
|
||
nSqlParam[3] = new NpgsqlParameter("inpriority", model.Priority);
|
||
nSqlParam[4] = new NpgsqlParameter("incustomer_score", model.CustomerScore);
|
||
nSqlParam[5] = new NpgsqlParameter("inbreakdown_location", model.BreakdownLocation);
|
||
nSqlParam[6] = new NpgsqlParameter("inlast_modified_by", model.LastModifiedBy);
|
||
//nSqlParam[7] = new NpgsqlParameter("inlast_modified_time", model.LastModifiedTime);
|
||
nSqlParam[7] = new NpgsqlParameter("inlast_modified_time", DateTime.Now.AddMinutes(-UtcMinute));
|
||
nSqlParam[8] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
nSqlParam[9] = new NpgsqlParameter("indescription", model.Description);
|
||
nSqlParam[10] = new NpgsqlParameter("inbreakdown_longitude", model.BreakdownLongitude);
|
||
nSqlParam[11] = new NpgsqlParameter("inbreakdown_lattitude", model.BreakdownLattitude);
|
||
nSqlParam[12] = new NpgsqlParameter("inassigned_to_user_id", model.AssignedToUserId);
|
||
nSqlParam[13] = new NpgsqlParameter("inassigned_to_user_lattitude", model.AssignedToUserLattitude);
|
||
nSqlParam[14] = new NpgsqlParameter("inassigned_to_user_longitude", model.AssignedToUserLongitude);
|
||
nSqlParam[15] = new NpgsqlParameter("inestimated_time_for_job_completion", model.EstimatedTimeForJobCompletion);
|
||
nSqlParam[16] = new NpgsqlParameter("inestimated_time_for_job_completion_submit_time", model.EstimatedTimeForJobCompletionSubmitTime);
|
||
nSqlParam[17] = new NpgsqlParameter("inbreakdown_location_landmark", model.BreakdownLocationLandmark);
|
||
nSqlParam[18] = new NpgsqlParameter("inroute_id", model.RouteId);
|
||
nSqlParam[19] = new NpgsqlParameter("inrepair_cost", model.RepairCost);
|
||
nSqlParam[20] = new NpgsqlParameter("indefault_sla_time", model.DefaultSlaTime);
|
||
nSqlParam[21] = new NpgsqlParameter("insla_missed_reason", model.SlaMissedReason);
|
||
nSqlParam[22] = new NpgsqlParameter("insuggestion_comment", model.SuggestionComment);
|
||
nSqlParam[23] = new NpgsqlParameter("indefault_col_1", model.JobCompleteResponseTime);
|
||
nSqlParam[24] = new NpgsqlParameter("indefault_col_2", model.DefaultCol2);
|
||
nSqlParam[25] = new NpgsqlParameter("indefault_col_3", model.DefaultCol3);
|
||
nSqlParam[26] = new NpgsqlParameter("inopportunity_loss", model.OpportunityLost);
|
||
nSqlParam[27] = new NpgsqlParameter("inreason_for_more_then_24hours", model._24HrsReason);
|
||
nSqlParam[28] = new NpgsqlParameter("inestimated_distance", null);
|
||
nSqlParam[29] = new NpgsqlParameter("inismobile", IsMobile);
|
||
nSqlParam[30] = new NpgsqlParameter("inother_remarks", model.OtherRemarks);
|
||
nSqlParam[31] = new NpgsqlParameter("inchassis_number", model.ChassisNo);
|
||
nSqlParam[32] = new NpgsqlParameter("inodometer_reading", model.OdometerReading);
|
||
ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_open_ticket_status"], nSqlParam);
|
||
|
||
// Send msg to dealer,csm and customer on van reached. (For first time message sending when status is changed to In Progress)
|
||
if ((ds_latest_ticket_activity.Tables[0].Rows[0][0].ToString() == "2") && (model.TicketStatus == 3))
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
DataSet ds1 = new DataSet();
|
||
DataSet ds3 = new DataSet();
|
||
|
||
NpgsqlParameter[] nSqlParam1_ticket_info = new NpgsqlParameter[2];
|
||
nSqlParam1_ticket_info[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1_ticket_info[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1_ticket_info);
|
||
|
||
string ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
|
||
NpgsqlParameter[] nSqlParam2_ticket_info = new NpgsqlParameter[3];
|
||
nSqlParam2_ticket_info[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam2_ticket_info[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam2_ticket_info[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam2_ticket_info);
|
||
|
||
NpgsqlParameter[] nSqlParam3_ticket_info = new NpgsqlParameter[1];
|
||
nSqlParam3_ticket_info[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds3 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam3_ticket_info);
|
||
|
||
string url = System.Web.Configuration.WebConfigurationManager.AppSettings["SmsUrl"].ToString();
|
||
string msgVanReachedCustomer = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanReachedCustomer"].ToString();
|
||
string msgVanReachedDealer = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanReachedDealer"].ToString();
|
||
string msgVanReachedCSM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanReachedCSM"].ToString();
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
//string[] id = model.TicketId.Split('-');
|
||
|
||
msgVanReachedCustomer = string.Format(msgVanReachedCustomer, ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString()
|
||
);
|
||
|
||
msgVanReachedDealer = string.Format(msgVanReachedDealer, ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(),
|
||
ds1.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"));
|
||
|
||
|
||
msgVanReachedCSM = string.Format(msgVanReachedCSM, ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(),
|
||
ds3.Tables[0].Rows[0]["dealer_dealer_name"].ToString(),
|
||
ticketIdAlias,
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgVanReachedCustomer);
|
||
string DealerSms = string.Format(url, ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgVanReachedDealer);
|
||
|
||
|
||
string[] CSMContactNo = (ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString()).Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i].ToString(), msgVanReachedCSM);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
objGlobalRepository.SendMessage(DealerSms);
|
||
}
|
||
}
|
||
//if (model.TicketStatus == 4)
|
||
// InsertTicketDetailOnPreclousreInVECV(model, model.TicketIdAlias);
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return objModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("UpdateOpenTicketaAndroid", Ex.Message, path, errorlogtf);
|
||
return objModel;
|
||
}
|
||
}
|
||
|
||
|
||
public InsertOpenTicket CheckRegistrationNumberThirdParty(InsertOpenTicket model)
|
||
{
|
||
InsertOpenTicket objModel = new Ticket.InsertOpenTicket();
|
||
try
|
||
{
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
CustomerModel objCustomerModel = new CustomerModel();
|
||
objCustomerModel.VehicleRegistrationNumber = model.VehicleRegistrationNumber;
|
||
CustomerModel objModelCustomerModel = new CustomerModel();
|
||
objModelCustomerModel = objGlobalRepository.checkRegistartionNoandGetDetail(objCustomerModel);
|
||
if (string.IsNullOrEmpty(objModelCustomerModel.VehicleRegistrationNumber))
|
||
{
|
||
VehicleRepository objVehicleRepository = new VehicleRepository(_connStr);
|
||
VehicleModel objVehicleModel = new VehicleModel();
|
||
objVehicleModel.RegistrationNo = model.VehicleRegistrationNumber;
|
||
objVehicleModel = objVehicleRepository.GetVehicleDetail(objVehicleModel);
|
||
if (!string.IsNullOrEmpty(objVehicleModel.VehicleNumberPlate) && objVehicleModel.VehicleNumberPlate.Trim().ToUpper() == model.ChassisNo.Trim().ToUpper())
|
||
{
|
||
objModel.Status = "1";
|
||
objModel.Message = "Valid Chassis Number";
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "2";
|
||
objModel.Message = "Invalid Chassis Number";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (objModelCustomerModel.VehicleRegistrationNumber.Trim().ToUpper() == model.ChassisNo.Trim().ToUpper())
|
||
{
|
||
objModel.Status = "1";
|
||
objModel.Message = "Valid Chassis Number";
|
||
}
|
||
else
|
||
{
|
||
VehicleRepository objVehicleRepository = new VehicleRepository(_connStr);
|
||
VehicleModel objVehicleModel = new VehicleModel();
|
||
objVehicleModel.RegistrationNo = model.VehicleRegistrationNumber;
|
||
objVehicleModel = objVehicleRepository.GetVehicleDetail(objVehicleModel);
|
||
if (!string.IsNullOrEmpty(objVehicleModel.ChassisNumber) && objVehicleModel.ChassisNumber.Trim().ToUpper() == model.ChassisNo.Trim().ToUpper())
|
||
{
|
||
objModel.Status = "1";
|
||
objModel.Message = "Valid Chassis Number";
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "2";
|
||
objModel.Message = "Invalid Chassis Number";
|
||
}
|
||
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
VehicleRepository objVehicleRepository = new VehicleRepository(_connStr);
|
||
VehicleModel objVehicleModel = new VehicleModel();
|
||
objVehicleModel.RegistrationNo = model.VehicleRegistrationNumber;
|
||
|
||
objVehicleModel = objVehicleRepository.GetVehicleDetail(objVehicleModel);
|
||
if (!string.IsNullOrEmpty(objVehicleModel.ChassisNumber) && objVehicleModel.ChassisNumber.Trim().ToUpper() == model.ChassisNo.Trim().ToUpper())
|
||
{
|
||
objModel.Status = "1";
|
||
objModel.Message = "Valid Chassis Number";
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "2";
|
||
objModel.Message = "Invalid Chassis Number";
|
||
}
|
||
objLog.ErrorLogFile("TicketRepository CheckRegistrationNumberThirdParty", ex.Message, path, errorlogtf);
|
||
|
||
}
|
||
|
||
return objModel;
|
||
}
|
||
public InsertOpenTicket CheckChassisNoNumberThirdParty(InsertOpenTicket model)
|
||
{
|
||
InsertOpenTicket objModel = new Ticket.InsertOpenTicket();
|
||
try
|
||
{
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
CustomerModel objCustomerModel = new CustomerModel();
|
||
objCustomerModel.VehicleRegistrationNumber = model.ChassisNo;
|
||
CustomerModel objModelCustomerModel = new CustomerModel();
|
||
if (model.ChassisNo != null)
|
||
{
|
||
objModelCustomerModel = objGlobalRepository.checkChassisNoandGetDetail(objCustomerModel);
|
||
objModel.Status = "1";
|
||
objModel.Message = "Valid Chassis Number";
|
||
}
|
||
else
|
||
{
|
||
|
||
objModel.Status = "2";
|
||
objModel.Message = "Invalid Chassis Number";
|
||
}
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
if (Ex.Message == "The remote server returned an error: (400) Bad Request.")
|
||
{
|
||
objModel.Status = "2";
|
||
objModel.Message = "Invalid Chassis Number";
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
}
|
||
objLog.ErrorLogFile("CheckChassisNoNumberThirdParty CheckChassisNoNumberThirdParty", Ex.Message, path, errorlogtf);
|
||
return objModel;
|
||
}
|
||
return objModel;
|
||
}
|
||
public InsertOpenTicket CheckChassisNoNumberThirdPartyPreclosure(InsertOpenTicket model)
|
||
{
|
||
InsertOpenTicket objModel = new Ticket.InsertOpenTicket();
|
||
//model.TicketIdAlias = "W2P0525278623";
|
||
try
|
||
{
|
||
List<CustomerModel> objCustomerList = new List<CustomerModel>();
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
CustomerModel objCustomerModel = new CustomerModel();
|
||
objCustomerModel.VehicleRegistrationNumber = model.ChassisNo;
|
||
CustomerModel objModelCustomerModel = new CustomerModel();
|
||
objModelCustomerModel.VehicleNumberPlate = model.ChassisNo;
|
||
bool containsP = false;
|
||
if (model.ChassisNo != null)
|
||
{
|
||
if (model.TicketIdAlias == null)
|
||
{
|
||
if (model.ChassisNo.ToLower() == "dummychassiseos")
|
||
{
|
||
|
||
}
|
||
else
|
||
{
|
||
containsP = model.ChassisNo.StartsWith("E");
|
||
}
|
||
}
|
||
else
|
||
{
|
||
containsP = model.TicketIdAlias.Contains("P");
|
||
}
|
||
if (containsP == true)
|
||
{
|
||
//objModelCustomerModel = objGlobalRepository.checkChassisNoandGetDetailEPS(objModelCustomerModel);
|
||
// objModelCustomerModel = objGlobalRepository.checkChassisNoandGetCustomerDetailEPS(objModelCustomerModel);
|
||
objCustomerList = objGlobalRepository.checkChassisNoandGetCustomerDetailEPS(objModelCustomerModel);
|
||
if (objCustomerList.Count <= 0)
|
||
{
|
||
|
||
objModel.Status = "2";
|
||
objModel.Message = "Invalid Chassis Number";
|
||
}
|
||
|
||
//if (objModelCustomerModel.VehicleNumberPlate == "" || (objModelCustomerModel.VehicleNumberPlate == null))
|
||
//{
|
||
// objModel.Status = "2";
|
||
// objModel.Message = "Invalid Chassis Number";
|
||
//}
|
||
|
||
}
|
||
else
|
||
{
|
||
objModelCustomerModel = objGlobalRepository.checkChassisNoandGetDetailpreclosure(objCustomerModel);
|
||
if (objModelCustomerModel.Status == "0")
|
||
{
|
||
objModel.Status = "2";
|
||
objModel.Message = "Please try again later";
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "1";
|
||
objModel.Message = "Valid Chassis Number";
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
|
||
objModel.Status = "2";
|
||
objModel.Message = "Invalid Chassis Number";
|
||
}
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
if (Ex.Message == "The remote server returned an error: (400) Bad Request.")
|
||
{
|
||
objModel.Status = "2";
|
||
objModel.Message = "Invalid Chassis Number";
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
}
|
||
objLog.ErrorLogFile("CheckChassisNoNumberThirdParty CheckChassisNoNumberThirdPartyPreclosure", Ex.Message, path, errorlogtf);
|
||
return objModel;
|
||
}
|
||
return objModel;
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get customer open ticket full details ticket wise
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>customer open ticket full details ticket wise</returns>
|
||
public List<CustomerOpenTicketFullDetailsTicketWise> GetCustomerOpenTicketFullDetailTicketWise(CustomerOpenTicketFullDetailsTicketWise model)
|
||
{
|
||
List<CustomerOpenTicketFullDetailsTicketWise> objListTicketModel = new List<CustomerOpenTicketFullDetailsTicketWise>();
|
||
CustomerOpenTicketFullDetailsTicketWise objmodel = new CustomerOpenTicketFullDetailsTicketWise();
|
||
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
NpgsqlParameter[] nSqlParamstatus = new NpgsqlParameter[1];
|
||
nSqlParamstatus[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
DataSet dsstatus = new DataSet();
|
||
|
||
dsstatus = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_TicketStatus_By_TicketId"], nSqlParamstatus);
|
||
|
||
if (dsstatus.Tables[0].Rows[0]["ticket_status_alias"].ToString().Trim() != null && dsstatus.Tables[0].Rows[0]["ticket_status_alias"].ToString().Trim() != "")
|
||
{
|
||
|
||
|
||
model.OpenCloseStatus = dsstatus.Tables[0].Rows[0]["ticket_status_alias"].ToString();
|
||
|
||
|
||
|
||
}
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
|
||
if (model.OpenCloseStatus == "open")
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
}
|
||
else if (model.OpenCloseStatus == "close")
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_closed_ticket_full_details_ticket_wise"], nSqlParam);
|
||
}
|
||
else if (model.OpenCloseStatus == "open_kam")
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_kam_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
}
|
||
else if (model.OpenCloseStatus == "close_kam")
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_kam_closed_ticket_full_details_ticket_wise"], nSqlParam);
|
||
}
|
||
if (model.OpenCloseStatus == "open" || model.OpenCloseStatus == "close" || model.OpenCloseStatus == "open_kam" || model.OpenCloseStatus == "close_kam")
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
double totalDist = 0.0; double currDist = 0.0; double prevDist = 0.0;
|
||
|
||
if (model.OpenCloseStatus == "close")
|
||
{
|
||
DataSet dsDistanceParamValues = new DataSet();
|
||
NpgsqlParameter[] nSqlParamDistance = new NpgsqlParameter[1];
|
||
nSqlParamDistance[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
dsDistanceParamValues = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_device_alias_and_activity_time"], nSqlParamDistance);
|
||
|
||
// Get Actual Distance.
|
||
if (dsDistanceParamValues.Tables[0].Rows.Count > 0)
|
||
{
|
||
TrackingGetModel oTrackingGetModel = new TrackingGetModel();
|
||
oTrackingGetModel.DeviceAlias = dsDistanceParamValues.Tables[0].Rows[0]["_device_alias"].ToString();
|
||
oTrackingGetModel.FromDate = dsDistanceParamValues.Tables[0].Rows[0]["_accept"].ToString();
|
||
oTrackingGetModel.ToDate = dsDistanceParamValues.Tables[0].Rows[0]["_reached"].ToString();
|
||
oTrackingGetModel.Token = model.Token;
|
||
DistanceCalc oDistanceCalc = new DistanceCalc();
|
||
List<TrackingModel> objList = new List<TrackingModel>();
|
||
|
||
TrackingRepository objTrackingRepository = new TrackingRepository(ConfigurationManager.ConnectionStrings["Vecv_Tracking"].ConnectionString);
|
||
objList = objTrackingRepository.GetTrackingDetailDeviceAliasWise(oTrackingGetModel);
|
||
//return objList;
|
||
|
||
|
||
double lat = 0.0; double lng = 0.0; double tempLat = 0.0; double tempLng = 0.0;
|
||
int counter = 0;
|
||
|
||
var data = objList.Where(w => w.DeviceAlias == oTrackingGetModel.DeviceAlias);
|
||
int totalPoints = data.Count();
|
||
|
||
|
||
double[] tempLatitude = { 0.0, 0.0 };
|
||
double[] tempLongitude = { 0.0, 0.0 };
|
||
|
||
if (data != null && totalPoints > 0)
|
||
{
|
||
foreach (var item in data)
|
||
{
|
||
if (double.TryParse(item.Latitude, out tempLat) && double.TryParse(item.Longitude, out tempLng))
|
||
{
|
||
tempLatitude[0] = tempLatitude[1]; tempLongitude[0] = tempLongitude[1];
|
||
tempLatitude[1] = tempLat; tempLongitude[1] = tempLng;
|
||
if (counter == 0) { tempLatitude[0] = tempLat; tempLongitude[0] = tempLng; }
|
||
lat += tempLat; lng += tempLng; counter++;
|
||
}
|
||
|
||
currDist = oDistanceCalc.DistanceInKM(tempLatitude, tempLongitude);
|
||
totalDist = totalDist + currDist;
|
||
prevDist = prevDist + currDist;
|
||
}
|
||
}
|
||
}
|
||
// added for filter old/new feedback.
|
||
// Get Open ticket full deatils
|
||
objListTicketModel = ds.Tables[0].AsEnumerable().Select(s => new CustomerOpenTicketFullDetailsTicketWise
|
||
{
|
||
TicketId = s.Field<string>("ticket_id"),
|
||
Description = s.Field<string>("description"),
|
||
AssignedTo = s.Field<string>("assigned_to"),
|
||
ReportedVia = s.Field<string>("reported_via"),
|
||
TicketStatus = s.Field<int?>("ticket_status"),
|
||
Priority = s.Field<int?>("priority"),
|
||
CustomerScore = s.Field<string>("customer_score"),
|
||
CreatedBy = s.Field<string>("created_by"),
|
||
CreationTime = s.Field<DateTime?>("creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
LastModifiedBy = s.Field<string>("last_modified_by"),
|
||
LastModifiedTime = s.Field<DateTime?>("last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
BreakdownLocation = s.Field<string>("breakdown_location"),
|
||
BreakdownLongitude = s.Field<string>("breakdown_longitude"),
|
||
BreakdownLattitude = s.Field<string>("breakdown_lattitude"),
|
||
AssignedToUserId = s.Field<string>("assigned_to_user_id"),
|
||
AssignedToUserLattitude = s.Field<string>("assigned_to_user_lattitude"),
|
||
AssignedToUserLongitude = s.Field<string>("assigned_to_user_longitude"),
|
||
Isdeclined = s.Field<Boolean?>("isdeclined"),
|
||
EstimatedTimeForJobCompletion = s.Field<int?>("estimated_time_for_job_completion"),
|
||
TotalTicketLifecycleTimeSla = s.Field<int?>("total_ticket_lifecycle_time_sla"),
|
||
EstimatedTimeForJobCompletionSubmitTime = s.Field<DateTime?>("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
VehicleRegisterNumber = s.Field<string>("vehicle_register_number"),
|
||
BreakdownLocationLandmark = s.Field<string>("breakdown_location_landmark"),
|
||
RouteId = s.Field<int?>("route_id"),
|
||
CustomerContactNo = s.Field<string>("customer_contact_no"),
|
||
UsersId = s.Field<long?>("users_id"),
|
||
UsersAuthEngineId = s.Field<string>("users_auth_engine_id"),
|
||
UsersUserName = s.Field<string>("users_user_name"),
|
||
UsersDesignation = s.Field<string>("users_designation"),
|
||
UsersObjectId = s.Field<string>("users_object_id"),
|
||
UsersCity = s.Field<string>("users_city"),
|
||
UsersState = s.Field<string>("users_state"),
|
||
UsersRegion = s.Field<string>("users_region"),
|
||
UsersLanguage = s.Field<string>("users_language"),
|
||
TimezoneInfoDisplayName = s.Field<string>("timezone_info_display_name"),
|
||
UserOrganizationName = s.Field<string>("user_organization_name"),
|
||
UserOrganizationAlias = s.Field<string>("user_organization_alias"),
|
||
UserOrganizationCity = s.Field<string>("user_organization_city"),
|
||
UserOrganizationState = s.Field<string>("user_organization_state"),
|
||
UserOrganizationCountry = s.Field<string>("user_organization_country"),
|
||
UserOrganizationRegion = s.Field<string>("user_organization_region"),
|
||
DealerOrVanId = s.Field<string>("dealer_or_van_id"),
|
||
DealerOrVanName = s.Field<string>("dealer_or_van_name"),
|
||
DealerOrVanDefaultLongitude = s.Field<string>("dealer_or_van_default_lattitude"),
|
||
DealerOrVanDefaultLattitude = s.Field<string>("dealer_or_van_default_longitude"),
|
||
DealerOrVanCity = s.Field<string>("dealer_or_van_city"),
|
||
DealerOrVanState = s.Field<string>("dealer_or_van_state"),
|
||
TicketStatusAlias = s.Field<string>("ticket_status_alias"),
|
||
RepairCost = s.Field<string>("repair_cost"),
|
||
DefaultSlaTime = s.Field<int?>("default_sla_time"),
|
||
SlaMissedReason = s.Field<string>("sla_missed_reason"),
|
||
SuggestionComment = s.Field<string>("suggestion_comment"),
|
||
TicketClosedReason = s.Field<string>("ticket_closed_reason"), //added on 25-11-2020
|
||
JobCompleteResponseTime = s.Field<string>("default_col_1"),
|
||
DefaultCol2 = s.Field<string>("default_col_2"),
|
||
DefaultCol3 = s.Field<string>("default_col_3"),
|
||
DealerOrServiceEnggContactNumber = s.Field<string>("contact_number"),
|
||
EstimatedDistance = s.Field<string>("estimated_distance"),
|
||
Status = "1",
|
||
OpportunityLossReason = model.OpenCloseStatus == "close" ? s.Field<string>("opportunity_loss") : null,
|
||
Dealerdealer_name = s.Field<string>("dealer_dealer_name"),
|
||
DealerContactNumber1 = s.Field<string>("dealer_contact_number1"),
|
||
DealerCity = s.Field<string>("dealer_city"),
|
||
DealerState = s.Field<string>("dealer_state"),
|
||
ChassisNo = s.Field<string>("chassis_no"),
|
||
KmCovered = s.Field<double?>("km_covered"),
|
||
ActualDistance = Math.Ceiling(totalDist).ToString(),
|
||
WM_Name = s.Field<string>("wm_name"),
|
||
Dealer_Id = s.Field<string>("dealer_id"),
|
||
Vehicle_tagging = s.Field<string>("vehicle_tagging"),
|
||
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
|
||
Device_Alias = s.Field<string>("_device_alias"),
|
||
TripStart = s.Field<DateTime?>("_trip_start") != null ? Convert.ToDateTime(s.Field<DateTime?>("_trip_start")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_trip_start")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
TripEnd = s.Field<DateTime?>("_trip_end") != null ? Convert.ToDateTime(s.Field<DateTime?>("_trip_end")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_trip_end")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
VanKmCovered = s.Field<double?>("_van_covered_distance"),
|
||
RemarkTicketNotClosed24Hours = s.Field<string>("_remark_ticket_not_closed_24_hours"),
|
||
ChassisNumber = s.Field<string>("_chassis_number"),
|
||
OdoMeter = s.Field<double>("_odometer_reading"),
|
||
VehicleType = s.Field<string>("_vehicle_type"),
|
||
PreviousOdometerReading = s.Field<double>("_previous_odometer_reading"),
|
||
TollFreeNoSource = s.Field<string>("_toll_free_no_source"),
|
||
FeedbackCallStatus = s.Field<string>("_call_status"),
|
||
//added on 26/11/2020
|
||
vehicle_warranty = s.Field<string>("_vehicle_warranty"),
|
||
vehicle_amc = s.Field<string>("_vehicle_amc"),
|
||
vehicle_emission_norms = s.Field<string>("_vehicle_emission_norms"),
|
||
vehicle_sales_date = s.Field<string>("_vehicle_sales_date"),
|
||
customer_type = s.Field<string>("_customer_type"), //added on 14-01-2021
|
||
//ended on 26/11/2020
|
||
van_reached_punched_time = s.Field<DateTime?>("_van_reached_punch_time") == null ? "" : (s.Field<DateTime>("_van_reached_punch_time").ToString("yyyy-MM-dd" + "T" + "HH:mm")) //added on 23-12-2020
|
||
//current_lat = s.Field<string>("_current_lat"),
|
||
//current_long = s.Field<string>("_current_long"),
|
||
}).ToList();
|
||
}
|
||
|
||
|
||
else
|
||
{
|
||
|
||
DataSet ds1 = new DataSet();
|
||
string res = "";
|
||
if (!String.IsNullOrWhiteSpace(model.TicketId))
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("in_van_id", ds.Tables[0].Rows[0]["assigned_to_user_id"].ToString());
|
||
//Get Device GCm id for ticket.
|
||
|
||
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_otp"], nSqlParam1);
|
||
|
||
res = ds1.Tables[0].Rows[0][0].ToString();
|
||
}
|
||
|
||
|
||
// Get Open ticket full deatils
|
||
objListTicketModel = ds.Tables[0].AsEnumerable().Select(s => new CustomerOpenTicketFullDetailsTicketWise
|
||
{
|
||
TicketId = s.Field<string>("ticket_id"),
|
||
Description = s.Field<string>("description"),
|
||
AssignedTo = s.Field<string>("assigned_to"),
|
||
ReportedVia = s.Field<string>("reported_via"),
|
||
TicketStatus = s.Field<int?>("ticket_status"),
|
||
Priority = s.Field<int?>("priority"),
|
||
CustomerScore = s.Field<string>("customer_score"),
|
||
CreatedBy = s.Field<string>("created_by"),
|
||
CreationTime = s.Field<DateTime?>("creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
LastModifiedBy = s.Field<string>("last_modified_by"),
|
||
LastModifiedTime = s.Field<DateTime?>("last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
BreakdownLocation = s.Field<string>("breakdown_location"),
|
||
BreakdownLongitude = s.Field<string>("breakdown_longitude"),
|
||
BreakdownLattitude = s.Field<string>("breakdown_lattitude"),
|
||
AssignedToUserId = s.Field<string>("assigned_to_user_id"),
|
||
AssignedToUserLattitude = s.Field<string>("assigned_to_user_lattitude"),
|
||
AssignedToUserLongitude = s.Field<string>("assigned_to_user_longitude"),
|
||
Isdeclined = s.Field<Boolean?>("isdeclined"),
|
||
EstimatedTimeForJobCompletion = s.Field<int?>("estimated_time_for_job_completion"),
|
||
TotalTicketLifecycleTimeSla = s.Field<int?>("total_ticket_lifecycle_time_sla"),
|
||
EstimatedTimeForJobCompletionSubmitTime = s.Field<DateTime?>("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
VehicleRegisterNumber = s.Field<string>("vehicle_register_number"),
|
||
BreakdownLocationLandmark = s.Field<string>("breakdown_location_landmark"),
|
||
RouteId = s.Field<int?>("route_id"),
|
||
CustomerContactNo = s.Field<string>("customer_contact_no"),
|
||
UsersId = s.Field<long?>("users_id"),
|
||
UsersAuthEngineId = s.Field<string>("users_auth_engine_id"),
|
||
UsersUserName = s.Field<string>("users_user_name"),
|
||
UsersDesignation = s.Field<string>("users_designation"),
|
||
UsersObjectId = s.Field<string>("users_object_id"),
|
||
UsersCity = s.Field<string>("users_city"),
|
||
UsersState = s.Field<string>("users_state"),
|
||
UsersRegion = s.Field<string>("users_region"),
|
||
UsersLanguage = s.Field<string>("users_language"),
|
||
TimezoneInfoDisplayName = s.Field<string>("timezone_info_display_name"),
|
||
UserOrganizationName = s.Field<string>("user_organization_name"),
|
||
UserOrganizationAlias = s.Field<string>("user_organization_alias"),
|
||
UserOrganizationCity = s.Field<string>("user_organization_city"),
|
||
UserOrganizationState = s.Field<string>("user_organization_state"),
|
||
UserOrganizationCountry = s.Field<string>("user_organization_country"),
|
||
UserOrganizationRegion = s.Field<string>("user_organization_region"),
|
||
DealerOrVanId = s.Field<string>("dealer_or_van_id"),
|
||
DealerOrVanName = s.Field<string>("dealer_or_van_name"),
|
||
DealerOrVanDefaultLongitude = s.Field<string>("dealer_or_van_default_lattitude"),
|
||
DealerOrVanDefaultLattitude = s.Field<string>("dealer_or_van_default_longitude"),
|
||
DealerOrVanCity = s.Field<string>("dealer_or_van_city"),
|
||
DealerOrVanState = s.Field<string>("dealer_or_van_state"),
|
||
TicketStatusAlias = s.Field<string>("ticket_status_alias"),
|
||
RepairCost = s.Field<string>("repair_cost"),
|
||
DefaultSlaTime = s.Field<int?>("default_sla_time"),
|
||
SlaMissedReason = s.Field<string>("sla_missed_reason"),
|
||
SuggestionComment = s.Field<string>("suggestion_comment"),
|
||
JobCompleteResponseTime = s.Field<string>("default_col_1"),
|
||
DefaultCol2 = s.Field<string>("default_col_2"),
|
||
DefaultCol3 = s.Field<string>("default_col_3"),
|
||
DealerOrServiceEnggContactNumber = s.Field<string>("contact_number"),
|
||
EstimatedDistance = s.Field<string>("estimated_distance"),
|
||
Status = "1",
|
||
OpportunityLossReason = model.OpenCloseStatus == "close" ? s.Field<string>("opportunity_loss") : null,
|
||
Dealerdealer_name = s.Field<string>("dealer_dealer_name"),
|
||
DealerContactNumber1 = s.Field<string>("dealer_contact_number1"),
|
||
DealerCity = s.Field<string>("dealer_city"),
|
||
DealerState = s.Field<string>("dealer_state"),
|
||
ChassisNo = s.Field<string>("chassis_no"),
|
||
KmCovered = s.Field<double?>("km_covered"),
|
||
ActualDistance = Math.Ceiling(totalDist).ToString(),
|
||
WM_Name = s.Field<string>("wm_name"),
|
||
Dealer_Id = s.Field<string>("dealer_id"),
|
||
Vehicle_tagging = s.Field<string>("vehicle_tagging"),
|
||
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
|
||
Device_Alias = s.Field<string>("_device_alias"),
|
||
TripStart = s.Field<DateTime?>("_trip_start") != null ? Convert.ToDateTime(s.Field<DateTime?>("_trip_start")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_trip_start")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
TripEnd = s.Field<DateTime?>("_trip_end") != null ? Convert.ToDateTime(s.Field<DateTime?>("_trip_end")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_trip_end")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
VanKmCovered = s.Field<double?>("_van_covered_distance"),
|
||
RemarkTicketNotClosed24Hours = s.Field<string>("_remark_ticket_not_closed_24_hours"),
|
||
ChassisNumber = s.Field<string>("_chassis_number"),
|
||
OdoMeter = s.Field<double>("_odometer_reading"),
|
||
VehicleType = s.Field<string>("_vehicle_type"),
|
||
PreviousOdometerReading = s.Field<double>("_previous_odometer_reading"),
|
||
TollFreeNoSource = s.Field<string>("_toll_free_no_source"),
|
||
//added on 26/11/2020
|
||
vehicle_warranty = s.Field<string>("_vehicle_warranty"),
|
||
vehicle_amc = s.Field<string>("_vehicle_amc"),
|
||
vehicle_emission_norms = s.Field<string>("_vehicle_emission_norms"),
|
||
vehicle_sales_date = s.Field<string>("_vehicle_sales_date"),
|
||
customer_type = s.Field<string>("_customer_type"),
|
||
//ended on 26/11/2020
|
||
van_reached_punched_time = s.Field<DateTime?>("_van_reached_punch_time") == null ? "" : s.Field<DateTime>("_van_reached_punch_time").ToString("yyyy-MM-dd" + "T" + "HH:mm"), //added on 23-12-2020
|
||
//FeedbackCallStatus = s.Field<string>("_call_status")
|
||
//current_lat = s.Field<string>("_current_lat"),
|
||
//current_long = s.Field<string>("_current_long"),
|
||
OTP = res
|
||
|
||
}).ToList();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
objListTicketModel.Where(x => x.TripEnd == "01 Jan 0001 05:30:00" || x.TripEnd == "01 Jan 0001 00:00:00" || String.IsNullOrEmpty(x.TripEnd)).ToList().ForEach(x => { x.TripEnd = "-"; });
|
||
objListTicketModel.Where(x => x.TripStart == "01 Jan 0001 05:30:00" || x.TripStart == "01 Jan 0001 00:00:00" || String.IsNullOrEmpty(x.TripStart)).ToList().ForEach(x => { x.TripStart = "-"; });
|
||
return objListTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objListTicketModel.Add(new CustomerOpenTicketFullDetailsTicketWise { Status = "0" });
|
||
objListTicketModel.Add(new CustomerOpenTicketFullDetailsTicketWise { Message = Ex.Message });
|
||
objLog.ErrorLogFile("GetCustomerOpenTicketFullDetailTicketWise", Ex.Message, path, errorlogtf);
|
||
return objListTicketModel;
|
||
}
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// To get customer open ticket full details ticket wise
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>customer open ticket full details ticket wise</returns>
|
||
public List<CustomerOpenTicketFullDetailsTicketWise> GetCustomerOpenTicketFullDetailTicketWiseShow(CustomerOpenTicketFullDetailsTicketWise model)
|
||
{
|
||
List<CustomerOpenTicketFullDetailsTicketWise> objListTicketModel = new List<CustomerOpenTicketFullDetailsTicketWise>();
|
||
CustomerOpenTicketFullDetailsTicketWise objmodel = new CustomerOpenTicketFullDetailsTicketWise();
|
||
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
NpgsqlParameter[] nSqlParamstatus = new NpgsqlParameter[1];
|
||
nSqlParamstatus[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
DataSet dsstatus = new DataSet();
|
||
|
||
dsstatus = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_TicketStatus_By_TicketId"], nSqlParamstatus);
|
||
|
||
if (dsstatus.Tables[0].Rows[0]["ticket_status_alias"].ToString().Trim() != null && dsstatus.Tables[0].Rows[0]["ticket_status_alias"].ToString().Trim() != "")
|
||
{
|
||
|
||
|
||
model.OpenCloseStatus = dsstatus.Tables[0].Rows[0]["ticket_status_alias"].ToString();
|
||
|
||
|
||
|
||
}
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
|
||
if (model.OpenCloseStatus == "open")
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
}
|
||
else if (model.OpenCloseStatus == "close")
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_closed_ticket_full_details_ticket_wise"], nSqlParam);
|
||
}
|
||
else if (model.OpenCloseStatus == "open_kam")
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_kam_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
}
|
||
else if (model.OpenCloseStatus == "close_kam")
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_kam_closed_ticket_full_details_ticket_wise"], nSqlParam);
|
||
}
|
||
}
|
||
objListTicketModel.Where(x => x.TripEnd == "01 Jan 0001 05:30:00" || x.TripEnd == "01 Jan 0001 00:00:00" || String.IsNullOrEmpty(x.TripEnd)).ToList().ForEach(x => { x.TripEnd = "-"; });
|
||
objListTicketModel.Where(x => x.TripStart == "01 Jan 0001 05:30:00" || x.TripStart == "01 Jan 0001 00:00:00" || String.IsNullOrEmpty(x.TripStart)).ToList().ForEach(x => { x.TripStart = "-"; });
|
||
return objListTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objListTicketModel.Add(new CustomerOpenTicketFullDetailsTicketWise { Status = "0" });
|
||
objListTicketModel.Add(new CustomerOpenTicketFullDetailsTicketWise { Message = Ex.Message });
|
||
objLog.ErrorLogFile("GetCustomerOpenTicketFullDetailTicketWise", Ex.Message, path, errorlogtf);
|
||
return objListTicketModel;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get customer open ticket full details ticket wise
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>customer open ticket full details ticket wise</returns>
|
||
public List<CustomerOpenTicketFullDetailsTicketWise> GetKamOpenTicketDetails(CustomerOpenTicketFullDetailsTicketWise model)
|
||
{
|
||
List<CustomerOpenTicketFullDetailsTicketWise> objListTicketModel = new List<CustomerOpenTicketFullDetailsTicketWise>();
|
||
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inkam_id", model.KamTicketId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_kam_open_ticket"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
// Get Open ticket full deatils
|
||
objListTicketModel = ds.Tables[0].AsEnumerable().Select(s => new CustomerOpenTicketFullDetailsTicketWise
|
||
{
|
||
Id = s.Field<string>("_id"),
|
||
KamTicketId = s.Field<Int64?>("_kam_id").ToString(),
|
||
CallerLanguage = s.Field<string>("_caller_language"),
|
||
TollFreeNoSource = s.Field<string>("_toll_free_no_source"),
|
||
Warrenty = s.Field<string>("_warranty"),
|
||
TicketId = s.Field<string>("_ticket_id"),
|
||
Description = s.Field<string>("_description"),
|
||
AssignedTo = s.Field<string>("_assigned_to"),
|
||
ReportedVia = s.Field<string>("_reported_via"),
|
||
TicketStatus = s.Field<int?>("_ticket_status"),
|
||
Priority = s.Field<int?>("_priority"),
|
||
CustomerScore = s.Field<string>("_customer_score"),
|
||
CreatedBy = s.Field<string>("_created_by"),
|
||
CreationTime = s.Field<DateTime?>("_creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
LastModifiedBy = s.Field<string>("_last_modified_by"),
|
||
LastModifiedTime = s.Field<DateTime?>("_last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
BreakdownLocation = s.Field<string>("_breakdown_location"),
|
||
BreakdownLongitude = s.Field<string>("_breakdown_longitude"),
|
||
BreakdownLattitude = s.Field<string>("_breakdown_lattitude"),
|
||
AssignedToUserId = s.Field<string>("_assigned_to_user_id"),
|
||
AssignedToUserLattitude = s.Field<string>("_assigned_to_user_lattitude"),
|
||
AssignedToUserLongitude = s.Field<string>("_assigned_to_user_longitude"),
|
||
Isdeclined = s.Field<Boolean?>("_isdeclined"),
|
||
EstimatedTimeForJobCompletion = s.Field<int?>("_estimated_time_for_job_completion"),
|
||
TotalTicketLifecycleTimeSla = s.Field<int?>("_total_ticket_lifecycle_time_sla"),
|
||
EstimatedTimeForJobCompletionSubmitTime = s.Field<DateTime?>("_estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
VehicleRegisterNumber = s.Field<string>("_vehicle_registration_number"),
|
||
BreakdownLocationLandmark = s.Field<string>("_breakdown_location_landmark"),
|
||
BreakdownLocationState = s.Field<string>("_state_name"),
|
||
BreakdownLocationCity = s.Field<string>("_city_name"),
|
||
RouteId = s.Field<int?>("_route_id"),
|
||
CustomerContactNo = s.Field<string>("_customer_contact_no"),
|
||
//UsersId = s.Field<long?>("users_id"),
|
||
//UsersAuthEngineId = s.Field<string>("users_auth_engine_id"),
|
||
//UsersUserName = s.Field<string>("users_user_name"),
|
||
//UsersDesignation = s.Field<string>("users_designation"),
|
||
//UsersObjectId = s.Field<string>("users_object_id"),
|
||
//UsersCity = s.Field<string>("users_city"),
|
||
//UsersState = s.Field<string>("users_state"),
|
||
//UsersRegion = s.Field<string>("users_region"),
|
||
//UsersLanguage = s.Field<string>("users_language"),
|
||
//TimezoneInfoDisplayName = s.Field<string>("timezone_info_display_name"),
|
||
//UserOrganizationName = s.Field<string>("user_organization_name"),
|
||
//UserOrganizationAlias = s.Field<string>("user_organization_alias"),
|
||
//UserOrganizationCity = s.Field<string>("user_organization_city"),
|
||
//UserOrganizationState = s.Field<string>("user_organization_state"),
|
||
//UserOrganizationCountry = s.Field<string>("user_organization_country"),
|
||
//UserOrganizationRegion = s.Field<string>("user_organization_region"),
|
||
//DealerOrVanId = s.Field<string>("dealer_or_van_id"),
|
||
//DealerOrVanName = s.Field<string>("dealer_or_van_name"),
|
||
//DealerOrVanDefaultLongitude = s.Field<string>("dealer_or_van_default_lattitude"),
|
||
//DealerOrVanDefaultLattitude = s.Field<string>("dealer_or_van_default_longitude"),
|
||
//DealerOrVanCity = s.Field<string>("dealer_or_van_city"),
|
||
//DealerOrVanState = s.Field<string>("dealer_or_van_state"),
|
||
//TicketStatusAlias = s.Field<string>("ticket_status_alias"),
|
||
RepairCost = s.Field<string>("_repair_cost"),
|
||
DefaultSlaTime = s.Field<int?>("_default_sla_time"),
|
||
//SlaMissedReason = s.Field<string>("sla_missed_reason"),
|
||
SuggestionComment = s.Field<string>("_suggestion_comment"),
|
||
JobCompleteResponseTime = s.Field<string>("_default_col_1"),
|
||
DefaultCol2 = s.Field<string>("_default_col_2"),
|
||
DefaultCol3 = s.Field<string>("_default_col_3"),
|
||
//DealerOrServiceEnggContactNumber = s.Field<string>("contact_number"),
|
||
EstimatedDistance = s.Field<string>("_estimated_distance"),
|
||
Status = "1",
|
||
OpportunityLossReason = model.OpenCloseStatus == "close" ? s.Field<string>("_opportunity_loss") : null,
|
||
|
||
//Dealerdealer_name = s.Field<string>("dealer_dealer_name"),
|
||
//DealerContactNumber1 = s.Field<string>("dealer_contact_number1"),
|
||
//DealerCity = s.Field<string>("dealer_city"),
|
||
//DealerState = s.Field<string>("dealer_state"),
|
||
//ChassisNo = s.Field<string>("chassis_no"),
|
||
KmCovered = s.Field<double?>("_km_covered"),
|
||
//ActualDistance = Math.Round(totalDist, 2).ToString(),
|
||
//WM_Name = s.Field<string>("wm_name"),
|
||
//Dealer_Id = s.Field<string>("dealer_id"),
|
||
Vehicle_tagging = s.Field<string>("_vehicle_tagging"),
|
||
TicketIdAlias = s.Field<string>("_ticketid_alias"),
|
||
//Device_Alias = s.Field<string>("_device_alias")
|
||
|
||
SlaMissedReason = s.Field<string>("_sla_missed_reason"),
|
||
ReasonForMoreThan24Hrs = s.Field<string>("_reason_for_more_then_24hours"),
|
||
CallStatus = s.Field<string>("_call_status"),
|
||
SuggestionComplaint = s.Field<string>("_suggestion_complaint"),
|
||
CustomerCustomerName = s.Field<string>("_customer_customer_name"),
|
||
|
||
}).ToList();
|
||
}
|
||
}
|
||
return objListTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objListTicketModel.Add(new CustomerOpenTicketFullDetailsTicketWise { Status = "0" });
|
||
objListTicketModel.Add(new CustomerOpenTicketFullDetailsTicketWise { Message = Ex.Message });
|
||
objLog.ErrorLogFile("GetKamOpenTicketDetails", Ex.Message, path, errorlogtf);
|
||
return objListTicketModel;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get customer open ticket details
|
||
/// </summary>
|
||
/// <param name="model">customer info</param>
|
||
/// <returns>customer open ticket details</returns>
|
||
public List<CustomerOpenTicketDetail> GetCustomerOpenTicketDetail(CustomerOpenTicketDetail model)
|
||
{
|
||
List<CustomerOpenTicketDetail> objListTicketModel = new List<CustomerOpenTicketDetail>();
|
||
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
if (model.isEPS == true)
|
||
{
|
||
|
||
|
||
DataSet ds = new DataSet();
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[4];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", model.VehicleRegisterNumber);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", model.CustomerContactNo);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
nSqlParam[3] = new NpgsqlParameter("inEngineNumber", model.Engine_number);
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details_EPS"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objListTicketModel = ds.Tables[0].AsEnumerable().Select(s => new CustomerOpenTicketDetail
|
||
{
|
||
TicketId = s.Field<string>("ticket_id"),
|
||
Description = s.Field<string>("description"),
|
||
AssignedTo = s.Field<string>("assigned_to"),
|
||
ReportedVia = s.Field<string>("reported_via"),
|
||
TicketStatus = s.Field<int?>("ticket_status"),
|
||
Priority = s.Field<int?>("priority"),
|
||
CustomerScore = s.Field<string>("customer_score"),
|
||
CreatedBy = s.Field<string>("created_by"),
|
||
CreationTime = s.Field<DateTime?>("creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
LastModifiedBy = s.Field<string>("last_modified_by"),
|
||
LastModifiedTime = s.Field<DateTime?>("last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
BreakdownLocation = s.Field<string>("breakdown_location"),
|
||
BreakdownLongitude = s.Field<string>("breakdown_longitude"),
|
||
BreakdownLattitude = s.Field<string>("breakdown_lattitude"),
|
||
AssignedToUserId = s.Field<string>("assigned_to_user_id"),
|
||
AssignedToUserLattitude = s.Field<string>("assigned_to_user_lattitude"),
|
||
AssignedToUserLongitude = s.Field<string>("assigned_to_user_longitude"),
|
||
Isdeclined = s.Field<Boolean?>("isdeclined"),
|
||
EstimatedTimeForJobCompletion = s.Field<int?>("estimated_time_for_job_completion"),
|
||
TotalTicketLifecycleTimeSla = s.Field<int?>("total_ticket_lifecycle_time_sla"),
|
||
EstimatedTimeForJobCompletionSubmitTime = s.Field<DateTime?>("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
VehicleRegisterNumber = s.Field<string>("vehicle_register_number"),
|
||
BreakdownLocationLandmark = s.Field<string>("breakdown_location_landmark"),
|
||
RouteId = s.Field<int?>("route_id"),
|
||
CustomerContactNo = s.Field<string>("customer_contact_no"),
|
||
TicketStatusAlias = s.Field<string>("ticket_status_alias"),
|
||
RepairCost = s.Field<string>("repair_cost"),
|
||
DefaultSlaTime = s.Field<int?>("default_sla_time"),
|
||
SlaMissedReason = s.Field<string>("sla_missed_reason"),
|
||
SuggestionComment = s.Field<string>("suggestion_comment"),
|
||
JobCompleteResponseTime = s.Field<string>("default_col_1"),
|
||
DefaultCol2 = s.Field<string>("default_col_2"),
|
||
DefaultCol3 = s.Field<string>("default_col_3"),
|
||
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
|
||
van_reached_punch_time = s.Field<DateTime?>("_van_reached_punch_time") == null ? "" : (s.Field<DateTime>("_van_reached_punch_time").ToString("yyyy-MM-dd" + "T" + "HH:mm")) //added on 23-12-2020
|
||
}).ToList();
|
||
}
|
||
}
|
||
|
||
else
|
||
{
|
||
DataSet ds = new DataSet();
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", model.VehicleRegisterNumber);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", model.CustomerContactNo);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objListTicketModel = ds.Tables[0].AsEnumerable().Select(s => new CustomerOpenTicketDetail
|
||
{
|
||
TicketId = s.Field<string>("ticket_id"),
|
||
Description = s.Field<string>("description"),
|
||
AssignedTo = s.Field<string>("assigned_to"),
|
||
ReportedVia = s.Field<string>("reported_via"),
|
||
TicketStatus = s.Field<int?>("ticket_status"),
|
||
Priority = s.Field<int?>("priority"),
|
||
CustomerScore = s.Field<string>("customer_score"),
|
||
CreatedBy = s.Field<string>("created_by"),
|
||
CreationTime = s.Field<DateTime?>("creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
LastModifiedBy = s.Field<string>("last_modified_by"),
|
||
LastModifiedTime = s.Field<DateTime?>("last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
BreakdownLocation = s.Field<string>("breakdown_location"),
|
||
BreakdownLongitude = s.Field<string>("breakdown_longitude"),
|
||
BreakdownLattitude = s.Field<string>("breakdown_lattitude"),
|
||
AssignedToUserId = s.Field<string>("assigned_to_user_id"),
|
||
AssignedToUserLattitude = s.Field<string>("assigned_to_user_lattitude"),
|
||
AssignedToUserLongitude = s.Field<string>("assigned_to_user_longitude"),
|
||
Isdeclined = s.Field<Boolean?>("isdeclined"),
|
||
EstimatedTimeForJobCompletion = s.Field<int?>("estimated_time_for_job_completion"),
|
||
TotalTicketLifecycleTimeSla = s.Field<int?>("total_ticket_lifecycle_time_sla"),
|
||
EstimatedTimeForJobCompletionSubmitTime = s.Field<DateTime?>("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
VehicleRegisterNumber = s.Field<string>("vehicle_register_number"),
|
||
BreakdownLocationLandmark = s.Field<string>("breakdown_location_landmark"),
|
||
RouteId = s.Field<int?>("route_id"),
|
||
CustomerContactNo = s.Field<string>("customer_contact_no"),
|
||
TicketStatusAlias = s.Field<string>("ticket_status_alias"),
|
||
RepairCost = s.Field<string>("repair_cost"),
|
||
DefaultSlaTime = s.Field<int?>("default_sla_time"),
|
||
SlaMissedReason = s.Field<string>("sla_missed_reason"),
|
||
SuggestionComment = s.Field<string>("suggestion_comment"),
|
||
JobCompleteResponseTime = s.Field<string>("default_col_1"),
|
||
DefaultCol2 = s.Field<string>("default_col_2"),
|
||
DefaultCol3 = s.Field<string>("default_col_3"),
|
||
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
|
||
van_reached_punch_time = s.Field<DateTime?>("_van_reached_punch_time") == null ? "" : (s.Field<DateTime>("_van_reached_punch_time").ToString("yyyy-MM-dd" + "T" + "HH:mm")) //added on 23-12-2020
|
||
}).ToList();
|
||
}
|
||
}
|
||
}
|
||
return objListTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetCustomerOpenTicketDetail", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get customer open ticket details
|
||
/// </summary>
|
||
/// <param name="model">customer info</param>
|
||
/// <returns>customer open ticket details</returns>
|
||
public CustomerOpenTicketDetail CheckTicketCreatedForRegNo(CustomerOpenTicketDetail model)
|
||
{
|
||
CustomerOpenTicketDetail oCustomerOpenTicketDetail = new CustomerOpenTicketDetail();
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
if (model.VehicleRegisterNumber == null)
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_ticket_number_for_kam"], nSqlParam);
|
||
|
||
}
|
||
else
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", model.VehicleRegisterNumber);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_registration_number_for_kam"], nSqlParam);
|
||
}
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows[0][0].ToString() == "1")
|
||
{
|
||
oCustomerOpenTicketDetail.Message = "Ticket already open for this Registration No.";
|
||
oCustomerOpenTicketDetail.Status = "1";
|
||
}
|
||
else
|
||
{
|
||
oCustomerOpenTicketDetail.Message = "No ticket is open for this Registration No.";
|
||
oCustomerOpenTicketDetail.Status = "0";
|
||
}
|
||
}
|
||
}
|
||
return oCustomerOpenTicketDetail;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetCustomerOpenTicketDetail", Ex.Message, path, errorlogtf);
|
||
oCustomerOpenTicketDetail.Message = "Failure";
|
||
oCustomerOpenTicketDetail.Status = "0";
|
||
return oCustomerOpenTicketDetail;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get customer close ticket details
|
||
/// </summary>
|
||
/// <param name="model">customer info</param>
|
||
/// <returns>customer close ticket details</returns>
|
||
public List<CustomerCloseTicketDetail> GetCustomerCloseTicketDetail(CustomerCloseTicketDetail model)
|
||
{
|
||
List<CustomerCloseTicketDetail> objListTicketModel = new List<CustomerCloseTicketDetail>();
|
||
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", model.VehicleRegisterNumber);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", model.CustomerContactNo);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_close_ticket_details"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objListTicketModel = ds.Tables[0].AsEnumerable().Select(s => new CustomerCloseTicketDetail
|
||
{
|
||
TicketId = s.Field<string>("ticket_id"),
|
||
Description = s.Field<string>("description"),
|
||
AssignedTo = s.Field<string>("assigned_to"),
|
||
ReportedVia = s.Field<string>("reported_via"),
|
||
TicketStatus = s.Field<int?>("ticket_status"),
|
||
Priority = s.Field<int?>("priority"),
|
||
CustomerScore = s.Field<string>("customer_score"),
|
||
CreatedBy = s.Field<string>("created_by"),
|
||
CreationTime = s.Field<DateTime?>("creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
LastModifiedBy = s.Field<string>("last_modified_by"),
|
||
LastModifiedTime = s.Field<DateTime?>("last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
BreakdownLocation = s.Field<string>("breakdown_location"),
|
||
BreakdownLongitude = s.Field<string>("breakdown_longitude"),
|
||
BreakdownLattitude = s.Field<string>("breakdown_lattitude"),
|
||
AssignedToUserId = s.Field<string>("assigned_to_user_id"),
|
||
AssignedToUserLattitude = s.Field<string>("assigned_to_user_lattitude"),
|
||
AssignedToUserLongitude = s.Field<string>("assigned_to_user_longitude"),
|
||
Isdeclined = s.Field<Boolean?>("isdeclined"),
|
||
EstimatedTimeForJobCompletion = s.Field<int?>("estimated_time_for_job_completion"),
|
||
TotalTicketLifecycleTimeSla = s.Field<int?>("total_ticket_lifecycle_time_sla"),
|
||
EstimatedTimeForJobCompletionSubmitTime = s.Field<DateTime?>("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
VehicleRegisterNumber = s.Field<string>("vehicle_register_number"),
|
||
BreakdownLocationLandmark = s.Field<string>("breakdown_location_landmark"),
|
||
RouteId = s.Field<int?>("route_id"),
|
||
CustomerContactNo = s.Field<string>("customer_contact_no"),
|
||
TicketStatusAlias = s.Field<string>("ticket_status_alias"),
|
||
RepairCost = s.Field<string>("repair_cost"),
|
||
DefaultSlaTime = s.Field<int?>("default_sla_time"),
|
||
SlaMissedReason = s.Field<string>("sla_missed_reason"),
|
||
SuggestionComment = s.Field<string>("suggestion_comment"),
|
||
JobCompleteResponseTime = s.Field<string>("default_col_1"),
|
||
DefaultCol2 = s.Field<string>("default_col_2"),
|
||
DefaultCol3 = s.Field<string>("default_col_3"),
|
||
TotalTicketCloseHours = Convert.ToDouble(s.Field<string>("within_24hrs_or_not")),
|
||
FeedBackAgenName = s.Field<string>("feedback_agent"),
|
||
ReasonBeyond24Hrs = s.Field<string>("reason_for_more_then_24hours"),
|
||
CallStatus = s.Field<string>("call_status"),
|
||
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
|
||
van_reached_punch_time = s.Field<DateTime?>("_van_reached_punch_time") == null ? "" : (s.Field<DateTime>("_van_reached_punch_time").ToString("yyyy-MM-dd" + "T" + "HH:mm")) //added on 23-12-2020
|
||
}).ToList();
|
||
}
|
||
}
|
||
return objListTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetCustomerCloseTicketDetail", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
|
||
|
||
public List<CustomerCloseTicketDetail> GetCustomerCloseTicketDetailNew(CustomerCloseTicketDetail model)
|
||
{
|
||
List<CustomerCloseTicketDetail> objListTicketModel = new List<CustomerCloseTicketDetail>();
|
||
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", model.VehicleRegisterNumber);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", model.CustomerContactNo);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_close_ticket_details_new"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objListTicketModel = ds.Tables[0].AsEnumerable().Select(s => new CustomerCloseTicketDetail
|
||
{
|
||
TicketId = s.Field<string>("ticket_id"),
|
||
Description = s.Field<string>("description"),
|
||
AssignedTo = s.Field<string>("assigned_to"),
|
||
ReportedVia = s.Field<string>("reported_via"),
|
||
TicketStatus = s.Field<int?>("ticket_status"),
|
||
Priority = s.Field<int?>("priority"),
|
||
CustomerScore = s.Field<string>("customer_score"),
|
||
CreatedBy = s.Field<string>("created_by"),
|
||
CreationTime = s.Field<DateTime?>("creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
LastModifiedBy = s.Field<string>("last_modified_by"),
|
||
LastModifiedTime = s.Field<DateTime?>("last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
BreakdownLocation = s.Field<string>("breakdown_location"),
|
||
BreakdownLongitude = s.Field<string>("breakdown_longitude"),
|
||
BreakdownLattitude = s.Field<string>("breakdown_lattitude"),
|
||
AssignedToUserId = s.Field<string>("assigned_to_user_id"),
|
||
AssignedToUserLattitude = s.Field<string>("assigned_to_user_lattitude"),
|
||
AssignedToUserLongitude = s.Field<string>("assigned_to_user_longitude"),
|
||
Isdeclined = s.Field<Boolean?>("isdeclined"),
|
||
EstimatedTimeForJobCompletion = s.Field<int?>("estimated_time_for_job_completion"),
|
||
TotalTicketLifecycleTimeSla = s.Field<int?>("total_ticket_lifecycle_time_sla"),
|
||
EstimatedTimeForJobCompletionSubmitTime = s.Field<DateTime?>("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
VehicleRegisterNumber = s.Field<string>("vehicle_register_number"),
|
||
BreakdownLocationLandmark = s.Field<string>("breakdown_location_landmark"),
|
||
RouteId = s.Field<int?>("route_id"),
|
||
CustomerContactNo = s.Field<string>("customer_contact_no"),
|
||
TicketStatusAlias = s.Field<string>("ticket_status_alias"),
|
||
RepairCost = s.Field<string>("repair_cost"),
|
||
DefaultSlaTime = s.Field<int?>("default_sla_time"),
|
||
SlaMissedReason = s.Field<string>("sla_missed_reason"),
|
||
SuggestionComment = s.Field<string>("suggestion_comment"),
|
||
JobCompleteResponseTime = s.Field<string>("default_col_1"),
|
||
DefaultCol2 = s.Field<string>("default_col_2"),
|
||
DefaultCol3 = s.Field<string>("default_col_3"),
|
||
TotalTicketCloseHours = Convert.ToDouble(s.Field<string>("within_24hrs_or_not")),
|
||
FeedBackAgenName = s.Field<string>("feedback_agent"),
|
||
ReasonBeyond24Hrs = s.Field<string>("reason_for_more_then_24hours"),
|
||
CallStatus = s.Field<string>("call_status"),
|
||
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
|
||
van_reached_punch_time = s.Field<DateTime?>("_van_reached_punch_time") == null ? "" : (s.Field<DateTime>("_van_reached_punch_time").ToString("yyyy-MM-dd" + "T" + "HH:mm")) //added on 23-12-2020
|
||
}).ToList();
|
||
}
|
||
}
|
||
return objListTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetCustomerCloseTicketDetail", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// To get ticket notification.
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>status and get ticket notification</returns>
|
||
public List<TicketNotificationModel> GetTicketNotification(TicketNotificationModel model)
|
||
{
|
||
TicketNotificationModel objModel = new TicketNotificationModel();
|
||
List<TicketNotificationModel> objList = new List<TicketNotificationModel>();
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_notifications"]);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new TicketNotificationModel
|
||
{
|
||
Id = s.Field<string>("id"),
|
||
KeyName = s.Field<string>("key_name"),
|
||
KeyValue = s.Field<int?>("key_value"),
|
||
TicketStatus = s.Field<int?>("_ticket_status")
|
||
|
||
}).ToList();
|
||
}
|
||
}
|
||
else
|
||
{
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return objList;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetTicketNotification", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
|
||
return objList;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get close ticket notification
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>status and close ticket notification</returns>
|
||
public CloseOpenNotification CloseOpenNotificationInt(CloseOpenNotification model)
|
||
{
|
||
CloseOpenNotification objModel = new CloseOpenNotification();
|
||
try
|
||
{
|
||
objModel.Status = "1";
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
NpgSqlHelper.ExecuteNonQuery(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_close_open_notifications"], nSqlParam);
|
||
objModel.Status = "1";
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return objModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("CloseOpenNotificationWithTicket", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
objModel.Status = "0";
|
||
return objModel;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get notification of open and close ticket with, ticket id wise
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>status and notification of open and close ticket with, ticket id wise</returns>
|
||
public CloseOpenNotification CloseOpenNotificationStr(CloseOpenNotification model)
|
||
{
|
||
CloseOpenNotification objModel = new CloseOpenNotification();
|
||
try
|
||
{
|
||
objModel.Status = "1";
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.NotificationId);
|
||
NpgSqlHelper.ExecuteNonQuery(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_close_open_notifications"], nSqlParam);
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return objModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("CloseOpenNotificationStr", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
objModel.Status = "0";
|
||
return objModel;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get close dealer open ticket notification
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>status and close dealer open ticket notification</returns>
|
||
public CloseOpenNotification CloseTODealerOpenNotificationStr(CloseOpenNotification model)
|
||
{
|
||
CloseOpenNotification objModel = new CloseOpenNotification();
|
||
try
|
||
{
|
||
objModel.Status = "1";
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("innotification_id", model.NotificationId);
|
||
NpgSqlHelper.ExecuteNonQuery(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_close_to_dealer_open_notifications"], nSqlParam);
|
||
objModel.Status = "1";
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return objModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("CloseTODealerOpenNotificationStr", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
objModel.Status = "0";
|
||
return objModel;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get ticket notification detail ticket id wise
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>status and ticket notification detail ticket id wise</returns>
|
||
public List<TicketNotificationsWithTicketId> GetTicketNotificationsWithTicketId(TicketNotificationsWithTicketId model)
|
||
{
|
||
TicketNotificationsWithTicketId objModel = new TicketNotificationsWithTicketId();
|
||
List<TicketNotificationsWithTicketId> objList = new List<TicketNotificationsWithTicketId>();
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_notifications_with_ticket_id"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new TicketNotificationsWithTicketId
|
||
{
|
||
TicketId = s.Field<string>("ticket_id"),
|
||
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
|
||
TicketStatus = s.Field<int?>("ticket_status"),
|
||
NotificationTime = s.Field<DateTime?>("_notification_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_notification_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_notification_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
DealerDealerName = s.Field<string>("_dealer_dealer_name"),
|
||
VanId = s.Field<string>("_van_id"),
|
||
VanRegistrationNumber = s.Field<string>("_van_registration_number"),
|
||
ServiceEngineerName = s.Field<string>("service_engineer_name"),
|
||
CreatedBy = s.Field<string>("created_by"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
NotificationId = s.Field<Int64?>("_notification_id"),
|
||
TickeStatusAlias = s.Field<string>("ticket_status_alias"),
|
||
}).ToList();
|
||
}
|
||
}
|
||
else
|
||
{
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return objList;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetTicketNotificationsWithTicketId", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
|
||
return objList;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get open and close ticket detail user id wise
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>status and open and close ticket detail user id wise</returns>
|
||
public TicketRequestModel GetOpenCloseTicketDetail(TicketRequestModel model)
|
||
{
|
||
TicketRequestModel objModel = new TicketRequestModel();
|
||
List<TicketOpenModel> objList = new List<TicketOpenModel>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
string filterval = "";
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
if (model.TicketType == null)
|
||
{
|
||
// model.TicketType =
|
||
}
|
||
else
|
||
{
|
||
string[] filterType = model.TicketType.ToString().Split(',');
|
||
int cout = filterType.Length;
|
||
if (cout == 2)
|
||
{
|
||
{
|
||
model.TicketType = filterType[0];
|
||
filterval = filterType[1];
|
||
}
|
||
}
|
||
else
|
||
{
|
||
model.TicketType = filterType[0];
|
||
}
|
||
}
|
||
// Get Open ticket report details.
|
||
if (model.TicketType.Trim().ToLower() == "open")
|
||
{
|
||
|
||
if (filterval == "" || filterval == "all")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_tickets_user_wise"], nSqlParam);
|
||
}
|
||
else
|
||
{
|
||
if (filterval.ToLower() == "lcv" || filterval.ToLower() == "electric")
|
||
{
|
||
if (filterval.ToLower() == "lcv")
|
||
{
|
||
filterval = "diesel,cng";
|
||
|
||
}
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[4];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("infuelType", filterval);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_tickets_variant_wise"], nSqlParam);
|
||
|
||
}
|
||
else if (filterval.ToLower() == "eps" || filterval.ToLower() == "scv")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[4];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inType", filterval);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_tickets_status_wise"], nSqlParam);
|
||
}
|
||
}
|
||
}
|
||
else if (model.TicketType.Trim().ToLower() == "count")
|
||
{
|
||
|
||
|
||
if (filterval.Trim().ToLower() == "" || filterval.Trim().ToLower() == "all" || filterval.Trim().ToLower() == "close")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[6];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", model.Condition);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_closed_tickets_count_user_wise"], nSqlParam);
|
||
|
||
}
|
||
else
|
||
{
|
||
if (filterval.ToLower() == "lcv" || filterval.ToLower() == "electric")
|
||
{
|
||
if (filterval.ToLower() == "lcv")
|
||
{
|
||
filterval = "diesel,cng";
|
||
|
||
}
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[7];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", model.Condition);
|
||
nSqlParam[6] = new NpgsqlParameter("infuelType", filterval);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_closed_tickets_count_variant_wise"], nSqlParam);
|
||
|
||
}
|
||
else if (filterval.ToLower() == "eps" || filterval.ToLower() == "scv")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[7];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", model.Condition);
|
||
nSqlParam[6] = new NpgsqlParameter("inType", filterval);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_closed_tickets_count_status_wise"], nSqlParam);
|
||
|
||
}
|
||
}
|
||
// Get closed ticket record count.
|
||
|
||
}
|
||
else
|
||
{
|
||
if (filterval == "" || filterval == "all")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[6];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", model.Condition);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_closed_tickets_user_wise"], nSqlParam);
|
||
}
|
||
else
|
||
{
|
||
if (filterval.ToLower() == "lcv" || filterval.ToLower() == "electric")
|
||
{
|
||
if (filterval.ToLower() == "lcv")
|
||
{
|
||
filterval = "diesel,cng";
|
||
|
||
}
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[7];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", model.Condition);
|
||
nSqlParam[6] = new NpgsqlParameter("infuelType", filterval);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_closed_tickets_variant_wise"], nSqlParam);
|
||
|
||
}
|
||
else if (filterval.ToLower() == "eps" || filterval.ToLower() == "scv")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[7];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", model.Condition);
|
||
nSqlParam[6] = new NpgsqlParameter("inType", filterval);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_closed_tickets_status_wise"], nSqlParam);
|
||
}
|
||
}
|
||
// Get closed ticket report details.
|
||
|
||
}
|
||
|
||
if (model.TicketType.Trim().ToLower() == "count")
|
||
{
|
||
objModel.TicketCount = Convert.ToInt64(ds.Tables[0].Rows[0][0]);
|
||
}
|
||
else if (model.TicketType.Trim().ToLower() == "open")
|
||
{
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new TicketOpenModel
|
||
{
|
||
Id = s.Field<string>("_ticket_id"),
|
||
DefaultSlaTime = s.Field<int?>("_default_sla_time"),
|
||
CustomeContact_no = s.Field<string>("_customer_contact_no"),
|
||
TotalTicketLifeCycleTimeSlab = s.Field<int?>("_total_ticket_lifecycle_time_sla") == null || s.Field<int?>("_total_ticket_lifecycle_time_sla") <= 0 ? 0 : s.Field<int?>("_total_ticket_lifecycle_time_sla"),
|
||
ServiceEngineerName = s.Field<string>("_van_dealer_name"),
|
||
DealerDealerName = s.Field<string>("_dealer_name"),
|
||
ServiceEngineerContactNumber = s.Field<string>("_dealer_contact_number1"),
|
||
TicketStatusAlias = s.Field<string>("_ticket_status_alias"),
|
||
VehicleTagging = s.Field<string>("_customer_vehicle_model_tagging"),
|
||
CustomerName = s.Field<string>("_customer_name"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
LastModifiedTime = Convert.ToDateTime(s.Field<DateTime?>("_lastmodifytime")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
AssignedTo = s.Field<string>("_assignedto"),
|
||
EstimatedTimeForJobComplition = s.Field<int?>("_estimatedtimeforjobcompletion"),
|
||
Age = Convert.ToDouble(s.Field<Int32?>("_age")),
|
||
DefaultCol2 = model.TicketType.Trim().ToLower() == "close" ? s.Field<string>("_feedbackagent") : null,
|
||
DefaultCol3 = model.TicketType.Trim().ToLower() == "close" ? s.Field<string>("_reasonformorethen24hours") : null,
|
||
VehicleRegistrationNo = s.Field<string>("_vehicle_registration_number"),
|
||
ticketid_alias = s.Field<string>("_ticket_id_alias"),
|
||
caller_language = s.Field<string>("_caller_language"),
|
||
gps_status = s.Field<string>("_gps_status"),
|
||
current_latitude = s.Field<string>("_current_latitude"),
|
||
current_longitude = s.Field<string>("_current_longitude"),
|
||
PreClosureTime = Convert.ToDateTime(s.Field<DateTime?>("_pre_closure_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
ChassisNo = s.Field<string>("_chassis_number"),
|
||
OdometerReading = s.Field<double>("_odometer_reading"),
|
||
Remarks = s.Field<string>("_last_remark"),
|
||
Description = s.Field<string>("_nature_of_problem"),
|
||
BreakDownLocation = s.Field<string>("csm"),
|
||
BreackDownLongitude = s.Field<string>("csm_contact_no"),
|
||
BreackDownLatitude = s.Field<string>("rsm"),
|
||
AssignedToUserLongitude = s.Field<string>("rsm_contact_no"),
|
||
AssignedToUserLatitude = s.Field<string>("asm"),
|
||
BreakdownLocationLandmark = s.Field<string>("asm_contact_no"),
|
||
Designation = s.Field<string>("_Dealer_name_1scode"),
|
||
VehicleType = s.Field<string>("_vehicle_status"),
|
||
ServiceEngineerPinPassword = s.Field<string>("_vehicle_emission_norms"),
|
||
ServiceEngineerAlias = s.Field<string>("_created_by"),
|
||
ServiceEngineerApplicationLicenseKey = s.Field<string>("_region"),
|
||
VanVanDefaultLattitude = s.Field<string>("_fuel_type"),
|
||
VanCity = s.Field<string>("_model_no"),
|
||
AuthEngineId = s.Field<string>("_battery_voltage"),
|
||
VanLatitudeAtTripStart = s.Field<string>("_def_level"),
|
||
VanLatitudeAtVanReached = s.Field<string>("_preclosure_reason"),
|
||
VanLongitudeAtTripEnd = s.Field<string>("_fuel_level"),
|
||
|
||
|
||
VanReachedPunchTime = s.Field<DateTime?>("_van_reached_punch_time") == null ? "" : Convert.ToDateTime(s.Field<DateTime?>("_van_reached_punch_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), //added on 23-12-2020
|
||
}).ToList();
|
||
}
|
||
else if (model.TicketType.Trim().ToLower() == "close")
|
||
{
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new TicketOpenModel
|
||
{
|
||
Id = s.Field<string>("_ticket_id"),
|
||
DefaultSlaTime = s.Field<int?>("_default_sla_time"),
|
||
CustomeContact_no = s.Field<string>("_customer_contact_no"),
|
||
TotalTicketLifeCycleTimeSlab = s.Field<int?>("_total_ticket_lifecycle_time_sla") == null || s.Field<int?>("_total_ticket_lifecycle_time_sla") <= 0 ? 0 : s.Field<int?>("_total_ticket_lifecycle_time_sla"),
|
||
ServiceEngineerName = s.Field<string>("_van_dealer_name"),
|
||
DealerDealerName = s.Field<string>("_dealer_name"),
|
||
ServiceEngineerContactNumber = s.Field<string>("_dealer_contact_number1"),
|
||
TicketStatusAlias = s.Field<string>("_ticket_status_alias"),
|
||
//added on 25-09-2020
|
||
VanLatitudeAtTripStart = s.Field<string>("_van_trip_start_latitude"),
|
||
VanLongitudeAtTripStart = s.Field<string>("_van_trip_start_longitude"),
|
||
VanLatitudeAtVanReached = s.Field<string>("_van_reached_latitude"),
|
||
VanLongitudeAtVanReached = s.Field<string>("_van_reached_longitude"),
|
||
VanLatitudeAtTripEnd = s.Field<string>("_van_trip_end_latitude"),
|
||
VanLongitudeAtTripEnd = s.Field<string>("_van_trip_end_longitude"),
|
||
BreakdownLocationLatitude = s.Field<string>("_breakdown_location_latitude"),
|
||
BreakdownLocationLongitude = s.Field<string>("_breakdown_location_longitude"),
|
||
//----------------added on 25-11-2020 (start) -------------------------------------
|
||
TicketClosedReason = s.Field<string>("_ticket_closed_reason"),
|
||
//----------------added on 25-11-2020 (end) -------------------------------------
|
||
|
||
VehicleTagging = s.Field<string>("_customer_vehicle_model_tagging"),
|
||
CustomerName = s.Field<string>("_customer_name"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
LastModifiedTime = Convert.ToDateTime(s.Field<DateTime?>("_lastmodifytime")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
AssignedTo = s.Field<string>("_assignedto"),
|
||
EstimatedTimeForJobComplition = s.Field<int?>("_estimatedtimeforjobcompletion"),
|
||
Age = Convert.ToDouble(s.Field<string>("_age")),
|
||
DefaultCol2 = model.TicketType.Trim().ToLower() == "close" ? s.Field<string>("_feedbackagent") : null,
|
||
DefaultCol3 = model.TicketType.Trim().ToLower() == "close" ? s.Field<string>("_reasonformorethen24hours") : null,
|
||
CallStatus = s.Field<string>("_call_status"),
|
||
VehicleRegistrationNo = s.Field<string>("_vehicle_registration_number"),
|
||
ticketid_alias = s.Field<string>("_ticket_id_alias"),
|
||
caller_language = s.Field<string>("_caller_language"),
|
||
feedback_call_status = s.Field<string>("_feedback_status"),
|
||
total_count = Convert.ToString(s.Field<Int32?>("_feedback_count")),
|
||
reopen_count = Convert.ToString(s.Field<Int32?>("_reopen_count")),
|
||
Score = s.Field<string>("_score"),
|
||
ChassisNo = s.Field<string>("_chassis_number"),
|
||
OdometerReading = s.Field<double>("_odometer_reading"),
|
||
//added on 03/12/2020
|
||
vehicle_warranty = s.Field<string>("_vehicle_warranty"),
|
||
vehicle_amc = s.Field<string>("_vehicle_amc"),
|
||
vehicle_emission_norms = s.Field<string>("_vehicle_emission_norms"),
|
||
vehicle_sales_date = s.Field<string>("_vehicle_sales_date"),
|
||
AssignedToUserLatitude = s.Field<string>("_assigned_lat"),
|
||
AssignedToUserLongitude = s.Field<string>("_assigned_long"),
|
||
BreackDownLongitude = s.Field<string>("_estimated_van_reach_time"),
|
||
VanReachedPunchTime = s.Field<DateTime?>("_van_reached_punch_time") == null ? "" : Convert.ToDateTime(s.Field<DateTime?>("_van_reached_punch_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), //added on 23-12-2020
|
||
|
||
}).ToList();
|
||
}
|
||
objModel.TicketList = objList;
|
||
objModel.Status = "1";
|
||
}
|
||
else
|
||
{
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
objModel.Status = "0";
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetOpenCloseTicketDetail", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
objModel.Status = "0";
|
||
}
|
||
return objModel;
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get open and close ticket detail user id wise for KAM
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>status and open and close ticket detail user id wise</returns>
|
||
public TicketRequestModel GetOpenCloseTicketDetailForKAM(TicketRequestModel model)
|
||
{
|
||
TicketRequestModel objModel = new TicketRequestModel();
|
||
List<TicketOpenModel> objList = new List<TicketOpenModel>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
// Get Open ticket report details.
|
||
if (model.TicketType.Trim().ToLower() == "open")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.KamUserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", null);
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_tickets_kam_user_wise"], nSqlParam);
|
||
}
|
||
else if (model.TicketType.Trim().ToLower() == "count")
|
||
{
|
||
// Get closed ticket record count.
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[6];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.KamUserId); // here UserID == CustomerId
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", null);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", null);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_closed_tickets_count_kam_user_wise"], nSqlParam);
|
||
}
|
||
else if (model.TicketType.Trim().ToLower() == "close")
|
||
{
|
||
// Get closed ticket report details.
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[6];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.KamUserId); // here UserID == CustomerId
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_closed_tickets_kam_user_wise"], nSqlParam);
|
||
}
|
||
|
||
if (model.TicketType.Trim().ToLower() == "count")
|
||
{
|
||
objModel.TicketCount = Convert.ToInt64(ds.Tables[0].Rows[0][0]);
|
||
}
|
||
else if (model.TicketType.Trim().ToLower() == "open")
|
||
{
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new TicketOpenModel
|
||
{
|
||
Id = s.Field<string>("_ticket_id"),
|
||
DefaultSlaTime = s.Field<int?>("_default_sla_time"),
|
||
CustomeContact_no = s.Field<string>("_customer_contact_no"),
|
||
TotalTicketLifeCycleTimeSlab = s.Field<int?>("_total_ticket_lifecycle_time_sla") == null || s.Field<int?>("_total_ticket_lifecycle_time_sla") <= 0 ? 0 : s.Field<int?>("_total_ticket_lifecycle_time_sla"),
|
||
ServiceEngineerName = s.Field<string>("_van_dealer_name"),
|
||
DealerDealerName = s.Field<string>("_dealer_name"),
|
||
ServiceEngineerContactNumber = s.Field<string>("_dealer_contact_number1"),
|
||
TicketStatusAlias = s.Field<string>("_ticket_status_alias"),
|
||
VehicleTagging = s.Field<string>("_customer_vehicle_model_tagging"),
|
||
CustomerName = s.Field<string>("_customer_name"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
LastModifiedTime = Convert.ToDateTime(s.Field<DateTime?>("_lastmodifytime")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
AssignedTo = s.Field<string>("_assignedto"),
|
||
EstimatedTimeForJobComplition = s.Field<int?>("_estimatedtimeforjobcompletion"),
|
||
Age = Convert.ToDouble(s.Field<Int32?>("_age")),
|
||
DefaultCol2 = model.TicketType.Trim().ToLower() == "close" ? s.Field<string>("_feedbackagent") : null,
|
||
DefaultCol3 = model.TicketType.Trim().ToLower() == "close" ? s.Field<string>("_reasonformorethen24hours") : null,
|
||
VehicleRegistrationNo = s.Field<string>("_vehicle_registration_number"),
|
||
ticketid_alias = s.Field<string>("_ticket_id_alias"),
|
||
caller_language = s.Field<string>("_caller_language"),
|
||
gps_status = s.Field<string>("_gps_status"),
|
||
KamId = s.Field<Int32?>("_kam_id").ToString()
|
||
}).ToList();
|
||
}
|
||
else if (model.TicketType.Trim().ToLower() == "close")
|
||
{
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new TicketOpenModel
|
||
{
|
||
Id = s.Field<string>("_ticket_id"),
|
||
DefaultSlaTime = s.Field<int?>("_default_sla_time"),
|
||
CustomeContact_no = s.Field<string>("_customer_contact_no"),
|
||
TotalTicketLifeCycleTimeSlab = s.Field<int?>("_total_ticket_lifecycle_time_sla") == null || s.Field<int?>("_total_ticket_lifecycle_time_sla") <= 0 ? 0 : s.Field<int?>("_total_ticket_lifecycle_time_sla"),
|
||
ServiceEngineerName = s.Field<string>("_van_dealer_name"),
|
||
DealerDealerName = s.Field<string>("_dealer_name"),
|
||
ServiceEngineerContactNumber = s.Field<string>("_dealer_contact_number1"),
|
||
TicketStatusAlias = s.Field<string>("_ticket_status_alias"),
|
||
VehicleTagging = s.Field<string>("_customer_vehicle_model_tagging"),
|
||
CustomerName = s.Field<string>("_customer_name"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
LastModifiedTime = Convert.ToDateTime(s.Field<DateTime?>("_lastmodifytime")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
AssignedTo = s.Field<string>("_assignedto"),
|
||
EstimatedTimeForJobComplition = s.Field<int?>("_estimatedtimeforjobcompletion"),
|
||
Age = Convert.ToDouble(s.Field<string>("_age")),
|
||
DefaultCol2 = model.TicketType.Trim().ToLower() == "close" ? s.Field<string>("_feedbackagent") : null,
|
||
DefaultCol3 = model.TicketType.Trim().ToLower() == "close" ? s.Field<string>("_reasonformorethen24hours") : null,
|
||
CallStatus = s.Field<string>("_call_status"),
|
||
VehicleRegistrationNo = s.Field<string>("_vehicle_registration_number"),
|
||
ticketid_alias = s.Field<string>("_ticket_id_alias"),
|
||
caller_language = s.Field<string>("_caller_language"),
|
||
feedback_call_status = s.Field<string>("_feedback_status"),
|
||
total_count = Convert.ToString(s.Field<Int32?>("_feedback_count")),
|
||
KamId = s.Field<Int32?>("_kam_id").ToString(),
|
||
IsDeleted = s.Field<bool?>("_is_deleted")
|
||
}).ToList();
|
||
}
|
||
objModel.TicketList = objList;
|
||
objModel.Status = "1";
|
||
}
|
||
else
|
||
{
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
objModel.Status = "0";
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetOpenCloseTicketDetailForKAM", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
objModel.Status = "0";
|
||
}
|
||
return objModel;
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// To delete dummy ticket created by KAM
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>status and data</returns>
|
||
public TicketRequestModel DeleteKamDummyTicket(TicketRequestModel model)
|
||
{
|
||
TicketRequestModel objModel = new TicketRequestModel();
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
nSqlParam[0] = new NpgsqlParameter("inkam_id", model.KamTicketId);
|
||
nSqlParam[1] = new NpgsqlParameter("inuserid", model.UserId.ToString());
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_kam_tickets_open"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows[0][0].ToString() == "1")
|
||
{
|
||
objModel.Message = "Success";
|
||
objModel.Status = "1";
|
||
|
||
//Get Device GCm id for ticket.
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[1];
|
||
nSqlParam1[0] = new NpgsqlParameter("inkam_id", model.KamTicketId);
|
||
DataSet dsGcm = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_kam_user_devices_details"], nSqlParam1);
|
||
|
||
if (dsGcm.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (DataRow dr in dsGcm.Tables[0].Rows)
|
||
{
|
||
|
||
string notificationMessageFormat = ConfigurationManager.AppSettings["NotificationMessageIgnoreKamDummyTicket"].ToString();
|
||
string notificationMessage = string.Format(notificationMessageFormat, dr["_vehicle_registration_number"].ToString(), dr["_modified_by"].ToString());
|
||
|
||
SendNotificationModel objGcmModel = new SendNotificationModel();
|
||
objGcmModel.DeviceGcmId = dr["_gcm_id"].ToString();
|
||
objGcmModel.TicketId = model.KamTicketId.ToString();
|
||
objGcmModel.NotificationCode = ConfigurationManager.AppSettings["MessageIgnoreKamDummyTicket"].ToString();
|
||
objGcmModel.NotificationMessage = notificationMessage;
|
||
if (Convert.ToInt32(dr["_push_notification_bit"]) == 0)
|
||
{
|
||
objGcmModel = objGlobalRepository.GcmSendNotificationForKam(objGcmModel);
|
||
objModel.Status = objGcmModel.Status;
|
||
}
|
||
else
|
||
{
|
||
objGcmModel = objGlobalRepository.FcmSendNotificationForKam(objGcmModel);
|
||
objModel.Status = objGcmModel.Status;
|
||
}
|
||
//objModel.SenderId = objGcmModel.SenderId;
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
objModel.Message = "Failure";
|
||
objModel.Status = "0";
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
objModel.Status = "0";
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("DeleteKamDummyTicket", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
objModel.Status = "0";
|
||
}
|
||
return objModel;
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get consolidated report.
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>status and consolidated report</returns>
|
||
public TicketRequestModel ConsolidatedDataReport(TicketRequestModel model)
|
||
{
|
||
TicketRequestModel objModel = new TicketRequestModel();
|
||
List<ConsolidatedReportModel> objList = new List<ConsolidatedReportModel>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
string filterval = "";
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (model.consolidaetype == null)
|
||
{
|
||
model.consolidaetype = "old";
|
||
|
||
}
|
||
if (model.TicketType == null)
|
||
{
|
||
// model.TicketType =
|
||
}
|
||
else
|
||
{
|
||
string[] filterType = model.TicketType.ToString().Split(',');
|
||
int cout = filterType.Length;
|
||
|
||
if (cout == 2)
|
||
{
|
||
{
|
||
model.TicketType = filterType[0];
|
||
filterval = filterType[1];
|
||
}
|
||
}
|
||
else
|
||
{
|
||
model.TicketType = filterType[0];
|
||
}
|
||
}
|
||
|
||
if (filterval.ToLower() == "all")
|
||
{
|
||
|
||
filterval = null;
|
||
}
|
||
if (filterval == null)
|
||
{
|
||
|
||
}
|
||
else {
|
||
if (filterval.ToLower() == "lcv")
|
||
{
|
||
filterval = "diesel,cng";
|
||
|
||
}
|
||
}
|
||
|
||
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
// get consolidated report record count.
|
||
if (model.TicketType.Trim().ToLower() == "count")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[9];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", model.Condition);
|
||
nSqlParam[6] = new NpgsqlParameter("invehicle_type", model.VehicleType);
|
||
nSqlParam[7] = new NpgsqlParameter("inorganization", model.Organization);
|
||
nSqlParam[8] = new NpgsqlParameter("infuelType", filterval);
|
||
if (model.consolidaetype.ToLower() == "old")
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_consolidated_count_new"], nSqlParam);
|
||
}
|
||
else
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_consolidated_count_actual_km_new"], nSqlParam);
|
||
}
|
||
}
|
||
// get consolidated report record details.
|
||
else if (model.TicketType.Trim().ToLower() == "data")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[9];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", model.Condition);
|
||
nSqlParam[6] = new NpgsqlParameter("invehicle_type", model.VehicleType);
|
||
nSqlParam[7] = new NpgsqlParameter("inorganization", model.Organization);
|
||
nSqlParam[8] = new NpgsqlParameter("infuelType", filterval);
|
||
if (model.consolidaetype.ToLower() == "old")
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_consolidated_data_new"], nSqlParam);
|
||
}
|
||
else
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_consolidated_data_change_actual_km_new"], nSqlParam);
|
||
}
|
||
} if (model.TicketType.Trim().ToLower() == "count")
|
||
{
|
||
objModel.TicketCount = Convert.ToInt64(ds.Tables[0].Rows[0][0]);
|
||
|
||
}
|
||
else
|
||
{
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new ConsolidatedReportModel
|
||
{
|
||
ticket_id = s.Field<string>("_ticket_id"),
|
||
customer_name = s.Field<string>("_customer_name"),
|
||
customer_contact_no = s.Field<string>("_customer_contact_no"),
|
||
vehicle_type = s.Field<string>("_vehicle_type"),
|
||
chassis_number = s.Field<string>("_chassis_number"),
|
||
//vehicle_instalation_date = Convert.ToDateTime(s.Field<string>("_vehicle_instalation_date")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
vehicle_instalation_date = s.Field<string>("_vehicle_instalation_date"),//;String.IsNullOrEmpty(s.Field<string>("_vehicle_instalation_date")) ? "NA" : (Convert.ToDateTime(s.Field<string>("_vehicle_instalation_date")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateFormat"])),
|
||
breakdown_location = s.Field<string>("_breakdown_location"),
|
||
default_sla_time = s.Field<string>("_default_sla_time"),
|
||
//response = s.Field<string>("_response"),
|
||
|
||
response = s.Field<string>("_response") == null || Convert.ToInt32(s.Field<string>("_response")) <= 0 ? "0" : s.Field<string>("_response"),
|
||
|
||
|
||
eos_team_member_and_van = s.Field<string>("_eos_team_member_and_van"),
|
||
dealer_name = s.Field<string>("_dealer_name"),
|
||
dealer_contact_no = s.Field<string>("_dealer_contact_no"),
|
||
created_by = s.Field<string>("_created_by"),
|
||
creation_time = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
state = s.Field<string>("_state"),
|
||
city = s.Field<string>("_city"),
|
||
month_name = s.Field<string>("_month_name"),
|
||
time_slot = s.Field<string>("_time_slot"),
|
||
open_call_hrs = s.Field<string>("_open_call_hrs"),
|
||
language_name = s.Field<string>("_language_name"),
|
||
region = s.Field<string>("_region"),
|
||
landmark = s.Field<string>("_landmark"),
|
||
dealer_code = s.Field<string>("_dealer_code"),
|
||
warranty = s.Field<string>("_warranty"),
|
||
vehicle_model = s.Field<string>("_vehicle_model"),
|
||
load_carried = s.Field<string>("_load_carried"),
|
||
type_of_load_carried = s.Field<string>("_type_of_load_carried"),
|
||
call_assigned_to = s.Field<string>("_call_assigned_to"),
|
||
owner_name = s.Field<string>("_owner_name"),
|
||
owner_contact_number = s.Field<string>("_owner_contact_number"),
|
||
customer_vehicle_regn_no = s.Field<string>("_customer_vehicle_regn_no"),
|
||
nature_of_problem = s.Field<string>("_nature_of_problem"),
|
||
closure_remarks = s.Field<string>("_closure_remarks"),
|
||
estimated_cost = s.Field<string>("_estimated_cost"),
|
||
estimated_time = s.Field<string>("_estimated_time"),
|
||
time_stamps_status_1 = s.Field<string>("_time_stamps_status_1") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_1")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_2 = s.Field<string>("_time_stamps_status_2") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_2")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_3 = s.Field<string>("_time_stamps_status_3") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_3")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_4 = s.Field<string>("_time_stamps_status_4") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_4")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_5 = s.Field<string>("_time_stamps_status_5") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_5")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
escalation_level_van_not_move_1 = s.Field<string>("_escalation_level_van_not_move_1"),
|
||
escalation_level_van_not_move_2 = s.Field<string>("_is_location_change"),
|
||
escalation_level_van_not_move_3 = s.Field<string>("_dealer_change_reason"),
|
||
escalation_level_van_not_move_4 = s.Field<string>("_dealer_change_reason_other_remark"),
|
||
escalation_level_van_not_move_5 = s.Field<string>("_vehicle_status"),
|
||
escalation_level_van_not_move_6 = (s.Field<DateTime?>("_location_change_time")).ToString(),
|
||
// escalation_level_van_not_move_6 = s.Field<string>(s.Field<DateTime?>("_location_change_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_location_change_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null),
|
||
//escalation_level_van_not_move_6 = s.Field<string>("_escalation_level_van_not_move_6"),
|
||
escalation_level_van_not_move_7 = s.Field<string>("_escalation_level_van_not_move_7"),
|
||
escalation_level_van_not_move_8 = s.Field<string>("_escalation_level_van_not_move_8"),
|
||
escalation_level_van_not_move_9 = s.Field<string>("_escalation_level_van_not_move_9"),
|
||
escalation_level_van_not_move_10 = s.Field<string>("_escalation_level_van_not_move_10"),
|
||
escalation_level_ticket_closer_1 = s.Field<string>("_escalation_level_ticket_closer_1"),
|
||
escalation_level_ticket_closer_2 = s.Field<string>("_escalation_level_ticket_closer_2"),
|
||
escalation_level_ticket_closer_3 = s.Field<string>("_escalation_level_ticket_closer_3"),
|
||
escalation_level_ticket_closer_4 = s.Field<string>("_escalation_level_ticket_closer_4"),
|
||
escalation_level_ticket_closer_5 = s.Field<string>("_escalation_level_ticket_closer_5"),
|
||
escalation_level_ticket_closer_6 = s.Field<string>("_escalation_level_ticket_closer_6"),
|
||
escalation_level_ticket_closer_7 = s.Field<string>("_escalation_level_ticket_closer_7"),
|
||
escalation_level_ticket_closer_8 = s.Field<string>("_escalation_level_ticket_closer_8"),
|
||
escalation_level_ticket_closer_9 = s.Field<string>("_escalation_level_ticket_closer_9"),
|
||
escalation_level_ticket_closer_10 = s.Field<string>("_escalation_level_ticket_closer_10"),
|
||
call_closure_status = s.Field<string>("_call_closure_status"),
|
||
feedback_taken = s.Field<string>("_feedback_taken"),
|
||
feedback_parameter_wise_score = s.Field<string>("_feedback_parameter_wise_score"),
|
||
feedback_ease_of_getting_call = s.Field<string>("_feedback_ease_of_getting_call"),
|
||
feedback_response_of_call_center = s.Field<string>("_feedback_response_of_call_center"),
|
||
feedback_timely_updation_by_dealer = s.Field<string>("_feedback_timely_updation_by_dealer"),
|
||
feedback_total_repair_time = s.Field<string>("_feedback_total_repair_time"),
|
||
feedback_eos_charges = s.Field<string>("_feedback_eos_charges"),
|
||
feedback_over_all_experience = s.Field<string>("_feedback_over_all_experience"),
|
||
other_remarks = s.Field<string>("_other_remarks"),
|
||
feedback_agent = s.Field<string>("_feedback_agent"),
|
||
how_did_you_come_to_know_of_eos = s.Field<string>("_how_did_you_come_to_know_of_eos"),
|
||
total_inbound_calls = s.Field<string>("_total_inbound_calls"),
|
||
total_outbound_calls = s.Field<string>("_total_outbound_calls"),
|
||
vehicle_name = s.Field<string>("_customer_vehicle_name"),
|
||
organization = s.Field<string>("organization_alias"),
|
||
call_status = s.Field<string>("_call_status"),
|
||
complaints = s.Field<string>("_complaints"),
|
||
suggestion = s.Field<string>("_suggestion"),
|
||
feedback_count = s.Field<Int32?>("_feedback_count").ToString(),
|
||
ticketid_alias = s.Field<string>("_ticket_id_alias"),
|
||
wm_name = s.Field<string>("_wm_name"),
|
||
DealerTicketOtherRemark = s.Field<string>("_other_remarks_for_dealer"),
|
||
KmCovered = s.Field<string>("_km_covered"),
|
||
estimated_distance = s.Field<string>("_estimated_distance"),
|
||
van_covered_distance = s.Field<string>("_van_covered_distance"),
|
||
trip_start_time = Convert.ToDateTime(s.Field<DateTime?>("_trip_start_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
trip_end_time = Convert.ToDateTime(s.Field<DateTime?>("_trip_end_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
_call_closed_within_24_hours = s.Field<string>("_call_closed_within_24_hours"),
|
||
_eicher_promise = s.Field<string>("_eicher_promise"),
|
||
opportunity_loss_remark = s.Field<string>("_opportunity_loss_remark"),
|
||
opportunity_loss = s.Field<string>("_opportunity_loss"),
|
||
remark_ticket_not_closed_24_hours = s.Field<string>("_remark_ticket_not_closed_24_hours"),
|
||
reopen_count = s.Field<int>("_reopen_count"),
|
||
remark_ticket_not_closed_24_hours_remarks = s.Field<string>("_remark_ticket_not_closed_24_hours_remarks"),
|
||
opportunity_lost_remarks = s.Field<string>("_opportunity_lost_remarks"),
|
||
ChassisNo = s.Field<string>("_vehicle_chassis_number"),
|
||
OdometerReading = s.Field<double>("_odometer_reading"),
|
||
//added for consolidate report
|
||
last_Updated_Time = s.Field<DateTime?>("_last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_last_modified_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
//added for feedback on 5-05-2020
|
||
are_you_satisfied = s.Field<bool?>("_are_you_satisfied") == true ? "Yes" : s.Field<bool?>("_are_you_satisfied") != null && s.Field<bool?>("_are_you_satisfied") == false ? "No" : null,
|
||
not_satisfied_option = s.Field<string>("_not_satisfied_selected_option"),
|
||
not_satisfied_reason = s.Field<string>("_not_satisfied_reason"),
|
||
response_time_reassignment = s.Field<double?>("_response_time_reassignment"),
|
||
//added on 14-12-2020
|
||
vehicle_warranty = s.Field<string>("_vehicle_warranty"),
|
||
vehicle_amc = s.Field<string>("_vehicle_amc"),
|
||
vehicle_emission_norms = s.Field<string>("_vehicle_emission_norms"),
|
||
vehicle_sales_date = s.Field<string>("_vehicle_sales_date"),
|
||
van_reached_punch_time = s.Field<DateTime?>("_van_reached_punch_time") == null ? "" : Convert.ToDateTime(s.Field<DateTime?>("_van_reached_punch_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), //added on 23-12-2020
|
||
//------ added on 25-11-2020 start--------------
|
||
ticket_closed_reason = s.Field<string>("_ticket_closed_reason"),
|
||
product_variant_name = s.Field<string>("_product_name")
|
||
//---------- added on 25-11-2020 end --------------------
|
||
}).ToList();
|
||
}
|
||
objList.Where(x => x.trip_start_time == "01 Jan 0001 05:30:00" || x.trip_start_time == "01 Jan 0001 00:00:00").ToList().ForEach(x => { x.trip_start_time = "-"; });
|
||
objList.Where(x => x.trip_end_time == "01 Jan 0001 05:30:00" || x.trip_end_time == "01 Jan 0001 00:00:00").ToList().ForEach(x => { x.trip_end_time = "-"; });
|
||
objModel.ConsolidatedReportModelList = objList;
|
||
objModel.Status = "1";
|
||
}
|
||
else
|
||
{
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
objModel.Status = "0";
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("ConsolidatedDataReport", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
objModel.Status = "0";
|
||
}
|
||
return objModel;
|
||
}
|
||
|
||
|
||
public TicketRequestModel ConsolidatedDataReportActualKMLatest(TicketRequestModel model)
|
||
{
|
||
TicketRequestModel objModel = new TicketRequestModel();
|
||
List<ConsolidatedReportModel> objList = new List<ConsolidatedReportModel>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
string filterval = "";
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (model.TicketType == null)
|
||
{
|
||
// model.TicketType =
|
||
}
|
||
else
|
||
{
|
||
string[] filterType = model.TicketType.ToString().Split(',');
|
||
int cout = filterType.Length;
|
||
|
||
if (cout == 2)
|
||
{
|
||
{
|
||
model.TicketType = filterType[0];
|
||
filterval = filterType[1];
|
||
}
|
||
}
|
||
else
|
||
{
|
||
model.TicketType = filterType[0];
|
||
}
|
||
}
|
||
|
||
if (filterval.ToLower() == "all")
|
||
{
|
||
|
||
filterval = null;
|
||
}
|
||
if (filterval == null)
|
||
{
|
||
|
||
}
|
||
else
|
||
{
|
||
if (filterval.ToLower() == "lcv")
|
||
{
|
||
filterval = "diesel,cng";
|
||
|
||
}
|
||
}
|
||
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
if (model.TicketType.Trim().ToLower() == "count")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[9];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", model.Condition);
|
||
nSqlParam[6] = new NpgsqlParameter("invehicle_type", model.VehicleType);
|
||
nSqlParam[7] = new NpgsqlParameter("inorganization", model.Organization);
|
||
nSqlParam[8] = new NpgsqlParameter("infuelType", filterval);
|
||
if (model.consolidaetype.ToLower() == "old")
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_consolidated_count_new"], nSqlParam);
|
||
}
|
||
else
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_consolidated_count_actual_km_new"], nSqlParam);
|
||
}
|
||
}
|
||
else if (model.TicketType.Trim().ToLower() == "data")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[9];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", model.Condition);
|
||
nSqlParam[6] = new NpgsqlParameter("invehicle_type", model.VehicleType);
|
||
nSqlParam[7] = new NpgsqlParameter("inorganization", model.Organization);
|
||
nSqlParam[8] = new NpgsqlParameter("infuelType", filterval);
|
||
if (model.consolidaetype.ToLower() == "old")
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_consolidated_data_new"], nSqlParam);
|
||
}
|
||
else
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_consolidated_data_change_actual_km_new"], nSqlParam);
|
||
}
|
||
}
|
||
|
||
|
||
if (model.TicketType.Trim().ToLower() == "count")
|
||
{
|
||
objModel.TicketCount = Convert.ToInt64(ds.Tables[0].Rows[0][0]);
|
||
|
||
}
|
||
else
|
||
{
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new ConsolidatedReportModel
|
||
{
|
||
ticket_id = s.Field<string>("_ticket_id"),
|
||
customer_name = s.Field<string>("_customer_name"),
|
||
customer_contact_no = s.Field<string>("_customer_contact_no"),
|
||
vehicle_type = s.Field<string>("_vehicle_type"),
|
||
chassis_number = s.Field<string>("_chassis_number"),
|
||
//vehicle_instalation_date = Convert.ToDateTime(s.Field<string>("_vehicle_instalation_date")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
vehicle_instalation_date = s.Field<string>("_vehicle_instalation_date"),//;String.IsNullOrEmpty(s.Field<string>("_vehicle_instalation_date")) ? "NA" : (Convert.ToDateTime(s.Field<string>("_vehicle_instalation_date")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateFormat"])),
|
||
breakdown_location = s.Field<string>("_breakdown_location"),
|
||
default_sla_time = s.Field<string>("_default_sla_time"),
|
||
//response = s.Field<string>("_response"),
|
||
|
||
response = s.Field<string>("_response") == null || Convert.ToInt32(s.Field<string>("_response")) <= 0 ? "0" : s.Field<string>("_response"),
|
||
|
||
|
||
eos_team_member_and_van = s.Field<string>("_eos_team_member_and_van"),
|
||
dealer_name = s.Field<string>("_dealer_name"),
|
||
dealer_contact_no = s.Field<string>("_dealer_contact_no"),
|
||
created_by = s.Field<string>("_created_by"),
|
||
creation_time = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
state = s.Field<string>("_state"),
|
||
city = s.Field<string>("_city"),
|
||
month_name = s.Field<string>("_month_name"),
|
||
time_slot = s.Field<string>("_time_slot"),
|
||
open_call_hrs = s.Field<string>("_open_call_hrs"),
|
||
language_name = s.Field<string>("_language_name"),
|
||
region = s.Field<string>("_region"),
|
||
landmark = s.Field<string>("_landmark"),
|
||
dealer_code = s.Field<string>("_dealer_code"),
|
||
warranty = s.Field<string>("_warranty"),
|
||
vehicle_model = s.Field<string>("_vehicle_model"),
|
||
load_carried = s.Field<string>("_load_carried"),
|
||
type_of_load_carried = s.Field<string>("_type_of_load_carried"),
|
||
call_assigned_to = s.Field<string>("_call_assigned_to"),
|
||
owner_name = s.Field<string>("_owner_name"),
|
||
owner_contact_number = s.Field<string>("_owner_contact_number"),
|
||
customer_vehicle_regn_no = s.Field<string>("_customer_vehicle_regn_no"),
|
||
nature_of_problem = s.Field<string>("_nature_of_problem"),
|
||
closure_remarks = s.Field<string>("_closure_remarks"),
|
||
estimated_cost = s.Field<string>("_estimated_cost"),
|
||
estimated_time = s.Field<string>("_estimated_time"),
|
||
time_stamps_status_1 = s.Field<string>("_time_stamps_status_1") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_1")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_2 = s.Field<string>("_time_stamps_status_2") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_2")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_3 = s.Field<string>("_time_stamps_status_3") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_3")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_4 = s.Field<string>("_time_stamps_status_4") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_4")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_5 = s.Field<string>("_time_stamps_status_5") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_5")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
escalation_level_van_not_move_1 = s.Field<string>("_escalation_level_van_not_move_1"),
|
||
escalation_level_van_not_move_2 = s.Field<string>("_is_location_change"),
|
||
escalation_level_van_not_move_3 = s.Field<string>("_dealer_change_reason"),
|
||
escalation_level_van_not_move_4 = s.Field<string>("_dealer_change_reason_other_remark"),
|
||
escalation_level_van_not_move_5 = s.Field<string>("_vehicle_status"),
|
||
escalation_level_van_not_move_6 = (s.Field<DateTime?>("_location_change_time")).ToString(),
|
||
// escalation_level_van_not_move_6 = s.Field<string>(s.Field<DateTime?>("_location_change_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_location_change_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null),
|
||
//escalation_level_van_not_move_6 = s.Field<string>("_escalation_level_van_not_move_6"),
|
||
escalation_level_van_not_move_7 = s.Field<string>("_escalation_level_van_not_move_7"),
|
||
escalation_level_van_not_move_8 = s.Field<string>("_escalation_level_van_not_move_8"),
|
||
escalation_level_van_not_move_9 = s.Field<string>("_escalation_level_van_not_move_9"),
|
||
escalation_level_van_not_move_10 = s.Field<string>("_escalation_level_van_not_move_10"),
|
||
escalation_level_ticket_closer_1 = s.Field<string>("_escalation_level_ticket_closer_1"),
|
||
escalation_level_ticket_closer_2 = s.Field<string>("_escalation_level_ticket_closer_2"),
|
||
escalation_level_ticket_closer_3 = s.Field<string>("_escalation_level_ticket_closer_3"),
|
||
escalation_level_ticket_closer_4 = s.Field<string>("_escalation_level_ticket_closer_4"),
|
||
escalation_level_ticket_closer_5 = s.Field<string>("_escalation_level_ticket_closer_5"),
|
||
escalation_level_ticket_closer_6 = s.Field<string>("_escalation_level_ticket_closer_6"),
|
||
escalation_level_ticket_closer_7 = s.Field<string>("_escalation_level_ticket_closer_7"),
|
||
escalation_level_ticket_closer_8 = s.Field<string>("_escalation_level_ticket_closer_8"),
|
||
escalation_level_ticket_closer_9 = s.Field<string>("_escalation_level_ticket_closer_9"),
|
||
escalation_level_ticket_closer_10 = s.Field<string>("_escalation_level_ticket_closer_10"),
|
||
call_closure_status = s.Field<string>("_call_closure_status"),
|
||
feedback_taken = s.Field<string>("_feedback_taken"),
|
||
feedback_parameter_wise_score = s.Field<string>("_feedback_parameter_wise_score"),
|
||
feedback_ease_of_getting_call = s.Field<string>("_feedback_ease_of_getting_call"),
|
||
feedback_response_of_call_center = s.Field<string>("_feedback_response_of_call_center"),
|
||
feedback_timely_updation_by_dealer = s.Field<string>("_feedback_timely_updation_by_dealer"),
|
||
feedback_total_repair_time = s.Field<string>("_feedback_total_repair_time"),
|
||
feedback_eos_charges = s.Field<string>("_feedback_eos_charges"),
|
||
feedback_over_all_experience = s.Field<string>("_feedback_over_all_experience"),
|
||
other_remarks = s.Field<string>("_other_remarks"),
|
||
feedback_agent = s.Field<string>("_feedback_agent"),
|
||
how_did_you_come_to_know_of_eos = s.Field<string>("_how_did_you_come_to_know_of_eos"),
|
||
total_inbound_calls = s.Field<string>("_total_inbound_calls"),
|
||
total_outbound_calls = s.Field<string>("_total_outbound_calls"),
|
||
vehicle_name = s.Field<string>("_customer_vehicle_name"),
|
||
organization = s.Field<string>("organization_alias"),
|
||
call_status = s.Field<string>("_call_status"),
|
||
complaints = s.Field<string>("_complaints"),
|
||
suggestion = s.Field<string>("_suggestion"),
|
||
feedback_count = s.Field<Int32?>("_feedback_count").ToString(),
|
||
ticketid_alias = s.Field<string>("_ticket_id_alias"),
|
||
wm_name = s.Field<string>("_wm_name"),
|
||
DealerTicketOtherRemark = s.Field<string>("_other_remarks_for_dealer"),
|
||
KmCovered = s.Field<string>("_km_covered"),
|
||
estimated_distance = s.Field<string>("_estimated_distance"),
|
||
van_covered_distance = s.Field<string>("_van_covered_distance"),
|
||
trip_start_time = Convert.ToDateTime(s.Field<DateTime?>("_trip_start_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
trip_end_time = Convert.ToDateTime(s.Field<DateTime?>("_trip_end_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
_call_closed_within_24_hours = s.Field<string>("_call_closed_within_24_hours"),
|
||
_eicher_promise = s.Field<string>("_eicher_promise"),
|
||
opportunity_loss_remark = s.Field<string>("_opportunity_loss_remark"),
|
||
opportunity_loss = s.Field<string>("_opportunity_loss"),
|
||
remark_ticket_not_closed_24_hours = s.Field<string>("_remark_ticket_not_closed_24_hours"),
|
||
reopen_count = s.Field<int>("_reopen_count"),
|
||
remark_ticket_not_closed_24_hours_remarks = s.Field<string>("_remark_ticket_not_closed_24_hours_remarks"),
|
||
opportunity_lost_remarks = s.Field<string>("_opportunity_lost_remarks"),
|
||
ChassisNo = s.Field<string>("_vehicle_chassis_number"),
|
||
OdometerReading = s.Field<double>("_odometer_reading"),
|
||
//added for consolidate report
|
||
last_Updated_Time = s.Field<DateTime?>("_last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_last_modified_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
//added for feedback on 5-05-2020
|
||
are_you_satisfied = s.Field<bool?>("_are_you_satisfied") == true ? "Yes" : s.Field<bool?>("_are_you_satisfied") != null && s.Field<bool?>("_are_you_satisfied") == false ? "No" : null,
|
||
not_satisfied_option = s.Field<string>("_not_satisfied_selected_option"),
|
||
not_satisfied_reason = s.Field<string>("_not_satisfied_reason"),
|
||
response_time_reassignment = s.Field<double?>("_response_time_reassignment"),
|
||
//added on 14-12-2020
|
||
vehicle_warranty = s.Field<string>("_vehicle_warranty"),
|
||
vehicle_amc = s.Field<string>("_vehicle_amc"),
|
||
vehicle_emission_norms = s.Field<string>("_vehicle_emission_norms"),
|
||
vehicle_sales_date = s.Field<string>("_vehicle_sales_date"),
|
||
van_reached_punch_time = s.Field<DateTime?>("_van_reached_punch_time") == null ? "" : Convert.ToDateTime(s.Field<DateTime?>("_van_reached_punch_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), //added on 23-12-2020
|
||
//------ added on 25-11-2020 start--------------
|
||
ticket_closed_reason = s.Field<string>("_ticket_closed_reason")
|
||
|
||
//---------- added on 25-11-2020 end --------------------
|
||
}).ToList();
|
||
}
|
||
objList.Where(x => x.trip_start_time == "01 Jan 0001 05:30:00" || x.trip_start_time == "01 Jan 0001 00:00:00").ToList().ForEach(x => { x.trip_start_time = "-"; });
|
||
objList.Where(x => x.trip_end_time == "01 Jan 0001 05:30:00" || x.trip_end_time == "01 Jan 0001 00:00:00").ToList().ForEach(x => { x.trip_end_time = "-"; });
|
||
objModel.ConsolidatedReportModelList = objList;
|
||
objModel.Status = "1";
|
||
}
|
||
else
|
||
{
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
objModel.Status = "0";
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("ConsolidatedDataReportActualKM", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
objModel.Status = "0";
|
||
}
|
||
return objModel;
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get escalation levels
|
||
/// </summary>
|
||
/// <param name="model">contains escalation level input information</param>
|
||
/// <returns>status and escalation levels</returns>
|
||
public EscalationLevelOutputModel GetEscalationLevels(EscalationLevelInputModel model)
|
||
|
||
{
|
||
EscalationLevelOutputModel oEscalationLevelOutputModel = new EscalationLevelOutputModel();
|
||
List<EscalationLevel> oEscalationLevelList = new List<EscalationLevel>();
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
// validating security token
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
if (model.ModelNumber == null)
|
||
{
|
||
if (model.ProductVariant == null)
|
||
{
|
||
model.VehicleType = model.VehicleType;
|
||
}
|
||
else
|
||
{
|
||
if (model.ProductVariant.ToLower() == "electric")
|
||
{
|
||
model.VehicleType = model.VehicleType + " EV";
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
string str = model.ModelNumber.ToLower();
|
||
string substring = "titan";
|
||
if (str.Contains(substring))
|
||
{
|
||
if (model.ProductVariant == null)
|
||
{
|
||
model.VehicleType = model.VehicleType + " TITAN";
|
||
}
|
||
else
|
||
{
|
||
if (model.ProductVariant.ToLower() == "electric")
|
||
{
|
||
model.VehicleType = model.VehicleType + " TITAN" + " EV";
|
||
}
|
||
}
|
||
}
|
||
}
|
||
DataSet escalationLevelDataset = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
nSqlParam[0] = new NpgsqlParameter("in_dealer_id", model.DelerId);
|
||
nSqlParam[1] = new NpgsqlParameter("in_vehicle_type", model.VehicleType);
|
||
|
||
|
||
|
||
escalationLevelDataset = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_escalation_level_by_dealer_id_vehicle_type"], nSqlParam);
|
||
|
||
// binding escalation level to model list
|
||
if (escalationLevelDataset.Tables[0].Rows.Count > 0)
|
||
{
|
||
oEscalationLevelList = escalationLevelDataset.Tables[0].AsEnumerable().Select(s => new EscalationLevel
|
||
{
|
||
DelaerId = s.Field<string>("dealer_id"),
|
||
ManagerName = s.Field<string>("manager_name"),
|
||
ManagerLevel = s.Field<string>("manager_level"),
|
||
ManagerPhoneNo = s.Field<string>("phones"),
|
||
VehicleType = s.Field<string>("van_type")
|
||
}).ToList();
|
||
}
|
||
oEscalationLevelOutputModel.EscalationLevelList = oEscalationLevelList;
|
||
}
|
||
oEscalationLevelOutputModel.Status = "1";
|
||
return oEscalationLevelOutputModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetEscalationLevels", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// This method is used to Insert Open Dummy Ticket Details
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>Dummy Id</returns>
|
||
public InsertOpenTicket InsertDummyTicket(InsertOpenTicket model)
|
||
{
|
||
InsertOpenTicket objModel = new InsertOpenTicket();
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
//SendNotificationModel objGcmModel = new SendNotificationModel();
|
||
try
|
||
{
|
||
objModel.Status = "0";
|
||
DataSet ds = new DataSet();
|
||
// DataSet dsGcm = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[37];
|
||
nSqlParam[0] = new NpgsqlParameter("indescription", model.Description);
|
||
nSqlParam[1] = new NpgsqlParameter("inassigned_to", model.AssignedTo);
|
||
nSqlParam[2] = new NpgsqlParameter("inreported_via", model.ReportedVia);
|
||
nSqlParam[3] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
nSqlParam[4] = new NpgsqlParameter("inpriority", model.Priority);
|
||
nSqlParam[5] = new NpgsqlParameter("incustomer_score", model.CustomerScore);
|
||
nSqlParam[6] = new NpgsqlParameter("increated_by", model.CreatedBy);
|
||
nSqlParam[7] = new NpgsqlParameter("increation_time ", model.CreationTime != null ? Convert.ToDateTime(model.CreationTime).AddMinutes(-model.UtcMinute) : model.CreationTime);
|
||
nSqlParam[8] = new NpgsqlParameter("inlast_modified_by", model.LastModifiedBy);
|
||
nSqlParam[9] = new NpgsqlParameter("inlast_modified_time", model.LastModifiedTime != null ? Convert.ToDateTime(model.LastModifiedTime).AddMinutes(-model.UtcMinute) : model.LastModifiedTime);
|
||
nSqlParam[10] = new NpgsqlParameter("inbreakdown_location", model.BreakdownLocation);
|
||
nSqlParam[11] = new NpgsqlParameter("inbreakdown_longitude", model.BreakdownLongitude);
|
||
nSqlParam[12] = new NpgsqlParameter("inbreakdown_lattitude", model.BreakdownLattitude);
|
||
nSqlParam[13] = new NpgsqlParameter("inassigned_to_user_id", model.AssignedToUserId);
|
||
nSqlParam[14] = new NpgsqlParameter("inassigned_to_user_lattitude", model.AssignedToUserLattitude);
|
||
nSqlParam[15] = new NpgsqlParameter("inassigned_to_user_longitude", model.AssignedToUserLongitude);
|
||
nSqlParam[16] = new NpgsqlParameter("inisdeclined", model.IsDeclined);
|
||
nSqlParam[17] = new NpgsqlParameter("inestimated_time_for_job_completion", model.EstimatedTimeForJobCompletion);
|
||
nSqlParam[18] = new NpgsqlParameter("intotal_ticket_lifecycle_time_sla", model.TotalTicketLifecycleTimeSla);
|
||
nSqlParam[19] = new NpgsqlParameter("inestimated_time_for_job_completion_submit_time", model.EstimatedTimeForJobCompletionSubmitTime != null ? Convert.ToDateTime(model.EstimatedTimeForJobCompletionSubmitTime).AddMinutes(-model.UtcMinute) : model.EstimatedTimeForJobCompletionSubmitTime);
|
||
nSqlParam[20] = new NpgsqlParameter("invehicle_registration_number", model.VehicleRegistrationNumber);
|
||
nSqlParam[21] = new NpgsqlParameter("inbreakdown_location_landmark", model.BreakdownLocationLandmark);
|
||
nSqlParam[22] = new NpgsqlParameter("inroute_id", model.RouteId);
|
||
nSqlParam[23] = new NpgsqlParameter("incustomer_contact_no", model.CustomerContactNo);
|
||
nSqlParam[24] = new NpgsqlParameter("inrepair_cost", model.RepairCost);
|
||
nSqlParam[25] = new NpgsqlParameter("indefault_sla_time", model.DefaultSlaTime);
|
||
nSqlParam[26] = new NpgsqlParameter("indefault_col_1", model.JobCompleteResponseTime);
|
||
nSqlParam[27] = new NpgsqlParameter("indefault_col_2", model.DefaultCol2);
|
||
nSqlParam[28] = new NpgsqlParameter("indefault_col_3", model.DefaultCol3);
|
||
nSqlParam[29] = new NpgsqlParameter("instate_name", model.StateName);
|
||
nSqlParam[30] = new NpgsqlParameter("incity_name", model.CityName);
|
||
nSqlParam[31] = new NpgsqlParameter("incaller_language", model.CallerLanguage);
|
||
nSqlParam[32] = new NpgsqlParameter("inwarranty", model.Warranty);
|
||
nSqlParam[33] = new NpgsqlParameter("intoll_free_no_source", model.TollFreeeNoSource);
|
||
nSqlParam[34] = new NpgsqlParameter("inestimated_distance", model.EstimateDistance);
|
||
nSqlParam[35] = new NpgsqlParameter("invehicle_tagging", model.VehicleTagging);
|
||
nSqlParam[36] = new NpgsqlParameter("inkm_covered", model.KmCovered);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_dummy_insert_open_ticket_details"], nSqlParam);
|
||
|
||
if (Convert.ToString(ds.Tables[0].Rows[0]["sp_dummy_insert_open_ticket_details"]) != "0")
|
||
{
|
||
objModel.KamTicketId = ds.Tables[0].Rows[0]["sp_dummy_insert_open_ticket_details"].ToString(); // getting dummy ticket id
|
||
objModel.Status = "1";
|
||
objModel.Message = "Success";
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return objModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("InsertDummyTicket", Ex.Message, path, errorlogtf);
|
||
return objModel;
|
||
}
|
||
}
|
||
|
||
//----------------------- added on 23-12-2020(start)--------------------------------
|
||
public VanReachedTimeModel VanReachedDateTime(VanReachedTimeModel model)
|
||
{
|
||
VanReachedTimeModel objModel = new VanReachedTimeModel();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
int UtcMinute = 0;
|
||
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
//nSqlParam[0] = new NpgsqlParameter("in_van_reached_date_time", Convert.ToDateTime(model.VanReachedTime));
|
||
nSqlParam[0] = new NpgsqlParameter("in_van_reached_date_time", model.VanReachedTime != null ? Convert.ToDateTime(model.VanReachedTime).AddMinutes(UtcMinute) : model.VanReachedTime);
|
||
nSqlParam[1] = new NpgsqlParameter("in_ticket_id_alias", model.TicketIdAlias);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_van_reached_date_time"], nSqlParam);
|
||
objModel.Status = "1";
|
||
objModel.Message = "Successfully saved van reached punch in time";
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = "Fail the token validation";
|
||
}
|
||
return objModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = "Catch exception";
|
||
objLog.ErrorLogFile("TicketDetailsController GetEscalationLevels", Ex.Message, path, errorlogtf);
|
||
|
||
return objModel;
|
||
}
|
||
}
|
||
//----------------------- added on 23-12-2020(end)--------------------------------
|
||
|
||
|
||
/// <summary>
|
||
/// To get ticket details
|
||
/// </summary>
|
||
/// <param name="model">Ticket Info</param>
|
||
/// <returns>ticket details</returns>
|
||
public List<DummyOpenTicketDetail> GetDummyTicketDetails(DummyOpenTicketDetail model)
|
||
{
|
||
List<DummyOpenTicketDetail> objListTicketModel = new List<DummyOpenTicketDetail>();
|
||
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", model.VehicleRegisterNumber);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", model.CustomerContactNo);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_dummy_get_customer_saved_open_ticket_details"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objListTicketModel = ds.Tables[0].AsEnumerable().Select(s => new DummyOpenTicketDetail
|
||
{
|
||
DummyId = s.Field<Int32>("dummy_id"),
|
||
TicketId = s.Field<string>("ticket_id"),
|
||
Description = s.Field<string>("description"),
|
||
AssignedTo = s.Field<string>("assigned_to"),
|
||
ReportedVia = s.Field<string>("reported_via"),
|
||
TicketStatus = s.Field<int?>("ticket_status"),
|
||
Priority = s.Field<int?>("priority"),
|
||
CustomerScore = s.Field<string>("customer_score"),
|
||
CreatedBy = s.Field<string>("created_by"),
|
||
CreationTime = s.Field<DateTime?>("creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
LastModifiedBy = s.Field<string>("last_modified_by"),
|
||
LastModifiedTime = s.Field<DateTime?>("last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
BreakdownLocation = s.Field<string>("breakdown_location"),
|
||
BreakdownLongitude = s.Field<string>("breakdown_longitude"),
|
||
BreakdownLattitude = s.Field<string>("breakdown_lattitude"),
|
||
AssignedToUserId = s.Field<string>("assigned_to_user_id"),
|
||
AssignedToUserLattitude = s.Field<string>("assigned_to_user_lattitude"),
|
||
AssignedToUserLongitude = s.Field<string>("assigned_to_user_longitude"),
|
||
Isdeclined = s.Field<Boolean?>("isdeclined"),
|
||
EstimatedTimeForJobCompletion = s.Field<int?>("estimated_time_for_job_completion"),
|
||
TotalTicketLifecycleTimeSla = s.Field<int?>("total_ticket_lifecycle_time_sla"),
|
||
EstimatedTimeForJobCompletionSubmitTime = s.Field<DateTime?>("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
VehicleRegisterNumber = s.Field<string>("vehicle_register_number"),
|
||
BreakdownLocationLandmark = s.Field<string>("breakdown_location_landmark"),
|
||
RouteId = s.Field<int?>("_route_id"),
|
||
CustomerContactNo = s.Field<string>("customer_contact_no"),
|
||
TicketStatusAlias = s.Field<string>("ticket_status_alias"),
|
||
RepairCost = s.Field<string>("repair_cost"),
|
||
DefaultSlaTime = s.Field<int?>("default_sla_time"),
|
||
SlaMissedReason = s.Field<string>("sla_missed_reason"),
|
||
SuggestionComment = s.Field<string>("suggestion_comment"),
|
||
JobCompleteResponseTime = s.Field<string>("default_col_1"),
|
||
DefaultCol2 = s.Field<string>("default_col_2"),
|
||
DefaultCol3 = s.Field<string>("default_col_3"),
|
||
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
|
||
CallerLanguage = s.Field<string>("_caller_language"),
|
||
Warranty = s.Field<string>("_warranty"),
|
||
TollFreeNoSource = s.Field<string>("_toll_free_no_source"),
|
||
StateName = s.Field<string>("_state_name"),
|
||
CityName = s.Field<string>("_city_name"),
|
||
EstimatedDistance = s.Field<string>("_estimated_distance"),
|
||
OpportunityLoss = s.Field<string>("_opportunity_loss"),
|
||
KmCovered = s.Field<string>("_km_covered"),
|
||
VehicleTagging = s.Field<string>("_vehicle_tagging"),
|
||
ReasonForMoreThan24Hours = s.Field<string>("_reason_for_more_then_24hours"),
|
||
CallStatus = s.Field<string>("_call_status"),
|
||
SuggestionComplaint = s.Field<string>("_suggestion_complaint"),
|
||
CustomerName = s.Field<string>("customer_customer_name"),
|
||
vehicle_model_number = s.Field<string>("_vehicle_model_number"),
|
||
customer_id = s.Field<string>("_customer_id"),
|
||
customer_address_id = s.Field<string>("_customer_address_id"),
|
||
product_variant = s.Field<string>("_product_variant"),
|
||
customer_mobile_number = s.Field<string>("_customer_mobile_number"),
|
||
driver_mobile_number = s.Field<string>("_driver_mobile_number"),
|
||
driver_name = s.Field<string>("_driver_name"),
|
||
//iskam = s.Field<string>("_iskam"),
|
||
customer_address = s.Field<string>("_customer_address"),
|
||
vehicle_emission_norms = s.Field<string>("_vehicle_emission_norms"),
|
||
vehicle_warranty = s.Field<string>("_vehicle_warranty"),
|
||
vehicle_type = s.Field<string>("_vehicle_type"),
|
||
customer_type = s.Field<string>("_customer_type"),
|
||
|
||
//vehicle_installation_date = s.Field<DateTime?>("_vehicle_installation_date") != null ? Convert.ToDateTime(s.Field<DateTime?>("_vehicle_installation_date")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"])
|
||
|
||
vehicle_installation_date = s.Field<string>("_vehicle_installation_date"),
|
||
|
||
// timestamp without time zone,
|
||
|
||
}).ToList();
|
||
}
|
||
}
|
||
|
||
return objListTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetDummyTicketDetails", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get open dummy ticket detail user id wise
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>status and open dummy ticket detail user id wise</returns>
|
||
public TicketRequestModel GetDummyOpenTicketDetailUserWise(TicketRequestModel model)
|
||
{
|
||
TicketRequestModel objModel = new TicketRequestModel();
|
||
List<DummyOpenTicketDetail> objList = new List<DummyOpenTicketDetail>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
// Get Open ticket report details.
|
||
if (model.TicketType.Trim().ToLower() == "open")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_dummy_get_open_tickets_user_wise"], nSqlParam);
|
||
}
|
||
if (model.TicketType.Trim().ToLower() == "open")
|
||
{
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new DummyOpenTicketDetail
|
||
{
|
||
DummyId = s.Field<Int32>("_dummy_id"),
|
||
Description = s.Field<string>("_description"),
|
||
AssignedTo = s.Field<string>("_assigned_to"),
|
||
ReportedVia = s.Field<string>("_reported_via"),
|
||
TicketStatus = s.Field<Int32?>("_ticket_status"),
|
||
Priority = s.Field<Int32?>("_priority"),
|
||
CustomerScore = s.Field<string>("_customer_score"),
|
||
CreatedBy = s.Field<string>("_created_by"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
LastModifiedBy = s.Field<string>("_last_modified_by"),
|
||
LastModifiedTime = Convert.ToDateTime(s.Field<DateTime?>("_last_modified_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
BreakdownLocation = s.Field<string>("_breakdown_location"),
|
||
BreakdownLongitude = s.Field<string>("_breakdown_longitude"),
|
||
BreakdownLattitude = s.Field<string>("_breakdown_latitude"),
|
||
AssignedToUserId = s.Field<string>("_assigned_to_user_id"),
|
||
AssignedToUserLongitude = s.Field<string>("_assigned_to_user_longitude"),
|
||
AssignedToUserLattitude = s.Field<string>("_assigned_to_user_latitude"),
|
||
EstimatedTimeForJobCompletion = s.Field<Int32?>("_estimated_time_for_job_completion"),
|
||
EstimatedTimeForJobCompletionSubmitTime = Convert.ToDateTime(s.Field<DateTime?>("_estimated_time_for_job_completion_submit_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
VehicleRegisterNumber = s.Field<string>("_vehicle_registration_number"),
|
||
BreakdownLocationLandmark = s.Field<string>("_breakdown_location_landmark"),
|
||
RouteId = s.Field<Int32?>("_route_id"),
|
||
CustomerContactNo = s.Field<string>("_customer_contact_no"),
|
||
RepairCost = s.Field<string>("_repair_cost"),
|
||
DefaultSlaTime = s.Field<int?>("_default_sla_time"),
|
||
TicketIdAlias = s.Field<string>("_ticketid_alias"),
|
||
TicketId = s.Field<string>("_ticket_id"),
|
||
StateName = s.Field<string>("_state_name"),
|
||
CityName = s.Field<string>("_city_name"),
|
||
CallerLanguage = s.Field<string>("_caller_language"),
|
||
Warranty = s.Field<string>("_warranty"),
|
||
TollFreeNoSource = s.Field<string>("_toll_free_no_source"),
|
||
EstimatedDistance = s.Field<string>("_estimated_distance"),
|
||
VehicleTagging = s.Field<string>("_vehicle_tagging"),
|
||
SuggestionComment = s.Field<string>("_suggestion_comment"),
|
||
OpportunityLoss = s.Field<string>("_opportunity_loss"),
|
||
ReasonForMoreThan24Hours = s.Field<string>("_reason_for_more_then_24hours"),
|
||
CallStatus = s.Field<string>("_call_status"),
|
||
SuggestionComplaint = s.Field<string>("_suggestion_complaint"),
|
||
CustomerName = s.Field<string>("customer_name")
|
||
|
||
}).ToList();
|
||
}
|
||
objModel.DummyTicketList = objList;
|
||
objModel.Status = "1";
|
||
}
|
||
else
|
||
{
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
objModel.Status = "0";
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetDummyOpenTicketDetailUserWise", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
objModel.Status = "0";
|
||
}
|
||
return objModel;
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// This is used to delete dummy save ticket details
|
||
/// </summary>
|
||
/// <param name="model">Input paramter to delete particular vehicle saved ticket</param>
|
||
/// <returns>Message and Status</returns>
|
||
public InsertOpenTicket DeleteDummyOpenTicket(InsertOpenTicket model)
|
||
{
|
||
InsertOpenTicket objModel = new InsertOpenTicket();
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
try
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("invehicle_registration_number", model.VehicleRegistrationNumber);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_dummy_delete_open_ticket"], nSqlParam);
|
||
objModel.Status = "1";
|
||
objModel.Message = "Deleted Successfully.";
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("DeleteDummyOpenTicket", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
objModel.Status = "0";
|
||
}
|
||
return objModel;
|
||
}
|
||
|
||
#region Offline Methods
|
||
|
||
/// <summary>
|
||
/// To insert bulk opent ticket details
|
||
/// </summary>
|
||
/// <param name="model">bulk opent ticket details</param>
|
||
/// <returns>status</returns>
|
||
public OfflineTicket InsertBulkOpenTicketDetail(OfflineTicket model)
|
||
{
|
||
OfflineTicket objTicketStatus = new OfflineTicket();
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
List<InsertOpenTicket> objList = new List<InsertOpenTicket>();
|
||
JavaScriptSerializer jss = new JavaScriptSerializer();
|
||
objList = jss.Deserialize<List<InsertOpenTicket>>(model.BulkTicketStr);
|
||
|
||
for (int i = 0; i < objList.Count; i++)
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[26];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", objList[i].TicketId);
|
||
nSqlParam[1] = new NpgsqlParameter("inassigned_to", objList[i].AssignedTo);
|
||
nSqlParam[2] = new NpgsqlParameter("inreported_via", objList[i].ReportedVia);
|
||
nSqlParam[3] = new NpgsqlParameter("inpriority", objList[i].Priority);
|
||
nSqlParam[4] = new NpgsqlParameter("incustomer_score", objList[i].CustomerScore);
|
||
nSqlParam[5] = new NpgsqlParameter("inbreakdown_location", objList[i].BreakdownLocation);
|
||
nSqlParam[6] = new NpgsqlParameter("inlast_modified_by", objList[i].LastModifiedBy);
|
||
nSqlParam[7] = new NpgsqlParameter("inlast_modified_time", objList[i].LastModifiedTime);
|
||
nSqlParam[8] = new NpgsqlParameter("inticket_status", objList[i].TicketStatus);
|
||
nSqlParam[9] = new NpgsqlParameter("indescription", objList[i].Description);
|
||
nSqlParam[10] = new NpgsqlParameter("inbreakdown_longitude", objList[i].BreakdownLongitude);
|
||
nSqlParam[11] = new NpgsqlParameter("inbreakdown_lattitude", objList[i].BreakdownLattitude);
|
||
nSqlParam[12] = new NpgsqlParameter("inassigned_to_user_id", objList[i].AssignedToUserId);
|
||
nSqlParam[13] = new NpgsqlParameter("inassigned_to_user_lattitude", objList[i].AssignedToUserLattitude);
|
||
nSqlParam[14] = new NpgsqlParameter("inassigned_to_user_longitude", objList[i].AssignedToUserLongitude);
|
||
nSqlParam[15] = new NpgsqlParameter("inestimated_time_for_job_completion", objList[i].EstimatedTimeForJobCompletion);
|
||
nSqlParam[16] = new NpgsqlParameter("inestimated_time_for_job_completion_submit_time", objList[i].EstimatedTimeForJobCompletionSubmitTime);
|
||
nSqlParam[17] = new NpgsqlParameter("inbreakdown_location_landmark", objList[i].BreakdownLocationLandmark);
|
||
nSqlParam[18] = new NpgsqlParameter("inroute_id", objList[i].RouteId);
|
||
nSqlParam[19] = new NpgsqlParameter("inrepair_cost", objList[i].RepairCost);
|
||
nSqlParam[20] = new NpgsqlParameter("indefault_sla_time", objList[i].DefaultSlaTime);
|
||
nSqlParam[21] = new NpgsqlParameter("insla_missed_reason", objList[i].SlaMissedReason);
|
||
nSqlParam[22] = new NpgsqlParameter("insuggestion_comment", objList[i].SuggestionComment);
|
||
nSqlParam[23] = new NpgsqlParameter("indefault_col_1", objList[i].JobCompleteResponseTime);
|
||
nSqlParam[24] = new NpgsqlParameter("indefault_col_2", objList[i].DefaultCol2);
|
||
nSqlParam[25] = new NpgsqlParameter("indefault_col_3", objList[i].DefaultCol3);
|
||
|
||
NpgSqlHelper.ExecuteNonQuery(_connStr, CommandType.StoredProcedure, "sp_update_open_ticket_status_for_offline_data", nSqlParam);
|
||
}
|
||
|
||
objTicketStatus.Status = "1";
|
||
}
|
||
else
|
||
{
|
||
objTicketStatus.Status = "0";
|
||
objTicketStatus.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("InsertBulkOpenTicketDetail", Ex.Message, path, errorlogtf);
|
||
objTicketStatus.Status = "0";
|
||
objTicketStatus.Message = Ex.Message;
|
||
}
|
||
return objTicketStatus;
|
||
}
|
||
|
||
#endregion
|
||
|
||
|
||
#region PutApi
|
||
|
||
/// <summary>
|
||
/// To update open ticket details
|
||
/// </summary>
|
||
/// <param name="model">open ticket details</param>
|
||
/// <returns>status</returns>
|
||
public InsertOpenTicket UpdateOpenTicketWebPut(InsertOpenTicket model)
|
||
{
|
||
InsertOpenTicket objModel = new InsertOpenTicket();
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
SendNotificationModel objGcmModel = new SendNotificationModel();
|
||
try
|
||
{
|
||
model.Status = "1";
|
||
DataSet ds = new DataSet();
|
||
DataSet dsGcm = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[21];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam[1] = new NpgsqlParameter("inassigned_to", model.AssignedTo);
|
||
nSqlParam[2] = new NpgsqlParameter("inreported_via", model.ReportedVia);
|
||
nSqlParam[3] = new NpgsqlParameter("inpriority", model.Priority);
|
||
nSqlParam[4] = new NpgsqlParameter("incustomer_score", model.CustomerScore);
|
||
nSqlParam[5] = new NpgsqlParameter("inbreakdown_location", model.BreakdownLocation);
|
||
nSqlParam[6] = new NpgsqlParameter("inlast_modified_by", model.LastModifiedBy);
|
||
nSqlParam[7] = new NpgsqlParameter("inlast_modified_time", model.LastModifiedTime != null ? Convert.ToDateTime(model.LastModifiedTime).AddMinutes(-model.UtcMinute) : model.LastModifiedTime);
|
||
nSqlParam[8] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
nSqlParam[9] = new NpgsqlParameter("indescription", model.Description);
|
||
nSqlParam[10] = new NpgsqlParameter("inbreakdown_longitude", model.BreakdownLongitude);
|
||
nSqlParam[11] = new NpgsqlParameter("inbreakdown_lattitude", model.BreakdownLattitude);
|
||
nSqlParam[12] = new NpgsqlParameter("inassigned_to_user_id", model.AssignedToUserId);
|
||
nSqlParam[13] = new NpgsqlParameter("inassigned_to_user_lattitude", model.AssignedToUserLattitude);
|
||
nSqlParam[14] = new NpgsqlParameter("inassigned_to_user_longitude", model.AssignedToUserLongitude);
|
||
nSqlParam[15] = new NpgsqlParameter("inestimated_time_for_job_completion", model.EstimatedTimeForJobCompletion);
|
||
nSqlParam[16] = new NpgsqlParameter("inestimated_time_for_job_completion_submit_time", model.EstimatedTimeForJobCompletionSubmitTime != null ? Convert.ToDateTime(model.EstimatedTimeForJobCompletionSubmitTime).AddMinutes(-model.UtcMinute) : model.EstimatedTimeForJobCompletionSubmitTime);
|
||
nSqlParam[17] = new NpgsqlParameter("inbreakdown_location_landmark", model.BreakdownLocationLandmark);
|
||
nSqlParam[18] = new NpgsqlParameter("inroute_id", model.RouteId);
|
||
nSqlParam[19] = new NpgsqlParameter("inopportunity_loss", model.OpportunityLost);
|
||
nSqlParam[20] = new NpgsqlParameter("inreason_for_more_then_24hours", model._24HrsReason);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_open_ticket_status"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
if (model.TicketId != null && model.TicketId != "")
|
||
{
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[1];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
|
||
dsGcm = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_service_engg_device_gcm_id"], nSqlParam1);
|
||
|
||
if (dsGcm.Tables[0].Rows.Count > 0)
|
||
{
|
||
if (dsGcm.Tables[0].Rows[0]["sp_get_service_engg_device_gcm_id"] != null && dsGcm.Tables[0].Rows[0]["sp_get_service_engg_device_gcm_id"].ToString() != "")
|
||
{
|
||
objGcmModel.DeviceGcmId = dsGcm.Tables[0].Rows[0]["sp_get_service_engg_device_gcm_id"].ToString();
|
||
objGcmModel.NotificationMessage = ConfigurationManager.AppSettings["MessageUpdate"];
|
||
objGcmModel.TicketId = model.TicketId;
|
||
objGcmModel = objGlobalRepository.GcmSendNotificationNew(objGcmModel);
|
||
objModel.SenderId = objGcmModel.SenderId;
|
||
}
|
||
|
||
objGcmModel.DeviceGcmId = dsGcm.Tables[0].Rows[0]["_device_id"].ToString();
|
||
objGcmModel.NotificationMessage = ConfigurationManager.AppSettings["MessageUpdate"];
|
||
objGcmModel.TicketId = objModel.TicketId;
|
||
// GCM id
|
||
if (Convert.ToInt32(dsGcm.Tables[0].Rows[0]["_push_notification_bit"]) == 0)
|
||
{
|
||
objGcmModel = objGlobalRepository.GcmSendNotificationNew(objGcmModel);
|
||
objModel.SenderId = objGcmModel.SenderId;
|
||
objModel.Status = objGcmModel.Status;
|
||
}
|
||
//FCM ID
|
||
else
|
||
{
|
||
objGcmModel = objGlobalRepository.FcmSendNotification(objGcmModel);
|
||
objModel.SenderId = objGcmModel.SenderId;
|
||
objModel.Status = objGcmModel.Status;
|
||
}
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
model.Status = "0";
|
||
model.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return objModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
model.Status = "0";
|
||
model.Message = Ex.Message;
|
||
return objModel;
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
/// <summary>
|
||
/// To update open ticket for android
|
||
/// </summary>
|
||
/// <param name="model">open ticket detail for updation</param>
|
||
/// <returns>contain response status 1 or 0</returns>
|
||
public InsertOpenTicket UpdateOpenTrip(InsertOpenTicket model)
|
||
{
|
||
InsertOpenTicket objModel = new InsertOpenTicket();
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
SendNotificationModel objGcmModel = new SendNotificationModel();
|
||
try
|
||
{
|
||
objModel.Status = "1";
|
||
DataSet ds2 = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
// updating ticket status and creating activity by trigger
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[6];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam[1] = new NpgsqlParameter("inlast_modified_by", model.LastModifiedBy);
|
||
nSqlParam[2] = new NpgsqlParameter("inlast_modification_time", model.LastModifiedTime);
|
||
nSqlParam[3] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
nSqlParam[4] = new NpgsqlParameter("inremarks", model.OtherRemarks);
|
||
nSqlParam[5] = new NpgsqlParameter("inflag", model.Flag);
|
||
|
||
ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_trip_end"], nSqlParam);
|
||
|
||
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return objModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("UpdateOpenTrip", Ex.Message, path, errorlogtf);
|
||
return objModel;
|
||
}
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// This method is used to Insert Open Dummy Ticket Details
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>Dummy Id</returns>
|
||
public InsertOpenTicket InsertDraftTicket(InsertOpenTicket model)
|
||
{
|
||
InsertOpenTicket objModel = new InsertOpenTicket();
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
//SendNotificationModel objGcmModel = new SendNotificationModel();
|
||
try
|
||
{
|
||
|
||
objModel.Status = "0";
|
||
DataSet ds = new DataSet();
|
||
DataSet ds1 = new DataSet();
|
||
//DataSet ds2 = new DataSet();
|
||
// DataSet dsGcm = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
//string strPar = model.VehicleRegistrationNumber;
|
||
string strPar = (model.VehicleRegistrationNumber).Replace("-", " ").Replace(" ", String.Empty); //added on 15-02-2021
|
||
|
||
//Added to reduce API responce time
|
||
NpgsqlParameter[] SqlParam = new NpgsqlParameter[1];
|
||
SqlParam[0] = new NpgsqlParameter("inregistration_number", (model.VehicleRegistrationNumber).Replace("-", " ").Replace(" ", String.Empty));
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dummy_draft_ticket_count"], SqlParam);
|
||
|
||
|
||
if (ds.Tables[0].Rows[0]["dummy_ticket_count"].ToString() == "0" && ds.Tables[0].Rows[0]["open_ticket_count"].ToString() == "0")
|
||
{
|
||
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[41];
|
||
nSqlParam[0] = new NpgsqlParameter("indescription", model.Description);
|
||
nSqlParam[1] = new NpgsqlParameter("inassigned_to", model.AssignedTo);
|
||
nSqlParam[2] = new NpgsqlParameter("inreported_via", model.ReportedVia);
|
||
nSqlParam[3] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
nSqlParam[4] = new NpgsqlParameter("inpriority", model.Priority);
|
||
nSqlParam[5] = new NpgsqlParameter("incustomer_score", model.CustomerScore);
|
||
nSqlParam[6] = new NpgsqlParameter("increated_by", model.CreatedBy);
|
||
nSqlParam[7] = new NpgsqlParameter("increation_time ", model.CreationTime != null ? Convert.ToDateTime(model.CreationTime).AddMinutes(-model.UtcMinute) : model.CreationTime);
|
||
nSqlParam[8] = new NpgsqlParameter("inlast_modified_by", model.LastModifiedBy);
|
||
nSqlParam[9] = new NpgsqlParameter("inlast_modified_time", model.LastModifiedTime != null ? Convert.ToDateTime(model.LastModifiedTime).AddMinutes(-model.UtcMinute) : model.LastModifiedTime);
|
||
nSqlParam[10] = new NpgsqlParameter("inbreakdown_location", model.BreakdownLocation);
|
||
nSqlParam[11] = new NpgsqlParameter("inbreakdown_longitude", model.BreakdownLongitude);
|
||
nSqlParam[12] = new NpgsqlParameter("inbreakdown_lattitude", model.BreakdownLattitude);
|
||
nSqlParam[13] = new NpgsqlParameter("inassigned_to_user_id", model.AssignedToUserId);
|
||
nSqlParam[14] = new NpgsqlParameter("inassigned_to_user_lattitude", model.AssignedToUserLattitude);
|
||
nSqlParam[15] = new NpgsqlParameter("inassigned_to_user_longitude", model.AssignedToUserLongitude);
|
||
nSqlParam[16] = new NpgsqlParameter("inisdeclined", model.IsDeclined);
|
||
nSqlParam[17] = new NpgsqlParameter("inestimated_time_for_job_completion", model.EstimatedTimeForJobCompletion);
|
||
nSqlParam[18] = new NpgsqlParameter("intotal_ticket_lifecycle_time_sla", model.TotalTicketLifecycleTimeSla);
|
||
nSqlParam[19] = new NpgsqlParameter("inestimated_time_for_job_completion_submit_time", model.EstimatedTimeForJobCompletionSubmitTime != null ? Convert.ToDateTime(model.EstimatedTimeForJobCompletionSubmitTime).AddMinutes(-model.UtcMinute) : model.EstimatedTimeForJobCompletionSubmitTime);
|
||
//nSqlParam[20] = new NpgsqlParameter("invehicle_registration_number", model.VehicleRegistrationNumber);
|
||
nSqlParam[20] = new NpgsqlParameter("invehicle_registration_number", (model.VehicleRegistrationNumber).Replace("-", " ").Replace(" ", String.Empty)); //added on 15-02-2021
|
||
nSqlParam[21] = new NpgsqlParameter("inbreakdown_location_landmark", model.BreakdownLocationLandmark);
|
||
nSqlParam[22] = new NpgsqlParameter("inroute_id", model.RouteId);
|
||
nSqlParam[23] = new NpgsqlParameter("incustomer_contact_no", model.DriverContactNo);
|
||
nSqlParam[24] = new NpgsqlParameter("inrepair_cost", model.RepairCost);
|
||
nSqlParam[25] = new NpgsqlParameter("indefault_sla_time", model.DefaultSlaTime);
|
||
nSqlParam[26] = new NpgsqlParameter("indefault_col_1", model.JobCompleteResponseTime);
|
||
nSqlParam[27] = new NpgsqlParameter("indefault_col_2", model.DefaultCol2);
|
||
nSqlParam[28] = new NpgsqlParameter("indefault_col_3", model.DefaultCol3);
|
||
nSqlParam[29] = new NpgsqlParameter("instate_name", model.StateName);
|
||
nSqlParam[30] = new NpgsqlParameter("incity_name", model.CityName);
|
||
nSqlParam[31] = new NpgsqlParameter("incaller_language", model.CallerLanguage);
|
||
nSqlParam[32] = new NpgsqlParameter("inwarranty", model.Warranty);
|
||
nSqlParam[33] = new NpgsqlParameter("intoll_free_no_source", model.TollFreeNoSource);
|
||
nSqlParam[34] = new NpgsqlParameter("inestimated_distance", model.EstimateDistance);
|
||
nSqlParam[35] = new NpgsqlParameter("invehicle_tagging", model.VehicleTagging);
|
||
nSqlParam[36] = new NpgsqlParameter("inkm_covered", model.KmCovered);
|
||
nSqlParam[37] = new NpgsqlParameter("inComment", model.Comments);
|
||
nSqlParam[38] = new NpgsqlParameter("inis_kam_user", model.IsKamUser);
|
||
nSqlParam[39] = new NpgsqlParameter("indriver_name", model.DriverName);
|
||
nSqlParam[40] = new NpgsqlParameter("inchassis_number", model.ChassisNo);
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_dummy_insert_draft_ticket_details"], nSqlParam);
|
||
|
||
if (Convert.ToString(ds.Tables[0].Rows[0]["sp_dummy_insert_draft_ticket_details"]) != "0")
|
||
{
|
||
objModel.TicketId = ds.Tables[0].Rows[0]["sp_dummy_insert_draft_ticket_details"].ToString(); // getting dummy ticket id
|
||
objModel.Status = "1";
|
||
objModel.Message = "Success";
|
||
|
||
string email_body = "Hello User <br/><br/> A new Draft ticket is created for Registation Number:" + model.VehicleRegistrationNumber;
|
||
email_body += "<br/> The draft Ticket ID is " + objModel.TicketId;
|
||
email_body += "<br/> Please check.";
|
||
|
||
|
||
}
|
||
}
|
||
else
|
||
{
|
||
if (ds.Tables[0].Rows[0][0].ToString() != "0")
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.Text, "Select dummy_id from dummy_tickets_open where vehicle_registration_number=('" + strPar + "')");
|
||
objModel.TicketId = Convert.ToString(ds.Tables[0].Rows[0]["dummy_id"]);
|
||
objModel.Status = "0";
|
||
}
|
||
else
|
||
{
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.Text, "Select ticketid_alias from tickets_open where vehicle_registration_number=('" + strPar + "')");
|
||
objModel.TicketId = Convert.ToString(ds1.Tables[0].Rows[0]["ticketid_alias"]);
|
||
objModel.Status = "0";
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return objModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("InsertDummyTicket", Ex.Message, path, errorlogtf);
|
||
return objModel;
|
||
}
|
||
}
|
||
|
||
public TicketInfoModel getTicketInfoAPI(InsertOpenTicket model)
|
||
{
|
||
TicketInfoModel objTicketInfoModel = new TicketInfoModel();
|
||
TicketRequestModel objTicketRequestModel = new TicketRequestModel();
|
||
List<TicketOpenModel> objList = new List<TicketOpenModel>();
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
DataSet ds = new DataSet();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
if (!string.IsNullOrEmpty(model.TicketId))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("in_eos_ticket", model.TicketId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_info_by_ticket_id"], nSqlParam);
|
||
|
||
}
|
||
else if (!string.IsNullOrEmpty(model.ChassisNo))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("in_chassis_no", model.ChassisNo);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_info_by_chassis_no"], nSqlParam);
|
||
|
||
}
|
||
else if (!string.IsNullOrEmpty(model.VehicleRegistrationNumber))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("in_reg_no", model.VehicleRegistrationNumber);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_info_by_reg_no"], nSqlParam);
|
||
|
||
}
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objTicketInfoModel.TicketStatusAlias = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_ticket_status_alias")).FirstOrDefault();
|
||
objTicketInfoModel.CreationTime = ds.Tables[0].AsEnumerable()
|
||
.Select(s => Convert.ToDateTime(s.Field<DateTime?>("_creation_time"))
|
||
.AddMinutes(Convert.ToInt16(model.UtcMinute))
|
||
.ToString(ConfigurationManager.AppSettings["DateTimeFormat"]))
|
||
.FirstOrDefault();
|
||
objTicketInfoModel.VehicleRegistrationNo = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_vehicle_registration_number")).FirstOrDefault();
|
||
objTicketInfoModel.ticketid_alias = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_ticket_id_alias")).FirstOrDefault();
|
||
objTicketInfoModel.TicketStatus = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_ticket_status")).FirstOrDefault(); //added on 15-01-2021
|
||
objTicketInfoModel.ChassisNo = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_chassis_number")).FirstOrDefault(); //added on 15-01-2021
|
||
|
||
objTicketInfoModel.TicketStatusId = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_ticket_status_id")).FirstOrDefault();
|
||
objTicketInfoModel.Status = "1";
|
||
|
||
objTicketInfoModel.Message = "Exist";
|
||
}
|
||
else
|
||
{
|
||
objTicketInfoModel.Status = "0";
|
||
objTicketInfoModel.Message = "not Exist";
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("getEstimatedVanReach", Ex.Message, path, errorlogtf);
|
||
objTicketInfoModel.Status = "0";
|
||
}
|
||
return objTicketInfoModel;
|
||
}
|
||
|
||
/// <summary>
|
||
/// This method is used to Insert Open Dummy Ticket Details
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>Dummy Id</returns>
|
||
public GetVanReachDetails getVanReachStatus(GetVanReachDetails model)
|
||
{
|
||
GetVanReachDetails objModel = new GetVanReachDetails();
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
//SendNotificationModel objGcmModel = new SendNotificationModel();
|
||
try
|
||
{
|
||
//objModel.Status = "0";
|
||
DataSet ds = new DataSet();
|
||
// DataSet dsGcm = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inid", model.TicketId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_reach_status"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
|
||
objModel.Message = "Success";
|
||
objModel.assigned_to_user_longitude = ds.Tables[0].Rows[0]["_assigned_to_user_longitude"].ToString();
|
||
objModel.assigned_to_user_lattitude = ds.Tables[0].Rows[0]["_assigned_to_user_lattitude"].ToString();
|
||
objModel.ticketid_alias = ds.Tables[0].Rows[0]["_ticketid_alias"].ToString();
|
||
objModel.service_engineer_name = ds.Tables[0].Rows[0]["_service_engineer_name"].ToString();
|
||
objModel.contact_number = ds.Tables[0].Rows[0]["_contact_number"].ToString();
|
||
|
||
|
||
}
|
||
else
|
||
{
|
||
//objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["0"].ToString();
|
||
}
|
||
|
||
}
|
||
return objModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
//objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("InsertDummyTicket", Ex.Message, path, errorlogtf);
|
||
return objModel;
|
||
}
|
||
}
|
||
|
||
// --------------- added on 19-01-2021 start --------------------------------
|
||
public List<DraftTicketDetailModel> GetAllDraftTicketCancelResonList(DraftTicketDetailModel model)
|
||
{
|
||
List<DraftTicketDetailModel> objListDraftTicketModel = new List<DraftTicketDetailModel>();
|
||
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_draft_ticket_cancel_reason_list"]);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objListDraftTicketModel = ds.Tables[0].AsEnumerable().Select(s => new DraftTicketDetailModel
|
||
{
|
||
DraftTicketCancelReason = s.Field<string>("reason_name"),
|
||
|
||
}).ToList();
|
||
}
|
||
}
|
||
return objListDraftTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetDummyTicketDetails", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
|
||
public DraftTicketDetailModel SaveDraftTicketCancelReson(DraftTicketDetailModel model)
|
||
{
|
||
DraftTicketDetailModel oDraftTicketDetailModel = new DraftTicketDetailModel();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[5];
|
||
nSqlParam[0] = new NpgsqlParameter("inDraftTicketId", model.DraftTicketId);
|
||
nSqlParam[1] = new NpgsqlParameter("inRegistrationNumber", model.RegistrationNumber);
|
||
nSqlParam[2] = new NpgsqlParameter("inChassisNumber", model.ChassisNumber);
|
||
nSqlParam[3] = new NpgsqlParameter("inDraftTicketCancelReason", model.DraftTicketCancelReason);
|
||
nSqlParam[4] = new NpgsqlParameter("indraftticketcancelremark", model.OthersReason);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_draft_ticket_cancel_reason"], nSqlParam);
|
||
oDraftTicketDetailModel.Status = "1";
|
||
oDraftTicketDetailModel.Message = "Successfully saved van reached punch in time";
|
||
}
|
||
else
|
||
{
|
||
oDraftTicketDetailModel.Status = "0";
|
||
oDraftTicketDetailModel.Message = "Fail the token validation";
|
||
}
|
||
return oDraftTicketDetailModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketDetails SaveDraftTicketCancelReson", Ex.Message, path, errorlogtf);
|
||
|
||
oDraftTicketDetailModel.Status = "0";
|
||
oDraftTicketDetailModel.Message = "Catch exception";
|
||
return oDraftTicketDetailModel;
|
||
}
|
||
}
|
||
|
||
//------------ added on 09-03-2021 start ------------------------
|
||
|
||
public CancelledDraftTicketReportModel DummyCancelledDataReport(CancelledDraftTicketReportModel model)
|
||
{
|
||
CancelledDraftTicketReportModel objModel = new CancelledDraftTicketReportModel();
|
||
List<CancelledDraftTicketModel> objList = new List<CancelledDraftTicketModel>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
// Get Dummy Cancelled report details.
|
||
//NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_cancelled_dummy_tickets_by_mobile"]);
|
||
|
||
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new CancelledDraftTicketModel
|
||
{
|
||
DraftTicketId = s.Field<int>("_dummy_id"),
|
||
VehicleRegistrationNumber = s.Field<string>("_vehicle_registration_number"),
|
||
ChassisNumber = s.Field<string>("_chassis_number"),
|
||
Comments = s.Field<string>("_customer_comments"),
|
||
ContactNumber = s.Field<string>("_contact_number"),
|
||
DriverName = s.Field<string>("_driver_name"),
|
||
KamUser = s.Field<bool?>("_kam_user"),
|
||
//CreationTime = Convert.ToString(s.Field<DateTime>("_creation_time")),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
TollFreeNoSource = s.Field<string>("_toll_free_no_source"),
|
||
TicketCancelReason = s.Field<string>("_ticket_cancel_reason"),
|
||
TicketCancelRemark = s.Field<string>("_ticket_cancel_remark"),
|
||
|
||
}).ToList();
|
||
}
|
||
|
||
objModel.CancelledDraftTicketList = objList;
|
||
objModel.Status = "1";
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetOpenCloseTicketDetail", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
objModel.Status = "0";
|
||
}
|
||
return objModel;
|
||
}
|
||
//------------ added on 09-03-2021 end ------------------------
|
||
|
||
|
||
//Added By Priya
|
||
|
||
public ReportOpenTicketModel ConsolidatedDataReportNew(TicketRequestModel model)
|
||
{
|
||
ReportOpenTicketModel objModel = new ReportOpenTicketModel();
|
||
List<ConsolidatedReportModelNew> objList = new List<ConsolidatedReportModelNew>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
string filterval = "";
|
||
if (model.consolidaetype == null)
|
||
{
|
||
model.consolidaetype = "old";
|
||
}
|
||
if (model.TicketType == null)
|
||
{
|
||
|
||
}
|
||
else
|
||
{
|
||
string[] filterType = model.TicketType.ToString().Split(',');
|
||
int cout = filterType.Length;
|
||
|
||
if (cout == 2)
|
||
{
|
||
{
|
||
model.TicketType = filterType[0];
|
||
filterval = filterType[1];
|
||
}
|
||
}
|
||
else
|
||
{
|
||
model.TicketType = filterType[0];
|
||
}
|
||
}
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
if (filterval.ToLower() == "all")
|
||
{
|
||
|
||
filterval = null;
|
||
}
|
||
if (filterval == null)
|
||
{
|
||
|
||
}
|
||
else
|
||
{
|
||
if (filterval.ToLower() == "lcv")
|
||
{
|
||
filterval = "diesel,cng";
|
||
|
||
}
|
||
}
|
||
|
||
if (model.TicketType.Trim().ToLower() == "count")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[9];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", model.Condition);
|
||
nSqlParam[6] = new NpgsqlParameter("invehicle_type", model.VehicleType);
|
||
nSqlParam[7] = new NpgsqlParameter("inorganization", model.Organization);
|
||
nSqlParam[8] = new NpgsqlParameter("infuelType", filterval);
|
||
if (model.consolidaetype.ToLower() == "old")
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_consolidated_count_new"], nSqlParam);
|
||
}
|
||
else
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_consolidated_count_actual_km_new"], nSqlParam);
|
||
}
|
||
}
|
||
else if (model.TicketType.Trim().ToLower() == "data")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[9];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", model.Condition);
|
||
nSqlParam[6] = new NpgsqlParameter("invehicle_type", model.VehicleType);
|
||
nSqlParam[7] = new NpgsqlParameter("inorganization", model.Organization);
|
||
nSqlParam[8] = new NpgsqlParameter("infuelType", filterval);
|
||
if (model.consolidaetype.ToLower() == "old")
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_consolidated_data_new"], nSqlParam);
|
||
}
|
||
else
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_consolidated_data_change_actual_km_new"], nSqlParam);
|
||
}
|
||
}
|
||
|
||
if (model.TicketType.Trim().ToLower() == "count")
|
||
{
|
||
objModel.TicketCount = Convert.ToInt32(ds.Tables[0].Rows[0][0]);
|
||
|
||
}
|
||
else
|
||
{
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new ConsolidatedReportModelNew
|
||
{
|
||
ticket_id = s.Field<string>("_ticket_id"),
|
||
customer_name = s.Field<string>("_customer_name"),
|
||
customer_contact_no = s.Field<string>("_customer_contact_no"),
|
||
vehicle_type = s.Field<string>("_vehicle_type"),
|
||
chassis_number = s.Field<string>("_chassis_number"),
|
||
//vehicle_instalation_date = Convert.ToDateTime(s.Field<string>("_vehicle_instalation_date")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
vehicle_instalation_date = s.Field<string>("_vehicle_instalation_date"),// String.IsNullOrEmpty(s.Field<string>("_vehicle_instalation_date")) ? "NA" : (Convert.ToDateTime(s.Field<string>("_vehicle_instalation_date")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateFormat"])),
|
||
breakdown_location = s.Field<string>("_breakdown_location"),
|
||
default_sla_time = s.Field<string>("_default_sla_time"),
|
||
//response = s.Field<string>("_response"),
|
||
response = s.Field<string>("_response") == null || Convert.ToInt32(s.Field<string>("_response")) <= 0 ? "0" : s.Field<string>("_response"),
|
||
eos_team_member_and_van = s.Field<string>("_eos_team_member_and_van"),
|
||
dealer_name = s.Field<string>("_dealer_name"),
|
||
dealer_contact_no = s.Field<string>("_dealer_contact_no"),
|
||
created_by = s.Field<string>("_created_by"),
|
||
creation_time = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
state = s.Field<string>("_state"),
|
||
city = s.Field<string>("_city"),
|
||
month_name = s.Field<string>("_month_name"),
|
||
time_slot = s.Field<string>("_time_slot"),
|
||
open_call_hrs = s.Field<string>("_open_call_hrs"),
|
||
language_name = s.Field<string>("_language_name"),
|
||
region = s.Field<string>("_region"),
|
||
landmark = s.Field<string>("_landmark"),
|
||
dealer_code = s.Field<string>("_dealer_code"),
|
||
warranty = s.Field<string>("_warranty"),
|
||
vehicle_model = s.Field<string>("_vehicle_model"),
|
||
load_carried = s.Field<string>("_load_carried"),
|
||
type_of_load_carried = s.Field<string>("_type_of_load_carried"),
|
||
call_assigned_to = s.Field<string>("_call_assigned_to"),
|
||
owner_name = s.Field<string>("_owner_name"),
|
||
owner_contact_number = s.Field<string>("_owner_contact_number"),
|
||
customer_vehicle_regn_no = s.Field<string>("_customer_vehicle_regn_no"),
|
||
nature_of_problem = s.Field<string>("_nature_of_problem"),
|
||
closure_remarks = s.Field<string>("_closure_remarks"),
|
||
estimated_cost = s.Field<string>("_estimated_cost"),
|
||
estimated_time = s.Field<string>("_estimated_time"),
|
||
time_stamps_status_1 = s.Field<string>("_time_stamps_status_1") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_1")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_2 = s.Field<string>("_time_stamps_status_2") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_2")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_3 = s.Field<string>("_time_stamps_status_3") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_3")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_4 = s.Field<string>("_time_stamps_status_4") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_4")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_5 = s.Field<string>("_time_stamps_status_5") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_5")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
escalation_level_van_not_move_1 = s.Field<string>("_escalation_level_van_not_move_1"),
|
||
escalation_level_van_not_move_2 = s.Field<string>("_escalation_level_van_not_move_2"),
|
||
escalation_level_van_not_move_3 = s.Field<string>("_escalation_level_van_not_move_3"),
|
||
escalation_level_van_not_move_4 = s.Field<string>("_escalation_level_van_not_move_4"),
|
||
escalation_level_van_not_move_5 = s.Field<string>("_escalation_level_van_not_move_5"),
|
||
escalation_level_van_not_move_6 = s.Field<string>("_escalation_level_van_not_move_6"),
|
||
escalation_level_van_not_move_7 = s.Field<string>("_escalation_level_van_not_move_7"),
|
||
escalation_level_van_not_move_8 = s.Field<string>("_escalation_level_van_not_move_8"),
|
||
escalation_level_van_not_move_9 = s.Field<string>("_escalation_level_van_not_move_9"),
|
||
escalation_level_van_not_move_10 = s.Field<string>("_escalation_level_van_not_move_10"),
|
||
escalation_level_ticket_closer_1 = s.Field<string>("_escalation_level_ticket_closer_1"),
|
||
escalation_level_ticket_closer_2 = s.Field<string>("_escalation_level_ticket_closer_2"),
|
||
escalation_level_ticket_closer_3 = s.Field<string>("_escalation_level_ticket_closer_3"),
|
||
escalation_level_ticket_closer_4 = s.Field<string>("_escalation_level_ticket_closer_4"),
|
||
escalation_level_ticket_closer_5 = s.Field<string>("_escalation_level_ticket_closer_5"),
|
||
escalation_level_ticket_closer_6 = s.Field<string>("_escalation_level_ticket_closer_6"),
|
||
escalation_level_ticket_closer_7 = s.Field<string>("_escalation_level_ticket_closer_7"),
|
||
escalation_level_ticket_closer_8 = s.Field<string>("_escalation_level_ticket_closer_8"),
|
||
escalation_level_ticket_closer_9 = s.Field<string>("_escalation_level_ticket_closer_9"),
|
||
escalation_level_ticket_closer_10 = s.Field<string>("_escalation_level_ticket_closer_10"),
|
||
call_closure_status = s.Field<string>("_call_closure_status"),
|
||
feedback_taken = s.Field<string>("_feedback_taken"),
|
||
feedback_parameter_wise_score = s.Field<string>("_feedback_parameter_wise_score"),
|
||
feedback_ease_of_getting_call = s.Field<string>("_feedback_ease_of_getting_call"),
|
||
feedback_response_of_call_center = s.Field<string>("_feedback_response_of_call_center"),
|
||
feedback_timely_updation_by_dealer = s.Field<string>("_feedback_timely_updation_by_dealer"),
|
||
feedback_total_repair_time = s.Field<string>("_feedback_total_repair_time"),
|
||
feedback_eos_charges = s.Field<string>("_feedback_eos_charges"),
|
||
feedback_over_all_experience = s.Field<string>("_feedback_over_all_experience"),
|
||
other_remarks = s.Field<string>("_other_remarks"),
|
||
feedback_agent = s.Field<string>("_feedback_agent"),
|
||
how_did_you_come_to_know_of_eos = s.Field<string>("_how_did_you_come_to_know_of_eos"),
|
||
total_inbound_calls = s.Field<string>("_total_inbound_calls"),
|
||
total_outbound_calls = s.Field<string>("_total_outbound_calls"),
|
||
vehicle_name = s.Field<string>("_customer_vehicle_name"),
|
||
organization = s.Field<string>("organization_alias"),
|
||
call_status = s.Field<string>("_call_status"),
|
||
complaints = s.Field<string>("_complaints"),
|
||
suggestion = s.Field<string>("_suggestion"),
|
||
feedback_count = s.Field<Int32?>("_feedback_count").ToString(),
|
||
ticketid_alias = s.Field<string>("_ticket_id_alias"),
|
||
wm_name = s.Field<string>("_wm_name"),
|
||
DealerTicketOtherRemark = s.Field<string>("_other_remarks_for_dealer"),
|
||
KmCovered = s.Field<string>("_km_covered"),
|
||
estimated_distance = s.Field<string>("_estimated_distance"),
|
||
van_covered_distance = s.Field<string>("_van_covered_distance"),
|
||
trip_start_time = Convert.ToDateTime(s.Field<DateTime?>("_trip_start_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
trip_end_time = Convert.ToDateTime(s.Field<DateTime?>("_trip_end_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
_call_closed_within_24_hours = s.Field<string>("_call_closed_within_24_hours"),
|
||
_eicher_promise = s.Field<string>("_eicher_promise"),
|
||
opportunity_loss_remark = s.Field<string>("_opportunity_loss_remark"),
|
||
opportunity_loss = s.Field<string>("_opportunity_loss"),
|
||
remark_ticket_not_closed_24_hours = s.Field<string>("_remark_ticket_not_closed_24_hours"),
|
||
reopen_count = s.Field<int>("_reopen_count"),
|
||
remark_ticket_not_closed_24_hours_remarks = s.Field<string>("_remark_ticket_not_closed_24_hours_remarks"),
|
||
opportunity_lost_remarks = s.Field<string>("_opportunity_lost_remarks"),
|
||
ChassisNo = s.Field<string>("_vehicle_chassis_number"),
|
||
OdometerReading = s.Field<double>("_odometer_reading"),
|
||
//added for consolidate report
|
||
last_Updated_Time = s.Field<DateTime?>("_last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_last_modified_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
//added for feedback on 5-05-2020
|
||
are_you_satisfied = s.Field<bool?>("_are_you_satisfied") == true ? "Yes" : s.Field<bool?>("_are_you_satisfied") != null && s.Field<bool?>("_are_you_satisfied") == false ? "No" : null,
|
||
not_satisfied_option = s.Field<string>("_not_satisfied_selected_option"),
|
||
not_satisfied_reason = s.Field<string>("_not_satisfied_reason"),
|
||
response_time_reassignment = s.Field<double?>("_response_time_reassignment"),
|
||
//added on 14-12-2020
|
||
vehicle_warranty = s.Field<string>("_vehicle_warranty"),
|
||
vehicle_amc = s.Field<string>("_vehicle_amc"),
|
||
vehicle_emission_norms = s.Field<string>("_vehicle_emission_norms"),
|
||
vehicle_sales_date = s.Field<string>("_vehicle_sales_date"),
|
||
van_reached_punch_time = s.Field<DateTime?>("_van_reached_punch_time") == null ? "" : Convert.ToDateTime(s.Field<DateTime?>("_van_reached_punch_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), //added on 23-12-2020
|
||
|
||
location_change_time = s.Field<DateTime?>("_location_change_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_location_change_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
is_location_change = s.Field<string>("_is_location_change"),
|
||
dealer_change_reason = s.Field<string>("_dealer_change_reason"),
|
||
dealer_change_reason_other_remark = s.Field<string>("_dealer_change_reason_other_remark"),
|
||
vehicle_status = s.Field<string>("_vehicle_status"),
|
||
//------ added on 25-11-2020 start--------------
|
||
ticket_closed_reason = s.Field<string>("_ticket_closed_reason"),
|
||
fuel_type = s.Field<string>("_product_variant")
|
||
//---------- added on 25-11-2020 end --------------------
|
||
}).ToList();
|
||
}
|
||
objList.Where(x => x.trip_start_time == "01 Jan 0001 05:30:00" || x.trip_start_time == "01 Jan 0001 00:00:00").ToList().ForEach(x => { x.trip_start_time = "-"; });
|
||
objList.Where(x => x.trip_end_time == "01 Jan 0001 05:30:00" || x.trip_end_time == "01 Jan 0001 00:00:00").ToList().ForEach(x => { x.trip_end_time = "-"; });
|
||
objModel.ConsolidatedReportModelList = objList;
|
||
objModel.Status = "1";
|
||
}
|
||
else
|
||
{
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
objModel.Status = "0";
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("ConsolidatedDataReport", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
objModel.Status = "0";
|
||
}
|
||
return objModel;
|
||
}
|
||
|
||
|
||
public ReportOpenTicketModel ConsolidatedDataReportActualKM(TicketRequestModel model)
|
||
{
|
||
ReportOpenTicketModel objModel = new ReportOpenTicketModel();
|
||
List<ConsolidatedReportModelNew> objList = new List<ConsolidatedReportModelNew>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
string filterval = "";
|
||
|
||
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[8];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", model.Condition);
|
||
nSqlParam[6] = new NpgsqlParameter("invehicle_type", model.VehicleType);
|
||
nSqlParam[7] = new NpgsqlParameter("inorganization", model.Organization);
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_consolidated_data_Actual_km"], nSqlParam);
|
||
|
||
var strExpr = "_ticket_activity ='7'";
|
||
// ds.Tables[0].DefaultView.RowFilter = "_ticket_activity = '7'";
|
||
var dv = ds.Tables[0].DefaultView;
|
||
dv.RowFilter = strExpr;
|
||
var newDS = new DataSet();
|
||
var newDT = dv.ToTable();
|
||
newDS.Tables.Add(newDT);
|
||
|
||
|
||
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new ConsolidatedReportModelNew
|
||
{
|
||
ticket_id = s.Field<string>("_ticket_id"),
|
||
customer_name = s.Field<string>("_customer_name"),
|
||
customer_contact_no = s.Field<string>("_customer_contact_no"),
|
||
vehicle_type = s.Field<string>("_vehicle_type"),
|
||
chassis_number = s.Field<string>("_chassis_number"),
|
||
//vehicle_instalation_date = Convert.ToDateTime(s.Field<string>("_vehicle_instalation_date")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
vehicle_instalation_date = s.Field<string>("_vehicle_instalation_date"),// String.IsNullOrEmpty(s.Field<string>("_vehicle_instalation_date")) ? "NA" : (Convert.ToDateTime(s.Field<string>("_vehicle_instalation_date")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateFormat"])),
|
||
breakdown_location = s.Field<string>("_breakdown_location"),
|
||
default_sla_time = s.Field<string>("_default_sla_time"),
|
||
//response = s.Field<string>("_response"),
|
||
response = s.Field<string>("_response") == null || Convert.ToInt32(s.Field<string>("_response")) <= 0 ? "0" : s.Field<string>("_response"),
|
||
eos_team_member_and_van = s.Field<string>("_eos_team_member_and_van"),
|
||
dealer_name = s.Field<string>("_dealer_name"),
|
||
dealer_contact_no = s.Field<string>("_dealer_contact_no"),
|
||
created_by = s.Field<string>("_created_by"),
|
||
creation_time = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
state = s.Field<string>("_state"),
|
||
city = s.Field<string>("_city"),
|
||
month_name = s.Field<string>("_month_name"),
|
||
time_slot = s.Field<string>("_time_slot"),
|
||
open_call_hrs = s.Field<string>("_open_call_hrs"),
|
||
language_name = s.Field<string>("_language_name"),
|
||
region = s.Field<string>("_region"),
|
||
landmark = s.Field<string>("_landmark"),
|
||
dealer_code = s.Field<string>("_dealer_code"),
|
||
warranty = s.Field<string>("_warranty"),
|
||
vehicle_model = s.Field<string>("_vehicle_model"),
|
||
load_carried = s.Field<string>("_load_carried"),
|
||
type_of_load_carried = s.Field<string>("_type_of_load_carried"),
|
||
call_assigned_to = s.Field<string>("_call_assigned_to"),
|
||
owner_name = s.Field<string>("_owner_name"),
|
||
owner_contact_number = s.Field<string>("_owner_contact_number"),
|
||
customer_vehicle_regn_no = s.Field<string>("_customer_vehicle_regn_no"),
|
||
nature_of_problem = s.Field<string>("_nature_of_problem"),
|
||
closure_remarks = s.Field<string>("_closure_remarks"),
|
||
estimated_cost = s.Field<string>("_estimated_cost"),
|
||
estimated_time = s.Field<string>("_estimated_time"),
|
||
time_stamps_status_1 = s.Field<string>("_time_stamps_status_1") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_1")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_2 = s.Field<string>("_time_stamps_status_2") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_2")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_3 = s.Field<string>("_time_stamps_status_3") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_3")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_4 = s.Field<string>("_time_stamps_status_4") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_4")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_5 = s.Field<string>("_time_stamps_status_5") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_5")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
escalation_level_van_not_move_1 = s.Field<string>("_escalation_level_van_not_move_1"),
|
||
escalation_level_van_not_move_2 = s.Field<string>("_escalation_level_van_not_move_2"),
|
||
escalation_level_van_not_move_3 = s.Field<string>("_escalation_level_van_not_move_3"),
|
||
escalation_level_van_not_move_4 = s.Field<string>("_escalation_level_van_not_move_4"),
|
||
escalation_level_van_not_move_5 = s.Field<string>("_escalation_level_van_not_move_5"),
|
||
escalation_level_van_not_move_6 = s.Field<string>("_escalation_level_van_not_move_6"),
|
||
escalation_level_van_not_move_7 = s.Field<string>("_escalation_level_van_not_move_7"),
|
||
escalation_level_van_not_move_8 = s.Field<string>("_escalation_level_van_not_move_8"),
|
||
escalation_level_van_not_move_9 = s.Field<string>("_escalation_level_van_not_move_9"),
|
||
escalation_level_van_not_move_10 = s.Field<string>("_escalation_level_van_not_move_10"),
|
||
escalation_level_ticket_closer_1 = s.Field<string>("_escalation_level_ticket_closer_1"),
|
||
escalation_level_ticket_closer_2 = s.Field<string>("_escalation_level_ticket_closer_2"),
|
||
escalation_level_ticket_closer_3 = s.Field<string>("_escalation_level_ticket_closer_3"),
|
||
escalation_level_ticket_closer_4 = s.Field<string>("_escalation_level_ticket_closer_4"),
|
||
escalation_level_ticket_closer_5 = s.Field<string>("_escalation_level_ticket_closer_5"),
|
||
escalation_level_ticket_closer_6 = s.Field<string>("_escalation_level_ticket_closer_6"),
|
||
escalation_level_ticket_closer_7 = s.Field<string>("_escalation_level_ticket_closer_7"),
|
||
escalation_level_ticket_closer_8 = s.Field<string>("_escalation_level_ticket_closer_8"),
|
||
escalation_level_ticket_closer_9 = s.Field<string>("_escalation_level_ticket_closer_9"),
|
||
escalation_level_ticket_closer_10 = s.Field<string>("_escalation_level_ticket_closer_10"),
|
||
call_closure_status = s.Field<string>("_call_closure_status"),
|
||
feedback_taken = s.Field<string>("_feedback_taken"),
|
||
feedback_parameter_wise_score = s.Field<string>("_feedback_parameter_wise_score"),
|
||
feedback_ease_of_getting_call = s.Field<string>("_feedback_ease_of_getting_call"),
|
||
feedback_response_of_call_center = s.Field<string>("_feedback_response_of_call_center"),
|
||
feedback_timely_updation_by_dealer = s.Field<string>("_feedback_timely_updation_by_dealer"),
|
||
feedback_total_repair_time = s.Field<string>("_feedback_total_repair_time"),
|
||
feedback_eos_charges = s.Field<string>("_feedback_eos_charges"),
|
||
feedback_over_all_experience = s.Field<string>("_feedback_over_all_experience"),
|
||
other_remarks = s.Field<string>("_other_remarks"),
|
||
feedback_agent = s.Field<string>("_feedback_agent"),
|
||
how_did_you_come_to_know_of_eos = s.Field<string>("_how_did_you_come_to_know_of_eos"),
|
||
total_inbound_calls = s.Field<string>("_total_inbound_calls"),
|
||
total_outbound_calls = s.Field<string>("_total_outbound_calls"),
|
||
vehicle_name = s.Field<string>("_customer_vehicle_name"),
|
||
organization = s.Field<string>("organization_alias"),
|
||
call_status = s.Field<string>("_call_status"),
|
||
complaints = s.Field<string>("_complaints"),
|
||
suggestion = s.Field<string>("_suggestion"),
|
||
feedback_count = s.Field<Int32?>("_feedback_count").ToString(),
|
||
ticketid_alias = s.Field<string>("_ticket_id_alias"),
|
||
wm_name = s.Field<string>("_wm_name"),
|
||
DealerTicketOtherRemark = s.Field<string>("_other_remarks_for_dealer"),
|
||
KmCovered = s.Field<string>("_km_covered"),
|
||
estimated_distance = s.Field<string>("_estimated_distance"),
|
||
van_covered_distance = s.Field<string>("_van_covered_distance"),
|
||
trip_start_time = Convert.ToDateTime(s.Field<DateTime?>("_trip_start_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
trip_end_time = Convert.ToDateTime(s.Field<DateTime?>("_trip_end_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
_call_closed_within_24_hours = s.Field<string>("_call_closed_within_24_hours"),
|
||
_eicher_promise = s.Field<string>("_eicher_promise"),
|
||
opportunity_loss_remark = s.Field<string>("_opportunity_loss_remark"),
|
||
opportunity_loss = s.Field<string>("_opportunity_loss"),
|
||
remark_ticket_not_closed_24_hours = s.Field<string>("_remark_ticket_not_closed_24_hours"),
|
||
reopen_count = s.Field<int>("_reopen_count"),
|
||
remark_ticket_not_closed_24_hours_remarks = s.Field<string>("_remark_ticket_not_closed_24_hours_remarks"),
|
||
opportunity_lost_remarks = s.Field<string>("_opportunity_lost_remarks"),
|
||
ChassisNo = s.Field<string>("_vehicle_chassis_number"),
|
||
OdometerReading = s.Field<double>("_odometer_reading"),
|
||
//added for consolidate report
|
||
last_Updated_Time = s.Field<DateTime?>("_last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_last_modified_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
//added for feedback on 5-05-2020
|
||
are_you_satisfied = s.Field<bool?>("_are_you_satisfied") == true ? "Yes" : s.Field<bool?>("_are_you_satisfied") != null && s.Field<bool?>("_are_you_satisfied") == false ? "No" : null,
|
||
not_satisfied_option = s.Field<string>("_not_satisfied_selected_option"),
|
||
not_satisfied_reason = s.Field<string>("_not_satisfied_reason"),
|
||
response_time_reassignment = s.Field<double?>("_response_time_reassignment"),
|
||
//added on 14-12-2020
|
||
vehicle_warranty = s.Field<string>("_vehicle_warranty"),
|
||
vehicle_amc = s.Field<string>("_vehicle_amc"),
|
||
vehicle_emission_norms = s.Field<string>("_vehicle_emission_norms"),
|
||
vehicle_sales_date = s.Field<string>("_vehicle_sales_date"),
|
||
van_reached_punch_time = s.Field<DateTime?>("_van_reached_punch_time") == null ? "" : Convert.ToDateTime(s.Field<DateTime?>("_van_reached_punch_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), //added on 23-12-2020
|
||
|
||
location_change_time = s.Field<DateTime?>("_location_change_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_location_change_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
is_location_change = s.Field<string>("_is_location_change"),
|
||
dealer_change_reason = s.Field<string>("_dealer_change_reason"),
|
||
dealer_change_reason_other_remark = s.Field<string>("_dealer_change_reason_other_remark"),
|
||
vehicle_status = s.Field<string>("_vehicle_status"),
|
||
//------ added on 25-11-2020 start--------------
|
||
ticket_closed_reason = s.Field<string>("_ticket_closed_reason"),
|
||
fuel_type = s.Field<string>("_product_variant")
|
||
//---------- added on 25-11-2020 end --------------------
|
||
}).ToList();
|
||
objList.Where(x => x.trip_start_time == "01 Jan 0001 05:30:00" || x.trip_start_time == "01 Jan 0001 00:00:00").ToList().ForEach(x => { x.trip_start_time = "-"; });
|
||
objList.Where(x => x.trip_end_time == "01 Jan 0001 05:30:00" || x.trip_end_time == "01 Jan 0001 00:00:00").ToList().ForEach(x => { x.trip_end_time = "-"; });
|
||
objModel.ConsolidatedReportModelList = objList;
|
||
objModel.Status = "1";
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("ConsolidatedDataReport", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
objModel.Status = "0";
|
||
}
|
||
return objModel;
|
||
}
|
||
|
||
|
||
public ReportOpenTicketModel GetReportCloseTicketDetailNew(TicketRequestModel model)
|
||
{
|
||
ReportOpenTicketModel objModel = new ReportOpenTicketModel();
|
||
// List<ConsolidatedReportModelNew> objList = new List<ConsolidatedReportModelNew>();
|
||
List<TicketListCloseTickets> objList = new List<TicketListCloseTickets>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
string[] filterType = model.TicketType.ToString().Split(',');
|
||
int cout = filterType.Length;
|
||
string filterval = "";
|
||
if (cout == 2)
|
||
{
|
||
{
|
||
model.TicketType = filterType[0];
|
||
filterval = filterType[1];
|
||
}
|
||
}
|
||
else
|
||
{
|
||
model.TicketType = filterType[0];
|
||
}
|
||
|
||
// Get Open ticket report details.
|
||
if (model.TicketType.Trim().ToLower() == "close")
|
||
{
|
||
if (filterval.Trim().ToLower() == "" || filterval.Trim().ToLower() == "all" || filterval.Trim().ToLower() == "open")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[6];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", model.Condition);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_closed_tickets_user_wise_report"], nSqlParam);
|
||
}
|
||
else
|
||
{
|
||
//NpgsqlParameter[] nSqlParam = new NpgsqlParameter[4];
|
||
// nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
// nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
// nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
// nSqlParam[3] = new NpgsqlParameter("inType", filterval);
|
||
// ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_tickets_status_wise_report"], nSqlParam);
|
||
if (filterval.ToLower() == "lcv" || filterval.ToLower() == "electric")
|
||
{
|
||
if (filterval.ToLower() == "lcv")
|
||
{
|
||
filterval = "diesel,cng";
|
||
|
||
}
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[7];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", model.Condition);
|
||
nSqlParam[6] = new NpgsqlParameter("infuelType", filterval);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_closed_tickets_variant_wise_report"], nSqlParam);
|
||
|
||
|
||
}
|
||
else if (filterval.ToLower() == "eps" || filterval.ToLower() == "scv")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[7];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", model.Condition);
|
||
nSqlParam[6] = new NpgsqlParameter("inType", filterval);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_closed_tickets_status_wise_report"], nSqlParam);
|
||
}
|
||
|
||
}
|
||
/* NpgsqlParameter[] nSqlParam = new NpgsqlParameter[6];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", model.Condition);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_closed_tickets_user_wise_report"], nSqlParam);
|
||
*/
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new TicketListCloseTickets
|
||
{
|
||
Id = s.Field<string>("_ticket_id"),
|
||
// DefaultSlaTime = s.Field<int?>("_default_sla_time"),
|
||
CustomeContact_no = s.Field<string>("_customer_contact_no"),
|
||
TotalTicketLifeCycleTimeSlab = s.Field<int?>("_total_ticket_lifecycle_time_sla") == null || s.Field<int?>("_total_ticket_lifecycle_time_sla") <= 0 ? 0 : s.Field<int?>("_total_ticket_lifecycle_time_sla"),
|
||
ServiceEngineerName = s.Field<string>("_van_dealer_name"),
|
||
DealerDealerName = s.Field<string>("_dealer_name"),
|
||
ServiceEngineerContactNumber = s.Field<string>("_dealer_contact_number1"),
|
||
TicketStatusAlias = s.Field<string>("_ticket_status_alias"),
|
||
//added on 25-09-2020
|
||
VanLatitudeAtTripStart = s.Field<string>("_van_trip_start_latitude"),
|
||
VanLongitudeAtTripStart = s.Field<string>("_van_trip_start_longitude"),
|
||
VanLatitudeAtVanReached = s.Field<string>("_van_reached_latitude"),
|
||
VanLongitudeAtVanReached = s.Field<string>("_van_reached_longitude"),
|
||
VanLatitudeAtTripEnd = s.Field<string>("_van_trip_end_latitude"),
|
||
VanLongitudeAtTripEnd = s.Field<string>("_van_trip_end_longitude"),
|
||
BreakdownLocationLatitude = s.Field<string>("_breakdown_location_latitude"),
|
||
BreakdownLocationLongitude = s.Field<string>("_breakdown_location_longitude"),
|
||
//----------------added on 25-11-2020 (start) -------------------------------------
|
||
TicketClosedReason = s.Field<string>("_ticket_closed_reason"),
|
||
//----------------added on 25-11-2020 (end) -------------------------------------
|
||
|
||
VehicleTagging = s.Field<string>("_customer_vehicle_model_tagging"),
|
||
CustomerName = s.Field<string>("_customer_name"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
LastModifiedTime = Convert.ToDateTime(s.Field<DateTime?>("_lastmodifytime")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
AssignedTo = s.Field<string>("_assignedto"),
|
||
EstimatedTimeForJobComplition = s.Field<int?>("_estimatedtimeforjobcompletion"),
|
||
Age = Convert.ToDouble(s.Field<string>("_age")),
|
||
DefaultCol2 = model.TicketType.Trim().ToLower() == "close" ? s.Field<string>("_feedbackagent") : null,
|
||
DefaultCol3 = model.TicketType.Trim().ToLower() == "close" ? s.Field<string>("_reasonformorethen24hours") : null,
|
||
CallStatus = s.Field<string>("_call_status"),
|
||
VehicleRegistrationNo = s.Field<string>("_vehicle_registration_number"),
|
||
ticketid_alias = s.Field<string>("_ticket_id_alias"),
|
||
caller_language = s.Field<string>("_caller_language"),
|
||
feedback_call_status = s.Field<string>("_feedback_status"),
|
||
total_count = Convert.ToString(s.Field<Int32?>("_feedback_count")),
|
||
reopen_count = Convert.ToString(s.Field<Int32?>("_reopen_count")),
|
||
Score = s.Field<string>("_score"),
|
||
ChassisNo = s.Field<string>("_chassis_number"),
|
||
OdometerReading = s.Field<double>("_odometer_reading"),
|
||
//added on 03/12/2020
|
||
vehicle_warranty = s.Field<string>("_vehicle_warranty"),
|
||
vehicle_amc = s.Field<string>("_vehicle_amc"),
|
||
vehicle_emission_norms = s.Field<string>("_vehicle_emission_norms"),
|
||
vehicle_sales_date = s.Field<string>("_vehicle_sales_date"),
|
||
AssignedToUserLatitude = s.Field<string>("_assigned_lat"),
|
||
AssignedToUserLongitude = s.Field<string>("_assigned_long"),
|
||
BreackDownLongitude = s.Field<string>("_estimated_van_reach_time"),
|
||
VanAssignedLat = s.Field<string>("_assigned_lat"),
|
||
VanAssignedLong = s.Field<string>("_assigned_long"),
|
||
EstimatedVanReachTime = s.Field<string>("_estimated_van_reach_time"),
|
||
fuel_type = s.Field<string>("_fuel_type"),
|
||
VanReachedPunchTime = s.Field<DateTime?>("_van_reached_punch_time") == null ? "" : Convert.ToDateTime(s.Field<DateTime?>("_van_reached_punch_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), //added on 23-12-2020
|
||
model_number = s.Field<string>("_model_number"),
|
||
battery_voltage = s.Field<string>("_battery_voltage") == null ? "" : s.Field<string>("_battery_voltage"),
|
||
fuelLevelInLtr = s.Field<string>("_fuelLevelInLtr") == null ? "" : s.Field<string>("_fuelLevelInLtr"),
|
||
defLevelInLtr = s.Field<string>("_defLevelInLtr") == null ? "" : s.Field<string>("_defLevelInLtr"),
|
||
TripENDBY = s.Field<string>("_tripendstatus") == null ? "U" : (s.Field<string>("_tripendstatus")).ToUpper(),
|
||
|
||
}).ToList();
|
||
objModel.TicketcloseList = objList;
|
||
objModel.Status = "1";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
objModel.Status = "0";
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetOpenCloseTicketDetail", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
objModel.Status = "0";
|
||
}
|
||
return objModel;
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get open and close ticket detail user id wise
|
||
/// </summary>
|
||
/// <param name="model">ticket info</param>
|
||
/// <returns>status and open and close ticket detail user id wise</returns>
|
||
public ReportOpenTicketModel GetOpenCloseTicketDetailNew(TicketRequestModel model)
|
||
{
|
||
ReportOpenTicketModel objModel = new ReportOpenTicketModel();
|
||
// List<ConsolidatedReportModelNew> objList = new List<ConsolidatedReportModelNew>();
|
||
List<TicketListOpenTickets> objList = new List<TicketListOpenTickets>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
string[] filterType = model.TicketType.ToString().Split(',');
|
||
int cout = filterType.Length;
|
||
string filterval = "";
|
||
if (cout == 2)
|
||
{
|
||
{
|
||
model.TicketType = filterType[0];
|
||
filterval = filterType[1];
|
||
}
|
||
}
|
||
else
|
||
{
|
||
model.TicketType = filterType[0];
|
||
}
|
||
|
||
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
// Get Open ticket report details.
|
||
if (model.TicketType.Trim().ToLower() == "open")
|
||
{
|
||
if (filterval.Trim().ToLower() == "" || filterval.Trim().ToLower() == "all" || filterval.Trim().ToLower() == "open")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_tickets_user_wise_report"], nSqlParam);
|
||
}
|
||
else
|
||
{
|
||
//NpgsqlParameter[] nSqlParam = new NpgsqlParameter[4];
|
||
// nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
// nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
// nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
// nSqlParam[3] = new NpgsqlParameter("inType", filterval);
|
||
// ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_tickets_status_wise_report"], nSqlParam);
|
||
if (filterval.ToLower() == "lcv" || filterval.ToLower() == "electric")
|
||
{
|
||
if (filterval.ToLower() == "lcv")
|
||
{
|
||
filterval = "diesel,cng";
|
||
|
||
}
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[4];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("infuelType", filterval);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_tickets_variant_wise_report"], nSqlParam);
|
||
|
||
}
|
||
else if (filterval.ToLower() == "eps" || filterval.ToLower() == "scv")
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[4];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inType", filterval);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_tickets_status_wise_report"], nSqlParam);
|
||
}
|
||
|
||
}
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new TicketListOpenTickets
|
||
{
|
||
// Id = s.Field<string>("_ticket_id"),
|
||
// DefaultSlaTime = s.Field<int?>("_default_sla_time"),
|
||
CustomeContact_no = s.Field<string>("_customer_contact_no"),
|
||
assigned_to = s.Field<string>("_assignedto"),
|
||
|
||
TotalTicketLifeCycleTimeSlab = s.Field<int?>("_total_ticket_lifecycle_time_sla") == null || s.Field<int?>("_total_ticket_lifecycle_time_sla") <= 0 ? 0 : s.Field<int?>("_total_ticket_lifecycle_time_sla"),
|
||
ServiceEngineerName = s.Field<string>("_van_dealer_name"),
|
||
DealerDealerName = s.Field<string>("_dealer_name"),
|
||
ServiceEngineerContactNumber = s.Field<string>("_dealer_contact_number1"),
|
||
TicketStatusAlias = s.Field<string>("_ticket_status_alias"),
|
||
VehicleTagging = s.Field<string>("_customer_vehicle_model_tagging"),
|
||
CustomerName = s.Field<string>("_customer_name"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
// LastModifiedTime = Convert.ToDateTime(s.Field<DateTime?>("_lastmodifytime")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
|
||
VehicleRegistrationNo = s.Field<string>("_vehicle_registration_number"),
|
||
ticketid_alias = s.Field<string>("_ticket_id_alias"),
|
||
caller_language = s.Field<string>("_caller_language"),
|
||
// gps_status = s.Field<string>("_gps_status"),
|
||
// current_latitude = s.Field<string>("_current_latitude"),
|
||
// current_longitude = s.Field<string>("_current_longitude"),
|
||
PreClosureTime = Convert.ToDateTime(s.Field<DateTime?>("_pre_closure_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
ChassisNo = s.Field<string>("_chassis_number"),
|
||
OdometerReading = s.Field<double>("_odometer_reading"),
|
||
Remarks = s.Field<string>("_last_remark"),
|
||
Description = s.Field<string>("_nature_of_problem"),
|
||
CSMName = s.Field<string>("csm"),
|
||
CSMNo = s.Field<string>("csm_contact_no"),
|
||
RSMName = s.Field<string>("rsm"),
|
||
RSMNo = s.Field<string>("rsm_contact_no"),
|
||
ASMName = s.Field<string>("asm"),
|
||
ASMNo = s.Field<string>("asm_contact_no"),
|
||
dealer1scode = s.Field<string>("_Dealer_name_1scode"),
|
||
Vehicle_Status = s.Field<string>("_vehicle_status"),
|
||
vehicle_emission_norms = s.Field<string>("_vehicle_emission_norms"),
|
||
CreatedBy = s.Field<string>("_created_by"),
|
||
Region = s.Field<string>("_region"),
|
||
fuel_type = s.Field<string>("_fuel_type"),
|
||
model_number = s.Field<string>("_model_number"),
|
||
battery_voltage = s.Field<string>("_battery_voltage") == null ? "" : s.Field<string>("_battery_voltage"),
|
||
fuelLevelInLtr = s.Field<string>("_fuelLevelInLtr") == null ? "" : s.Field<string>("_fuelLevelInLtr"),
|
||
defLevelInLtr = s.Field<string>("_defLevelInLtr") == null ? "" : s.Field<string>("_defLevelInLtr"),
|
||
preclosurereason = s.Field<string>("_preclosereaon") == null ? "" : s.Field<string>("_preclosereaon"),
|
||
VanReachedPunchTime = s.Field<DateTime?>("_van_reached_punch_time") == null ? "" : Convert.ToDateTime(s.Field<DateTime?>("_van_reached_punch_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), //added on 23-12-2020
|
||
}).ToList();
|
||
|
||
|
||
|
||
objModel.TicketopenList = objList;
|
||
objModel.Status = "1";
|
||
}
|
||
}
|
||
else
|
||
{
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
objModel.Status = "0";
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetOpenCloseTicketDetail", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
objModel.Status = "0";
|
||
}
|
||
return objModel;
|
||
}
|
||
|
||
public string InsertRabbitMqdata(RabittMqDataModel model)
|
||
{
|
||
string strmessage = "";
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[16];
|
||
nSqlParam[0] = new NpgsqlParameter("intemporary_eos_ticket", model.temporary_eos_ticket_number);
|
||
nSqlParam[1] = new NpgsqlParameter("ineos_ticket_number", model.eos_ticket_number);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_status", model.ticket_status);
|
||
nSqlParam[3] = new NpgsqlParameter("inticket_status_description", model.ticket_status_description);
|
||
nSqlParam[4] = new NpgsqlParameter("inassigned_to_user_id", model.assigned_to_user_id);
|
||
nSqlParam[5] = new NpgsqlParameter("invan_number", model.van_number);
|
||
nSqlParam[6] = new NpgsqlParameter("intechnician_name", model.technician_name);
|
||
nSqlParam[7] = new NpgsqlParameter("intechnician_number", model.technician_number);
|
||
nSqlParam[8] = new NpgsqlParameter("inlast_modified_time", model.last_modified_time);
|
||
nSqlParam[9] = new NpgsqlParameter("ineos_ticket_closure_comment", model.eos_ticket_closure_comment);
|
||
nSqlParam[10] = new NpgsqlParameter("invehicle_registration_number", model.vehicle_registration_number);
|
||
nSqlParam[11] = new NpgsqlParameter("inchassis_number", model.chassis_number);
|
||
nSqlParam[12] = new NpgsqlParameter("indealer_code", model.dealer_code);
|
||
nSqlParam[13] = new NpgsqlParameter("inbreakdown_location", model.breakdown_location);
|
||
nSqlParam[14] = new NpgsqlParameter("inbreakdown_longitude", model.breakdown_longitude);
|
||
nSqlParam[15] = new NpgsqlParameter("inbreakdown_lattitude", model.breakdown_lattitude);
|
||
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_rabitt_mq_data"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("InsertRabbitMqdata", Ex.Message, path, errorlogtf);
|
||
}
|
||
return strmessage;
|
||
}
|
||
|
||
public string InsertSVCDetails(SVCDetails model)
|
||
{
|
||
string strmessage = "";
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[7];
|
||
nSqlParam[0] = new NpgsqlParameter("inCustomerName", model.CustomerName);
|
||
nSqlParam[1] = new NpgsqlParameter("inCustomerNumber", model.CustomerNumber);
|
||
nSqlParam[2] = new NpgsqlParameter("inAddress", model.Address);
|
||
nSqlParam[3] = new NpgsqlParameter("inisoemn", model.isoem);
|
||
nSqlParam[4] = new NpgsqlParameter("inoemName", model.oemName);
|
||
nSqlParam[5] = new NpgsqlParameter("inCreatedBy", model.CreatedBy);
|
||
nSqlParam[6] = new NpgsqlParameter("inQuantity", model.Quantity);
|
||
|
||
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_SVC_data"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("InsertSVCDetails", Ex.Message, path, errorlogtf);
|
||
}
|
||
return strmessage;
|
||
}
|
||
|
||
|
||
public string InsertAccidentalDetails(AccidentalDetails model)
|
||
{
|
||
string strmessage = "";
|
||
try
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[8];
|
||
nSqlParam[0] = new NpgsqlParameter("inCustomerName", model.CustomerName);
|
||
nSqlParam[1] = new NpgsqlParameter("inCustomerNumber", model.CustomerNumber);
|
||
nSqlParam[2] = new NpgsqlParameter("inAddress", model.Location);
|
||
nSqlParam[3] = new NpgsqlParameter("inisabulancesupportrequired", model.isabulancesupportrequired);
|
||
nSqlParam[4] = new NpgsqlParameter("inisdealersupportrequired", model.isdealersupportrequired);
|
||
nSqlParam[5] = new NpgsqlParameter("indealerconnect", model.Dealer_Connect);
|
||
nSqlParam[6] = new NpgsqlParameter("inreg_no", model.Registration_number);
|
||
nSqlParam[7] = new NpgsqlParameter("inCreatedBy", model.CreatedBy);
|
||
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_accidental_data"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("InsertAccidentalDetails", Ex.Message, path, errorlogtf);
|
||
}
|
||
return strmessage;
|
||
}
|
||
|
||
|
||
public string InsertEPSSalesDetails(EPSSalesDetails model)
|
||
{
|
||
string strmessage = "";
|
||
try
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[6];
|
||
nSqlParam[0] = new NpgsqlParameter("inCustomerName", model.CustomerName);
|
||
nSqlParam[1] = new NpgsqlParameter("inCustomerNumber", model.CustomerNumber);
|
||
nSqlParam[2] = new NpgsqlParameter("inAddress", model.Location);
|
||
nSqlParam[3] = new NpgsqlParameter("inQunatity", model.Qunatity);
|
||
nSqlParam[4] = new NpgsqlParameter("inProductType", model.ProductType);
|
||
nSqlParam[5] = new NpgsqlParameter("inCreatedBy", model.CreatedBy);
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_eps_sales_lead_data"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
string strmsg = sendEPSLeadDetailmail(model);
|
||
strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("InsertEPSSalesDetails", Ex.Message, path, errorlogtf);
|
||
}
|
||
return strmessage;
|
||
}
|
||
|
||
public string getEstimatedVanReach(string ticketid)
|
||
{
|
||
string strmessage = "";
|
||
try
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("in_eos_ticket", ticketid);
|
||
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_reach_estimated_time"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = Convert.ToString(ds.Tables[0].Rows[0]["sp_get_van_reach_estimated_time"]);
|
||
// strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("getEstimatedVanReach", Ex.Message, path, errorlogtf);
|
||
}
|
||
return strmessage;
|
||
}
|
||
public string getOTP(InsertOpenTicket model)
|
||
{
|
||
string strmessage = "";
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
nSqlParam[0] = new NpgsqlParameter("in_ticket_id", model.TicketId);
|
||
nSqlParam[1] = new NpgsqlParameter("in_van_id", "");
|
||
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_otp"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = Convert.ToString(ds.Tables[0].Rows[0]["sp_get_ticket_otp"]);
|
||
// strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("usp_get_ticket_otp", Ex.Message, path, errorlogtf);
|
||
}
|
||
return strmessage;
|
||
}
|
||
|
||
public string getLanguage(InsertOpenTicket model)
|
||
{
|
||
string strmessage = "";
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("in_eos_ticket", model.TicketId);
|
||
|
||
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_Language"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = Convert.ToString(ds.Tables[0].Rows[0]["sp_get_ticket_Language"]);
|
||
// strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("usp_get_ticket_Language", Ex.Message, path, errorlogtf);
|
||
}
|
||
return strmessage;
|
||
}
|
||
|
||
public string getLanguageByUser(InsertOpenTicket model)
|
||
{
|
||
string strmessage = "";
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("in_user_id", model.TicketId);
|
||
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_user_Language"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = Convert.ToString(ds.Tables[0].Rows[0]["sp_get_user_language_cce"]);
|
||
// strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("getLanguageByUser", Ex.Message, path, errorlogtf);
|
||
}
|
||
return strmessage;
|
||
}
|
||
|
||
public string getimeForSMS(string ticketid)
|
||
{
|
||
string strmessage = "";
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("in_eos_ticket", ticketid);
|
||
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_time_for_sms"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = Convert.ToString(ds.Tables[0].Rows[0]["sp_get_time_for_sms"]);
|
||
DateTime parsedDate = DateTime.ParseExact(strmessage, "yyyy-MM-dd HH:mm:ss", null);
|
||
|
||
// Format the DateTime object into dd-MM-yyyy hh:mm:ss tt format (12-hour time)
|
||
strmessage = parsedDate.ToString("dd-MM-yyyy hh:mm:ss tt");
|
||
// 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 updateislocationchange(string ticketid, string BreakdownLocation, string breakdownLongitude, string breakdownLattitude, string state, string City, string Route, string Landmark)
|
||
{
|
||
string strmessage = "";
|
||
try
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[8];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", ticketid);
|
||
nSqlParam[1] = new NpgsqlParameter("inBreakdown_Location", BreakdownLocation);
|
||
nSqlParam[2] = new NpgsqlParameter("inbreakdownLongitude", breakdownLongitude);
|
||
nSqlParam[3] = new NpgsqlParameter("inbreakdownLattitude", breakdownLattitude);
|
||
nSqlParam[4] = new NpgsqlParameter("inCity", City);
|
||
nSqlParam[5] = new NpgsqlParameter("instate", state);
|
||
nSqlParam[6] = new NpgsqlParameter("inRoute", Route);
|
||
nSqlParam[7] = new NpgsqlParameter("inLandmark", Landmark);
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_location_change_flag"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = "success";
|
||
// strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("updateislocationchange", Ex.Message, path, errorlogtf);
|
||
}
|
||
return strmessage;
|
||
}
|
||
|
||
|
||
public string updatedealerchangereason(string ticketid, string reason, string otherreason)
|
||
{
|
||
string strmessage = "";
|
||
try
|
||
{
|
||
|
||
objLog.ErrorLogFile("updatedealerchangereason called", "start", path, errorlogtf);
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", ticketid);
|
||
nSqlParam[1] = new NpgsqlParameter("inreason", reason);
|
||
nSqlParam[2] = new NpgsqlParameter("inotherreason", otherreason); ;
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_dealer_change_reason"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = "success";
|
||
objLog.ErrorLogFile("updatedealerchangereason called", "success", path, errorlogtf);
|
||
|
||
// strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("updatedealerchangereason", Ex.Message, path, errorlogtf);
|
||
}
|
||
|
||
return strmessage;
|
||
}
|
||
/// <summary>
|
||
/// To get Warranty list
|
||
/// </summary>
|
||
/// <returns>Warranty list</returns>
|
||
public List<TollFreeNoSourceModel> GetdealerchangereasonList()
|
||
{
|
||
List<TollFreeNoSourceModel> objList = new List<TollFreeNoSourceModel>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dealer_change_reason_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("GetTollFreeNoSources", Ex.Message, path, errorlogtf);
|
||
}
|
||
return objList;
|
||
}
|
||
|
||
|
||
public VECVReportRequestModel GetTicketDetailVECVCalculation(VECVReportRequestModel model)
|
||
{
|
||
VECVReportRequestModel detailVecvCalculation = new VECVReportRequestModel();
|
||
List<VECVCalculation> vecvCalculationList = new List<VECVCalculation>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_vecv_report_details"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
|
||
vecvCalculationList = ds.Tables[0].AsEnumerable().Select(s => new VECVCalculation
|
||
{
|
||
AssignedTo = s.Field<string>("_assigned_to"),
|
||
TicketStatus = s.Field<string>("_ticket_status"),
|
||
TicketStatusAlias = s.Field<string>("_ticket_status_alias"),
|
||
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
|
||
DealerCode = s.Field<string>("_dealer_code"),
|
||
AssignedToUserId = s.Field<string>("_assigned_to_user_id"),
|
||
Dealer_name = s.Field<string>("_dealer_name"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).ToString("dd MMM yyy HH:mm:ss"),
|
||
LastModifiedTime = Convert.ToDateTime(s.Field<DateTime?>("_last_modified_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
//Convert.ToDateTime(s.Field<DateTime?>("_last_modified_time")).ToString("dd MMM yyy HH:mm:ss"),
|
||
Call_Closure = Convert.ToDateTime(s.Field<DateTime?>("_call_closure")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
//Convert.ToDateTime(s.Field<DateTime?>("_call_closure")).ToString("dd MMM yyy HH:mm:ss"),
|
||
Call_Preclosed = Convert.ToDateTime(s.Field<DateTime?>("_call_preclosed")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
|
||
//Convert.ToDateTime(s.Field<DateTime?>("_call_preclosed")).ToString("dd MMM yyy HH:mm:ss"),
|
||
Reassignment_Time = Convert.ToDateTime(s.Field<DateTime?>("_reassignment_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
////Convert.ToDateTime(s.Field<DateTime?>("_reassignment_time")).ToString("dd MMM yyy HH:mm:ss"),
|
||
Ticket_Accepted = Convert.ToDateTime(s.Field<DateTime?>("_ticket_accepted")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
//Convert.ToDateTime(s.Field<DateTime?>("_ticket_accepted")).ToString("dd MMM yyy HH:mm:ss"),
|
||
//VanReachedTime = Convert.ToDateTime(s.Field<DateTime?>("_vanreachedtime")).ToString("dd MMM yyy HH:mm:ss"),
|
||
VanReachedTime = Convert.ToDateTime(s.Field<DateTime?>("_vanreachedtime")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
Van_Reached = Convert.ToDateTime(s.Field<DateTime?>("_vanreachedtime")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
//VanReachedTime = s.Field<DateTime?>("_vanreachedtime") != null ? Convert.ToDateTime(s.Field<DateTime?>("_vanreachedtime")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_vanreachedtime")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
|
||
}).ToList();
|
||
detailVecvCalculation.TicketList = vecvCalculationList;
|
||
detailVecvCalculation.Status = "1";
|
||
}
|
||
else
|
||
{
|
||
detailVecvCalculation.Status = "0";
|
||
detailVecvCalculation.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return detailVecvCalculation;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
detailVecvCalculation.Status = "0";
|
||
detailVecvCalculation.Message = ex.Message;
|
||
this.objLog.ErrorLogFile("GetDealerOpenTicketDetail", ex.Message, this.path, this.errorlogtf);
|
||
return detailVecvCalculation;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get customer open ticket history
|
||
/// </summary>
|
||
/// <param name="model">device and ticket info</param>
|
||
/// <returns>status and customer open ticket history</returns>
|
||
public TicketOpenModelCogentAPI GetOpenTicketHistoryForCogent(string mobile_no)
|
||
{
|
||
TicketOpenModelCogentAPI objTicketModel = new TicketOpenModelCogentAPI();
|
||
try
|
||
{
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inmobile_number ", mobile_no);
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_Cogent_API"], nSqlParam);
|
||
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
objTicketModel.CustomeContact_no = dsOpen.Tables[0].Rows[0]["_mobile_number"].ToString();
|
||
objTicketModel.CustomerName = dsOpen.Tables[0].Rows[0]["_customer_name"].ToString();
|
||
objTicketModel.VehicleRegistrationNo = dsOpen.Tables[0].Rows[0]["_vehicle_registration_number"].ToString();
|
||
objTicketModel.TicketIdAlias = dsOpen.Tables[0].Rows[0]["_ticketid_alias"].ToString();
|
||
objTicketModel.TicketStatusAlias = dsOpen.Tables[0].Rows[0]["_ticket_status_alias"].ToString();
|
||
objTicketModel.TicketStatus = dsOpen.Tables[0].Rows[0]["_ticket_status"].ToString();
|
||
objTicketModel.isExists = true;
|
||
}
|
||
else
|
||
{
|
||
objTicketModel.isExists = false;
|
||
}
|
||
|
||
return objTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetCustomerOpenTicketHistory", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get van and dealer list.
|
||
/// </summary>
|
||
/// <param name="model">van and dealer info</param>
|
||
/// <returns>van and dealer list</returns>
|
||
public List<VanDealerListStateWiseGetAllVan> GetVanDealerListStateWiseGetAllVan(VanDealerListStateWise model)
|
||
{
|
||
List<VanDealerListStateWiseGetAllVan> objListModel = new List<VanDealerListStateWiseGetAllVan>();
|
||
// VanDealerListStateWise objModel = new VanDealerListStateWise();
|
||
VanDealerListStateWiseGetAllVan objModel = new VanDealerListStateWiseGetAllVan();
|
||
try
|
||
{
|
||
// objModel.Status = "1";
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
DataSet dsTracking = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id ", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instate_name ", model.StateName);
|
||
nSqlParam[2] = new NpgsqlParameter("inlimit ", model.Limit);
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_dealer_list_state_wise"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
objModel = new VanDealerListStateWiseGetAllVan();
|
||
//get dealer details.
|
||
if (ds.Tables[0].Rows[i]["_type"].ToString().Trim().ToLower() == "dealer")
|
||
{
|
||
objModel.DealerVanId = ds.Tables[0].Rows[i]["dealer_van_id"].ToString();
|
||
objModel.DealerVanName = ds.Tables[0].Rows[i]["dealer_van_name"].ToString();
|
||
objModel.DealerVanLattitude = ds.Tables[0].Rows[i]["dealer_van_lattitude"].ToString();
|
||
objModel.DealerVanLongitude = ds.Tables[0].Rows[i]["dealer_van_longitude"].ToString();
|
||
objModel.DealerVanCity = ds.Tables[0].Rows[i]["dealer_van_city"].ToString();
|
||
objModel.DealerVanState = ds.Tables[0].Rows[i]["dealer_van_state"].ToString();
|
||
objModel.DeviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
objModel.NoOfAssignedTicket = Convert.ToInt64(ds.Tables[0].Rows[i]["no_of_assigned_ticket"].ToString());
|
||
objModel.Type = ds.Tables[0].Rows[i]["_type"].ToString();
|
||
objModel.RemainingTime = ds.Tables[0].Rows[i]["remaining_time"].ToString();
|
||
objModel.DeviceStatus = "False";
|
||
objModel.DealerOrVanContactNo = ds.Tables[0].Rows[i]["contact_number"].ToString();
|
||
objModel.DealerSCode = ds.Tables[0].Rows[i]["dealer_id"].ToString();
|
||
|
||
}
|
||
else
|
||
{
|
||
//get van details and bind with tracking log device alias wise.
|
||
objModel.DealerVanId = ds.Tables[0].Rows[i]["dealer_van_id"].ToString();
|
||
objModel.DealerVanName = ds.Tables[0].Rows[i]["dealer_van_name"].ToString();
|
||
|
||
objModel.DealerVanLattitude = ds.Tables[0].Rows[i]["_latitude"].ToString();
|
||
objModel.DealerVanLongitude = ds.Tables[0].Rows[i]["_longitude"].ToString();
|
||
objModel.DeviceStatus = ds.Tables[0].Rows[i]["_device_status"].ToString();
|
||
|
||
objModel.DealerVanCity = ds.Tables[0].Rows[i]["dealer_van_city"].ToString();
|
||
objModel.DealerVanState = ds.Tables[0].Rows[i]["dealer_van_state"].ToString();
|
||
objModel.DeviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
objModel.NoOfAssignedTicket = Convert.ToInt64(ds.Tables[0].Rows[i]["no_of_assigned_ticket"].ToString());
|
||
objModel.Type = ds.Tables[0].Rows[i]["_type"].ToString();
|
||
objModel.RemainingTime = ds.Tables[0].Rows[i]["remaining_time"].ToString();
|
||
objModel.DealerSCode = ds.Tables[0].Rows[i]["dealer_id"].ToString();
|
||
objModel.DealerOrVanContactNo = ds.Tables[0].Rows[i]["contact_number"].ToString();
|
||
|
||
|
||
|
||
//objModel.DealerVanLattitude = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
// .Select(s => s.Latitude).FirstOrDefault() == null ?
|
||
// ds.Tables[0].Rows[i]["dealer_van_lattitude"].ToString() :
|
||
// listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
// .Select(s => s.Latitude).FirstOrDefault();
|
||
|
||
//objModel.DealerVanLongitude = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
// .Select(s => s.Longitude).FirstOrDefault() == null ?
|
||
// ds.Tables[0].Rows[i]["dealer_van_longitude"].ToString() :
|
||
// listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
// .Select(s => s.Longitude).FirstOrDefault(); ;
|
||
|
||
//objModel.DeviceStatus = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
// .Select(s => s.DeviceStatus).FirstOrDefault() == null ?
|
||
// "False" :
|
||
// listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
// .Select(s => s.DeviceStatus).FirstOrDefault()
|
||
// ;
|
||
|
||
|
||
}
|
||
|
||
objListModel.Add(objModel);
|
||
}
|
||
|
||
}
|
||
}
|
||
else
|
||
{
|
||
//objListModel.st = "0";
|
||
//objListModel. = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
return objListModel;
|
||
}
|
||
return objListModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
//objListModel.Status = "0";
|
||
//objListModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("GetVanDealerListStateWiseGetAllVan", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
|
||
/// <summary>
|
||
/// To get van and dealer list.
|
||
/// </summary>
|
||
/// <param name="model">van and dealer info</param>
|
||
/// <returns>van and dealer list</returns>
|
||
public List<VanDealerListStateWise> GetVanListStateWise(VanDealerListStateWise model)
|
||
{
|
||
List<VanDealerListStateWise> objListModel = new List<VanDealerListStateWise>();
|
||
VanDealerListStateWise objModel = new VanDealerListStateWise();
|
||
|
||
try
|
||
{
|
||
objModel.Status = "1";
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
if (model.Fuel_type == null)
|
||
{
|
||
|
||
}
|
||
else
|
||
{
|
||
if (model.Fuel_type.ToLower() == "electric")
|
||
{
|
||
|
||
}
|
||
else
|
||
{
|
||
model.Fuel_type = "diesel,cng";
|
||
}
|
||
}
|
||
DataSet ds = new DataSet();
|
||
DataSet dsTracking = new DataSet();
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[5];
|
||
if (model.StateName == null || model.StateName == "van")
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("indealer_1sCode", model.DealerSCode.Trim());
|
||
nSqlParam1[1] = new NpgsqlParameter("infuel_type", model.Fuel_type.ToLower());
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_by_dealer"], nSqlParam1);
|
||
|
||
}
|
||
else
|
||
{
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id ", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instate_name ", model.StateName);
|
||
nSqlParam[2] = new NpgsqlParameter("inlimit ", model.Limit);
|
||
nSqlParam[3] = new NpgsqlParameter("indealer_1sCode", model.DealerSCode);
|
||
nSqlParam[4] = new NpgsqlParameter("infuel_type", model.Fuel_type.ToLower());
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_dealer_list_state_wise_van_list_fuel_type"], nSqlParam);
|
||
}
|
||
string deviceAlias = "";
|
||
if (model.StateName == null)
|
||
{
|
||
}
|
||
else
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i]["_type"].ToString().Trim().ToLower() == "van")
|
||
{
|
||
if (i == 0)
|
||
{
|
||
deviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
}
|
||
else
|
||
{
|
||
deviceAlias = deviceAlias + "," + ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
//Get device tracking log
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("indevice_alias", deviceAlias);
|
||
dsTracking = NpgSqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings["Vecv_Tracking"].ToString(), CommandType.StoredProcedure, ConfigurationManager.AppSettings["vecv_log_sp_get_current_log_devices_user_wise"], nSqlParam);
|
||
|
||
List<TrackingModel> listTracking = new List<TrackingModel>();
|
||
listTracking = dsTracking.Tables[0].AsEnumerable().Select(s => new TrackingModel
|
||
{
|
||
|
||
LogId = s.Field<Int32>("_log_id"),
|
||
DeviceAlias = s.Field<string>("_device_alias"),
|
||
Latitude = s.Field<string>("_latitude"),
|
||
Longitude = s.Field<string>("_longitude"),
|
||
LogTime = s.Field<DateTime?>("_log_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_log_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_log_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
IsConnected = s.Field<string>("_device_status"),
|
||
Xcordinate = s.Field<string>("_x_coordinate"),
|
||
Ycordinate = s.Field<string>("_y_coordinate"),
|
||
Zcordinate = s.Field<string>("_z_coordinate"),
|
||
|
||
CreationTime = s.Field<DateTime?>("_creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
DeviceStatus = s.Field<string>("_device_status")
|
||
}).ToList();
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
objModel = new VanDealerListStateWise();
|
||
//get dealer details.
|
||
if (ds.Tables[0].Rows[i]["_type"].ToString().Trim().ToLower() == "dealer")
|
||
{
|
||
objModel.DealerVanId = ds.Tables[0].Rows[i]["dealer_van_id"].ToString();
|
||
objModel.DealerVanName = ds.Tables[0].Rows[i]["dealer_van_name"].ToString();
|
||
objModel.DealerVanLattitude = ds.Tables[0].Rows[i]["dealer_van_lattitude"].ToString();
|
||
objModel.DealerVanLongitude = ds.Tables[0].Rows[i]["dealer_van_longitude"].ToString();
|
||
objModel.DealerVanCity = ds.Tables[0].Rows[i]["dealer_van_city"].ToString();
|
||
objModel.DealerVanState = ds.Tables[0].Rows[i]["dealer_van_state"].ToString();
|
||
objModel.DeviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
objModel.NoOfAssignedTicket = Convert.ToInt64(ds.Tables[0].Rows[i]["no_of_assigned_ticket"].ToString());
|
||
objModel.Type = ds.Tables[0].Rows[i]["_type"].ToString();
|
||
objModel.RemainingTime = ds.Tables[0].Rows[i]["remaining_time"].ToString();
|
||
objModel.DeviceStatus = "False";
|
||
objModel.DealerOrVanContactNo = ds.Tables[0].Rows[i]["contact_number"].ToString();
|
||
objModel.DealerSCode = ds.Tables[0].Rows[i]["dealer_id"].ToString();
|
||
objModel.Fuel_type = ds.Tables[0].Rows[i]["fueltype"].ToString();
|
||
}
|
||
else
|
||
{
|
||
if (model.StateName == null)
|
||
{
|
||
objModel.DealerVanId = ds.Tables[0].Rows[i]["dealer_van_id"].ToString();
|
||
objModel.DealerVanName = ds.Tables[0].Rows[i]["dealer_van_name"].ToString();
|
||
objModel.DealerVanLattitude = ds.Tables[0].Rows[i]["dealer_van_lattitude"].ToString();
|
||
objModel.DealerVanLongitude = ds.Tables[0].Rows[i]["dealer_van_longitude"].ToString();
|
||
objModel.DealerVanCity = ds.Tables[0].Rows[i]["dealer_van_city"].ToString();
|
||
objModel.DealerVanState = ds.Tables[0].Rows[i]["dealer_van_state"].ToString();
|
||
objModel.DeviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
objModel.NoOfAssignedTicket = Convert.ToInt64(ds.Tables[0].Rows[i]["no_of_assigned_ticket"].ToString());
|
||
objModel.Type = ds.Tables[0].Rows[i]["_type"].ToString();
|
||
objModel.RemainingTime = ds.Tables[0].Rows[i]["remaining_time"].ToString();
|
||
objModel.DealerSCode = ds.Tables[0].Rows[i]["dealer_id"].ToString();
|
||
objModel.DealerOrVanContactNo = ds.Tables[0].Rows[i]["contact_number"].ToString();
|
||
objModel.Fuel_type = ds.Tables[0].Rows[i]["fueltype"].ToString();
|
||
VanDealerListStateWise objVanDealerListStateWise = new VanDealerListStateWise();
|
||
objVanDealerListStateWise = GetVanlatlngbydevicealias(objModel.DeviceAlias);
|
||
objModel.Limit = objVanDealerListStateWise.DealerVanLattitude;
|
||
objModel.Status = objVanDealerListStateWise.DealerVanLongitude;
|
||
//if (dslatlng.Tables[0].Rows.Count > 0)
|
||
//{
|
||
// for (int j = 0; j < dslatlng.Tables[0].Rows.Count; j++)
|
||
// {
|
||
// if (j == 0)
|
||
// {
|
||
// objModel.Limit = ds.Tables[0].Rows[j]["dealer_van_lattitude"].ToString();
|
||
// objModel.Status = ds.Tables[0].Rows[j]["dealer_van_longitude"].ToString();
|
||
// }
|
||
// }
|
||
//}
|
||
|
||
|
||
|
||
}
|
||
else
|
||
{
|
||
//get van details and bind with tracking log device alias wise.
|
||
objModel.DealerVanId = ds.Tables[0].Rows[i]["dealer_van_id"].ToString();
|
||
objModel.DealerVanName = ds.Tables[0].Rows[i]["dealer_van_name"].ToString();
|
||
|
||
objModel.DealerVanLattitude = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Latitude).FirstOrDefault() == null ?
|
||
ds.Tables[0].Rows[i]["dealer_van_lattitude"].ToString() :
|
||
listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Latitude).FirstOrDefault();
|
||
|
||
objModel.DealerVanLongitude = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Longitude).FirstOrDefault() == null ?
|
||
ds.Tables[0].Rows[i]["dealer_van_longitude"].ToString() :
|
||
listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Longitude).FirstOrDefault(); ;
|
||
objModel.DealerVanCity = ds.Tables[0].Rows[i]["dealer_van_city"].ToString();
|
||
objModel.DealerVanState = ds.Tables[0].Rows[i]["dealer_van_state"].ToString();
|
||
objModel.DeviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
objModel.NoOfAssignedTicket = Convert.ToInt64(ds.Tables[0].Rows[i]["no_of_assigned_ticket"].ToString());
|
||
objModel.Type = ds.Tables[0].Rows[i]["_type"].ToString();
|
||
objModel.RemainingTime = ds.Tables[0].Rows[i]["remaining_time"].ToString();
|
||
objModel.DealerSCode = ds.Tables[0].Rows[i]["dealer_id"].ToString();
|
||
objModel.DealerOrVanContactNo = ds.Tables[0].Rows[i]["contact_number"].ToString();
|
||
objModel.Fuel_type = ds.Tables[0].Rows[i]["fueltype"].ToString();
|
||
|
||
}
|
||
objModel.DeviceStatus = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.DeviceStatus).FirstOrDefault() == null ?
|
||
"False" :
|
||
listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.DeviceStatus).FirstOrDefault()
|
||
;
|
||
|
||
|
||
}
|
||
|
||
objListModel.Add(objModel);
|
||
}
|
||
}
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
return objListModel;
|
||
}
|
||
return objListModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("GetVanDealerListStateWise", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
|
||
|
||
public List<VanDealerListStateWise> GetVanListDealerWise(string DealerSCode, VanDealerListStateWise model)
|
||
{
|
||
List<VanDealerListStateWise> objListModel = new List<VanDealerListStateWise>();
|
||
VanDealerListStateWise objModel = new VanDealerListStateWise();
|
||
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
objModel.Status = "1";
|
||
if (model.Fuel_type.ToLower() == "electric")
|
||
{
|
||
|
||
}
|
||
else
|
||
{
|
||
model.Fuel_type = "diesel,cng";
|
||
}
|
||
DataSet ds = new DataSet();
|
||
DataSet dsTracking = new DataSet();
|
||
//NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
//nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
//nSqlParam[1] = new NpgsqlParameter("indealer_1sCode", DealerSCode);
|
||
//nSqlParam[2] = new NpgsqlParameter("infuel_type", model.Fuel_type.ToLower());
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[5];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id ", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instate_name ", model.StateName);
|
||
nSqlParam[2] = new NpgsqlParameter("inlimit ", model.Limit);
|
||
nSqlParam[3] = new NpgsqlParameter("indealer_1sCode", model.DealerSCode);
|
||
nSqlParam[4] = new NpgsqlParameter("infuel_type", model.Fuel_type.ToLower());
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_dealer_list_state_wise_van_list_fuel_type"], nSqlParam);
|
||
string deviceAlias = "";
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
if (ds.Tables[0].Rows[i]["_type"].ToString().Trim().ToLower() == "van")
|
||
{
|
||
if (i == 0)
|
||
{
|
||
deviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
}
|
||
else
|
||
{
|
||
deviceAlias = deviceAlias + "," + ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
}
|
||
}
|
||
}
|
||
|
||
//Get device tracking log
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("indevice_alias", deviceAlias);
|
||
dsTracking = NpgSqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings["Vecv_Tracking"].ToString(), CommandType.StoredProcedure, ConfigurationManager.AppSettings["vecv_log_sp_get_current_log_devices_user_wise"], nSqlParam);
|
||
|
||
List<TrackingModel> listTracking = new List<TrackingModel>();
|
||
listTracking = dsTracking.Tables[0].AsEnumerable().Select(s => new TrackingModel
|
||
{
|
||
LogId = s.Field<Int32>("_log_id"),
|
||
DeviceAlias = s.Field<string>("_device_alias"),
|
||
Latitude = s.Field<string>("_latitude"),
|
||
Longitude = s.Field<string>("_longitude"),
|
||
LogTime = s.Field<DateTime?>("_log_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_log_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_log_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
IsConnected = s.Field<string>("_device_status"),
|
||
Xcordinate = s.Field<string>("_x_coordinate"),
|
||
Ycordinate = s.Field<string>("_y_coordinate"),
|
||
Zcordinate = s.Field<string>("_z_coordinate"),
|
||
CreationTime = s.Field<DateTime?>("_creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
DeviceStatus = s.Field<string>("_device_status")
|
||
}).ToList();
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
|
||
{
|
||
objModel = new VanDealerListStateWise();
|
||
//get dealer details.
|
||
if (ds.Tables[0].Rows[i]["_type"].ToString().Trim().ToLower() == "dealer")
|
||
{
|
||
objModel.DealerVanId = ds.Tables[0].Rows[i]["dealer_van_id"].ToString();
|
||
objModel.DealerVanName = ds.Tables[0].Rows[i]["dealer_van_name"].ToString();
|
||
objModel.DealerVanLattitude = ds.Tables[0].Rows[i]["dealer_van_lattitude"].ToString();
|
||
objModel.DealerVanLongitude = ds.Tables[0].Rows[i]["dealer_van_longitude"].ToString();
|
||
objModel.DealerVanCity = ds.Tables[0].Rows[i]["dealer_van_city"].ToString();
|
||
objModel.DealerVanState = ds.Tables[0].Rows[i]["dealer_van_state"].ToString();
|
||
objModel.DeviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
objModel.NoOfAssignedTicket = Convert.ToInt64(ds.Tables[0].Rows[i]["no_of_assigned_ticket"].ToString());
|
||
objModel.Type = ds.Tables[0].Rows[i]["_type"].ToString();
|
||
objModel.RemainingTime = ds.Tables[0].Rows[i]["remaining_time"].ToString();
|
||
objModel.DeviceStatus = "False";
|
||
objModel.DealerOrVanContactNo = ds.Tables[0].Rows[i]["contact_number"].ToString();
|
||
objModel.DealerSCode = ds.Tables[0].Rows[i]["dealer_id"].ToString();
|
||
objModel.Fuel_type = ds.Tables[0].Rows[i]["fueltype"].ToString();
|
||
|
||
}
|
||
else
|
||
{
|
||
//get van details and bind with tracking log device alias wise.
|
||
objModel.DealerVanId = ds.Tables[0].Rows[i]["dealer_van_id"].ToString();
|
||
objModel.DealerVanName = ds.Tables[0].Rows[i]["dealer_van_name"].ToString();
|
||
|
||
objModel.DealerVanLattitude = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Latitude).FirstOrDefault() == null ?
|
||
ds.Tables[0].Rows[i]["dealer_van_lattitude"].ToString() :
|
||
listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Latitude).FirstOrDefault();
|
||
|
||
objModel.DealerVanLongitude = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Longitude).FirstOrDefault() == null ?
|
||
ds.Tables[0].Rows[i]["dealer_van_longitude"].ToString() :
|
||
listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.Longitude).FirstOrDefault(); ;
|
||
|
||
objModel.DeviceStatus = listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.DeviceStatus).FirstOrDefault() == null ?
|
||
"False" :
|
||
listTracking.Where(w => w.DeviceAlias.Equals(ds.Tables[0].Rows[i]["device_alias"].ToString()))
|
||
.Select(s => s.DeviceStatus).FirstOrDefault()
|
||
;
|
||
|
||
objModel.DealerVanCity = ds.Tables[0].Rows[i]["dealer_van_city"].ToString();
|
||
objModel.DealerVanState = ds.Tables[0].Rows[i]["dealer_van_state"].ToString();
|
||
objModel.DeviceAlias = ds.Tables[0].Rows[i]["device_alias"].ToString();
|
||
objModel.NoOfAssignedTicket = Convert.ToInt64(ds.Tables[0].Rows[i]["no_of_assigned_ticket"].ToString());
|
||
objModel.Type = ds.Tables[0].Rows[i]["_type"].ToString();
|
||
objModel.RemainingTime = ds.Tables[0].Rows[i]["remaining_time"].ToString();
|
||
objModel.DealerSCode = ds.Tables[0].Rows[i]["dealer_id"].ToString();
|
||
objModel.DealerOrVanContactNo = ds.Tables[0].Rows[i]["contact_number"].ToString();
|
||
objModel.Fuel_type = ds.Tables[0].Rows[i]["fueltype"].ToString();
|
||
}
|
||
|
||
objListModel.Add(objModel);
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
return objListModel;
|
||
}
|
||
|
||
}
|
||
return objListModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("GetVanDealerListStateWise", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
public CustomerVehicleModelDBM GetwarrantyDetailsDBM(CustomerVehicleModelDBM model)
|
||
{
|
||
CustomerVehicleModelDBM objCustomerVehicleModel = new CustomerVehicleModelDBM();
|
||
|
||
try
|
||
{
|
||
|
||
objCustomerVehicleModel.Status = 1;
|
||
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
|
||
if (model.VehicleNumberPlate == null || model.VehicleNumberPlate == "")
|
||
{
|
||
}
|
||
else
|
||
{
|
||
nSqlParam[0] = new NpgsqlParameter("inchassis_number ", model.VehicleNumberPlate);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_warranty_detail_By_DBM_registration_number"], nSqlParam);
|
||
}
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
|
||
model.extended_warranty = ds.Tables[0].Rows[0]["_extended_warranty"].ToString();
|
||
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["_warranty_end_date"].ToString()))
|
||
{
|
||
// DateTime dt = DateTime.ParseExact((ds.Tables[0].Rows[0]["_vehicle_sales_date"].ToString()), "yyyymmdd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal);
|
||
model.warranty_end_date = Convert.ToDateTime(Convert.ToDateTime(ds.Tables[0].Rows[0]["_warranty_end_date"])).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]);
|
||
//dt.ToString(ConfigurationManager.AppSettings["DateFormat"]);
|
||
}
|
||
else
|
||
{
|
||
model.warranty_end_date = "";
|
||
}
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
model.Status = 0;
|
||
model.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return model;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
//objCustomerVehicleModel = new CustomerVehicleModel();
|
||
objCustomerVehicleModel.Status = 0;
|
||
objCustomerVehicleModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
||
objLog.ErrorLogFile("GetCustomerDetails", Ex.Message, path, errorlogtf);
|
||
return objCustomerVehicleModel;
|
||
}
|
||
}
|
||
/// <summary>
|
||
/// To get customer details
|
||
/// </summary>
|
||
/// <param name="model">device and ticket info</param>
|
||
/// <returns>status and customer details</returns>
|
||
public CustomerVehicleModelDBM GetCustomerDetailsDBM(CustomerVehicleModelDBM model)
|
||
{
|
||
CustomerVehicleModelDBM objCustomerVehicleModel = new CustomerVehicleModelDBM();
|
||
|
||
try
|
||
{
|
||
|
||
objCustomerVehicleModel.Status = 1;
|
||
if (model.VehicleRegistrationNumber == null)
|
||
{
|
||
model.VehicleRegistrationNumber = "";
|
||
|
||
}
|
||
if (model.VehicleNumberPlate == null)
|
||
{
|
||
|
||
model.VehicleNumberPlate = "";
|
||
}
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
if (System.Configuration.ConfigurationManager.AppSettings["isdatalakemailsend"] != "true")
|
||
{
|
||
|
||
|
||
Stopwatch stopwatch = Stopwatch.StartNew();
|
||
if (model.VehicleRegistrationNumber == null || model.VehicleRegistrationNumber == "")
|
||
{
|
||
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number ", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inchassis_number ", model.VehicleNumberPlate);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_detail_By_DBM"], nSqlParam);
|
||
stopwatch.Stop();
|
||
if (System.Configuration.ConfigurationManager.AppSettings["insecond"] != "true")
|
||
{
|
||
// if (stopwatch.Elapsed.TotalSeconds > 10)
|
||
if (stopwatch.Elapsed.TotalMilliseconds > Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["milisecondtimestamp"]))
|
||
{
|
||
sendmailDataLake();
|
||
Console.WriteLine($"Stored procedure took too long: {stopwatch.Elapsed.TotalSeconds} seconds");
|
||
}
|
||
else
|
||
{
|
||
Console.WriteLine($"Stored procedure executed in: {stopwatch.Elapsed.TotalSeconds} seconds");
|
||
}
|
||
}
|
||
else
|
||
{
|
||
// if (stopwatch.Elapsed.TotalSeconds > 10)
|
||
if (stopwatch.Elapsed.TotalMilliseconds > Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["secondtimestamp"]))
|
||
{
|
||
sendmailDataLake();
|
||
Console.WriteLine($"Stored procedure took too long: {stopwatch.Elapsed.TotalSeconds} seconds");
|
||
}
|
||
else
|
||
{
|
||
Console.WriteLine($"Stored procedure executed in: {stopwatch.Elapsed.TotalSeconds} seconds");
|
||
}
|
||
}
|
||
|
||
}
|
||
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);
|
||
stopwatch.Stop();
|
||
if (System.Configuration.ConfigurationManager.AppSettings["insecond"] != "true")
|
||
{
|
||
// if (stopwatch.Elapsed.TotalSeconds > 10)
|
||
if (stopwatch.Elapsed.TotalMilliseconds > Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["milisecondtimestamp"]))
|
||
{
|
||
sendmailDataLake();
|
||
Console.WriteLine($"Stored procedure took too long: {stopwatch.Elapsed.TotalSeconds} seconds");
|
||
}
|
||
else
|
||
{
|
||
Console.WriteLine($"Stored procedure executed in: {stopwatch.Elapsed.TotalSeconds} seconds");
|
||
}
|
||
}
|
||
else
|
||
{
|
||
// if (stopwatch.Elapsed.TotalSeconds > 10)
|
||
if (stopwatch.Elapsed.TotalSeconds > Convert.ToInt32(System.Configuration.ConfigurationManager.AppSettings["secondtimestamp"]))
|
||
{
|
||
sendmailDataLake();
|
||
Console.WriteLine($"Stored procedure took too long: {stopwatch.Elapsed.TotalSeconds} seconds");
|
||
}
|
||
else
|
||
{
|
||
Console.WriteLine($"Stored procedure executed in: {stopwatch.Elapsed.TotalSeconds} seconds");
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
if (model.VehicleRegistrationNumber == null || model.VehicleRegistrationNumber == "")
|
||
{
|
||
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number ", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inchassis_number ", model.VehicleNumberPlate);
|
||
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)
|
||
{
|
||
|
||
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.product_variant = ds.Tables[0].Rows[0]["_vertical"].ToString();
|
||
model.OdoMeterReading = ds.Tables[0].Rows[0]["_odo_meter_reading"].ToString();
|
||
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["_vehicle_sales_date"].ToString()))
|
||
{
|
||
// DateTime dt = DateTime.ParseExact((ds.Tables[0].Rows[0]["_vehicle_sales_date"].ToString()), "yyyymmdd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal);
|
||
model.VehicleSalesDate = Convert.ToDateTime(Convert.ToDateTime(ds.Tables[0].Rows[0]["_vehicle_sales_date"])).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]);
|
||
//dt.ToString(ConfigurationManager.AppSettings["DateFormat"]);
|
||
}
|
||
else
|
||
{
|
||
model.VehicleSalesDate = "";
|
||
}
|
||
|
||
|
||
|
||
|
||
model.vehicle_installation_date = ds.Tables[0].Rows[0]["_vehicle_Installation_date"].ToString();
|
||
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["_vehicle_installation_date"].ToString()))
|
||
{
|
||
// DateTime dt = DateTime.ParseExact((ds.Tables[0].Rows[0]["_vehicle_sales_date"].ToString()), "yyyymmdd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal);
|
||
model.vehicle_installation_date = Convert.ToDateTime(Convert.ToDateTime(ds.Tables[0].Rows[0]["_vehicle_installation_date"])).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]);
|
||
//dt.ToString(ConfigurationManager.AppSettings["DateFormat"]);
|
||
}
|
||
else
|
||
{
|
||
model.vehicle_installation_date = "";
|
||
}
|
||
if (model.vehicle_installation_date == "NaN NaN NaN" || model.vehicle_installation_date == "" || model.vehicle_installation_date == "null")
|
||
{
|
||
model.vehicle_installation_date = "";
|
||
}
|
||
if (model.VehicleSalesDate == "NaN NaN NaN" || model.VehicleSalesDate == "" || model.VehicleSalesDate == "null")
|
||
{
|
||
model.VehicleSalesDate = "";
|
||
}
|
||
model.VehicleEmissionNorms = ds.Tables[0].Rows[0]["_vehicle_emmision_norms"].ToString();
|
||
model.VehicleFuelType = ds.Tables[0].Rows[0]["_vehicle_fuel_type"].ToString();
|
||
model.vehicle_warranty = ds.Tables[0].Rows[0]["_vehicle_warranty"].ToString();
|
||
model.CustomerName = ds.Tables[0].Rows[0]["_customer_customer_name"].ToString();
|
||
model.CustomerMobile1 = ds.Tables[0].Rows[0]["_customer_mobile_number_1"].ToString();
|
||
// model. = 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();
|
||
model.vehicle_amc = ds.Tables[0].Rows[0]["_vehicle_amc"].ToString();
|
||
if (model.vehicle_amc.ToLower() == "active")
|
||
{
|
||
model.vehicle_amc = "yes";
|
||
model.AMCType = ds.Tables[0].Rows[0]["_vehicle_amc_type"].ToString();
|
||
model.AMCDate = ds.Tables[0].Rows[0]["_vehicle_amc_date"].ToString();
|
||
}
|
||
else
|
||
{
|
||
model.vehicle_amc = "no";
|
||
model.AMCType = "";
|
||
model.AMCDate = "";
|
||
}
|
||
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();
|
||
model.userType = "DBMDataLake";
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
|
||
model.Status = 0;
|
||
model.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return model;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
//objCustomerVehicleModel = new CustomerVehicleModel();
|
||
objCustomerVehicleModel.Status = 0;
|
||
objCustomerVehicleModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
||
objLog.ErrorLogFile("GetCustomerDetails", Ex.Message, path, errorlogtf);
|
||
return objCustomerVehicleModel;
|
||
}
|
||
}
|
||
|
||
public CustomerVehicleModelDBM GetCustomerDetailsDBMChassisNo(CustomerVehicleModelDBM model)
|
||
{
|
||
CustomerVehicleModelDBM objCustomerVehicleModel = new CustomerVehicleModelDBM();
|
||
|
||
try
|
||
{
|
||
|
||
objCustomerVehicleModel.Status = 1;
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inchassis_number ", model.VehicleNumberPlate);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_detail_by_dbm_chassis_number"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
|
||
model.VehicleRegistrationNumber = 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.product_variant = ds.Tables[0].Rows[0]["_vertical"].ToString();
|
||
model.OdoMeterReading = ds.Tables[0].Rows[0]["_odo_meter_reading"].ToString();
|
||
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["_vehicle_sales_date"].ToString()))
|
||
{
|
||
// DateTime dt = DateTime.ParseExact((ds.Tables[0].Rows[0]["_vehicle_sales_date"].ToString()), "yyyymmdd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal);
|
||
model.VehicleSalesDate = Convert.ToDateTime(Convert.ToDateTime(ds.Tables[0].Rows[0]["_vehicle_sales_date"])).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]);
|
||
//dt.ToString(ConfigurationManager.AppSettings["DateFormat"]);
|
||
}
|
||
else
|
||
{
|
||
model.VehicleSalesDate = "";
|
||
}
|
||
|
||
|
||
|
||
|
||
model.vehicle_installation_date = ds.Tables[0].Rows[0]["_vehicle_Installation_date"].ToString();
|
||
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["_vehicle_installation_date"].ToString()))
|
||
{
|
||
// DateTime dt = DateTime.ParseExact((ds.Tables[0].Rows[0]["_vehicle_sales_date"].ToString()), "yyyymmdd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal);
|
||
model.vehicle_installation_date = Convert.ToDateTime(Convert.ToDateTime(ds.Tables[0].Rows[0]["_vehicle_installation_date"])).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]);
|
||
//dt.ToString(ConfigurationManager.AppSettings["DateFormat"]);
|
||
}
|
||
else
|
||
{
|
||
model.vehicle_installation_date = "";
|
||
}
|
||
if (model.vehicle_installation_date == "NaN NaN NaN" || model.vehicle_installation_date == "" || model.vehicle_installation_date == "null")
|
||
{
|
||
model.vehicle_installation_date = "";
|
||
}
|
||
if (model.VehicleSalesDate == "NaN NaN NaN" || model.VehicleSalesDate == "" || model.VehicleSalesDate == "null")
|
||
{
|
||
model.VehicleSalesDate = "";
|
||
}
|
||
model.VehicleEmissionNorms = ds.Tables[0].Rows[0]["_vehicle_emmision_norms"].ToString();
|
||
model.VehicleFuelType = ds.Tables[0].Rows[0]["_vehicle_fuel_type"].ToString();
|
||
model.vehicle_warranty = ds.Tables[0].Rows[0]["_vehicle_warranty"].ToString();
|
||
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
string extendedarranty = objGlobalRepository.getvehicleExtendedwarranty(model.VehicleNumberPlate);
|
||
if (extendedarranty == "")
|
||
{
|
||
}
|
||
else
|
||
{
|
||
string[] tokens = extendedarranty.Split(',');
|
||
model.extended_warranty = tokens[0];
|
||
model.warranty_end_date = tokens[1];
|
||
}
|
||
string WARRANTY = "";
|
||
WARRANTY = objGlobalRepository.getvehiclewarranty(model.VehicleRegistrationNumber);
|
||
model.vehicle_warranty = WARRANTY;
|
||
model.CustomerName = ds.Tables[0].Rows[0]["_customer_customer_name"].ToString();
|
||
model.CustomerMobile1 = ds.Tables[0].Rows[0]["_customer_mobile_number_1"].ToString();
|
||
// model. = 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();
|
||
model.vehicle_amc = ds.Tables[0].Rows[0]["_vehicle_amc"].ToString();
|
||
if (model.vehicle_amc.ToLower() == "active")
|
||
{
|
||
model.vehicle_amc = "yes";
|
||
model.AMCType = ds.Tables[0].Rows[0]["_vehicle_amc_type"].ToString();
|
||
model.AMCDate = ds.Tables[0].Rows[0]["_vehicle_amc_date"].ToString();
|
||
}
|
||
else
|
||
{
|
||
model.vehicle_amc = "no";
|
||
model.AMCType = "";
|
||
model.AMCDate = "";
|
||
}
|
||
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();
|
||
model.userType = "DBMDataLake";
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
|
||
model.Status = 0;
|
||
model.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return model;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
//objCustomerVehicleModel = new CustomerVehicleModel();
|
||
objCustomerVehicleModel.Status = 0;
|
||
|
||
objCustomerVehicleModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
||
objLog.ErrorLogFile("GetCustomerDetails", Ex.Message, path, errorlogtf);
|
||
return objCustomerVehicleModel;
|
||
}
|
||
}
|
||
public string updateopenticketvalues(CustomerVehicleModelDBM model)
|
||
{
|
||
string strmessage = "";
|
||
try
|
||
{
|
||
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
|
||
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[27];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.TicketNo);
|
||
nSqlParam[1] = new NpgsqlParameter("incustomername", model.CustomerName);
|
||
nSqlParam[2] = new NpgsqlParameter("invehiclefueltype", model.VehicleFuelType);
|
||
nSqlParam[3] = new NpgsqlParameter("inVehicleModelNumber", model.VehicleModelNumber);
|
||
nSqlParam[4] = new NpgsqlParameter("incustomertype", model.CustomerType);
|
||
nSqlParam[5] = new NpgsqlParameter("inchassisnumber", model.VehicleNumberPlate);
|
||
nSqlParam[6] = new NpgsqlParameter("inInsDate", model.vehicle_installation_date);
|
||
nSqlParam[7] = new NpgsqlParameter("inwarranty", model.vehicle_warranty);
|
||
nSqlParam[8] = new NpgsqlParameter("inAMC", model.vehicle_amc);
|
||
nSqlParam[9] = new NpgsqlParameter("invehicletype", model.VehicleType);
|
||
nSqlParam[10] = new NpgsqlParameter("inVehicleSalesDate", model.VehicleSalesDate);
|
||
nSqlParam[11] = new NpgsqlParameter("inemmissionnorms", model.VehicleEmissionNorms);
|
||
nSqlParam[12] = new NpgsqlParameter("inproductvariant", model.product_variant);
|
||
nSqlParam[13] = new NpgsqlParameter("inCustomerAddress", model.CustomerAddress);
|
||
nSqlParam[14] = new NpgsqlParameter("inCustomerMobile1", model.CustomerMobile1);
|
||
nSqlParam[15] = new NpgsqlParameter("inCustomerId", model.CustomerId);
|
||
nSqlParam[16] = new NpgsqlParameter("inDrivername", model.OdoMeterReading);
|
||
nSqlParam[17] = new NpgsqlParameter("inDriverNo", model.CustomerMobile2);
|
||
nSqlParam[18] = new NpgsqlParameter("inAMCType", model.AMCType);
|
||
nSqlParam[19] = new NpgsqlParameter("inAMCDate", model.AMCDate);
|
||
nSqlParam[20] = new NpgsqlParameter("inextendedwarranty", model.extended_warranty);
|
||
nSqlParam[21] = new NpgsqlParameter("inwarantyendCDate", model.warranty_end_date);
|
||
nSqlParam[22] = new NpgsqlParameter("inusertype", model.userType);
|
||
nSqlParam[23] = new NpgsqlParameter("infuelLevelInLtr", model.fuelLevelInLtr);
|
||
nSqlParam[24] = new NpgsqlParameter("infuelLevelInPer", model.fuelLevelInPer);
|
||
nSqlParam[25] = new NpgsqlParameter("indefLevelInLtr", model.defLevelInLtr);
|
||
nSqlParam[26] = new NpgsqlParameter("inBatteryvoltage", model.BatteryVoltage);
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_ticket_open_values"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = "success";
|
||
// strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
//objCustomerVehicleModel = new CustomerVehicleModel();
|
||
objCustomerVehicleModel.Status = 0;
|
||
objCustomerVehicleModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
||
objLog.ErrorLogFile("updateopenticketvalues", Ex.Message, path, errorlogtf);
|
||
|
||
}
|
||
return strmessage;
|
||
}
|
||
public string updateopenticketvalueseps(CustomerVehicleModelDBM model)
|
||
{
|
||
string strmessage = "";
|
||
try
|
||
{
|
||
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
|
||
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[29];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.TicketNo);
|
||
nSqlParam[1] = new NpgsqlParameter("incustomername", model.CustomerName);
|
||
nSqlParam[2] = new NpgsqlParameter("invehiclefueltype", model.VehicleFuelType);
|
||
nSqlParam[3] = new NpgsqlParameter("inVehicleModelNumber", model.VehicleModelNumber);
|
||
nSqlParam[4] = new NpgsqlParameter("incustomertype", model.CustomerType);
|
||
nSqlParam[5] = new NpgsqlParameter("inchassisnumber", model.VehicleNumberPlate);
|
||
nSqlParam[6] = new NpgsqlParameter("inInsDate", model.vehicle_installation_date);
|
||
nSqlParam[7] = new NpgsqlParameter("inwarranty", model.vehicle_warranty);
|
||
nSqlParam[8] = new NpgsqlParameter("inAMC", model.vehicle_amc);
|
||
nSqlParam[9] = new NpgsqlParameter("invehicletype", model.VehicleType);
|
||
nSqlParam[10] = new NpgsqlParameter("inVehicleSalesDate", model.VehicleSalesDate);
|
||
nSqlParam[11] = new NpgsqlParameter("inemmissionnorms", model.VehicleEmissionNorms);
|
||
nSqlParam[12] = new NpgsqlParameter("inproductvariant", model.product_variant);
|
||
nSqlParam[13] = new NpgsqlParameter("inCustomerAddress", model.CustomerAddress);
|
||
nSqlParam[14] = new NpgsqlParameter("inCustomerMobile1", model.CustomerMobile1);
|
||
nSqlParam[15] = new NpgsqlParameter("inCustomerId", model.CustomerId);
|
||
nSqlParam[16] = new NpgsqlParameter("inDrivername", model.OdoMeterReading);
|
||
nSqlParam[17] = new NpgsqlParameter("inDriverNo", model.CustomerMobile2);
|
||
nSqlParam[18] = new NpgsqlParameter("inAMCType", model.AMCType);
|
||
nSqlParam[19] = new NpgsqlParameter("inAMCDate", model.AMCDate);
|
||
nSqlParam[20] = new NpgsqlParameter("inextendedwarranty", model.extended_warranty);
|
||
nSqlParam[21] = new NpgsqlParameter("inwarantyendCDate", model.warranty_end_date);
|
||
nSqlParam[22] = new NpgsqlParameter("inusertype", model.userType);
|
||
nSqlParam[23] = new NpgsqlParameter("infuelLevelInLtr", model.fuelLevelInLtr);
|
||
nSqlParam[24] = new NpgsqlParameter("infuelLevelInPer", model.fuelLevelInPer);
|
||
nSqlParam[25] = new NpgsqlParameter("indefLevelInLtr", model.defLevelInLtr);
|
||
nSqlParam[26] = new NpgsqlParameter("inBatteryvoltage", model.BatteryVoltage);
|
||
|
||
nSqlParam[27] = new NpgsqlParameter("inEngineNumber", model.Engine_number);
|
||
nSqlParam[28] = new NpgsqlParameter("inEps", model.isEPS);
|
||
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_ticket_open_values_new"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = "success";
|
||
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
||
string isSend = objTicketRepository.sendEPSNewTicketmail(model.TicketNo);
|
||
|
||
// strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
}
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
//objCustomerVehicleModel = new CustomerVehicleModel();
|
||
objCustomerVehicleModel.Status = 0;
|
||
objCustomerVehicleModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
||
objLog.ErrorLogFile("updateopenticketvalues", Ex.Message, path, errorlogtf);
|
||
|
||
}
|
||
return strmessage;
|
||
}
|
||
|
||
|
||
|
||
public string updateDummyopenticketvalues(CustomerVehicleModelDBM model)
|
||
{
|
||
string strmessage = "";
|
||
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
try
|
||
{
|
||
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[19];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.TicketNo);
|
||
nSqlParam[1] = new NpgsqlParameter("incustomername", model.CustomerName);
|
||
nSqlParam[2] = new NpgsqlParameter("invehiclefueltype", model.VehicleFuelType);
|
||
nSqlParam[3] = new NpgsqlParameter("inVehicleModelNumber", model.VehicleModelNumber);
|
||
nSqlParam[4] = new NpgsqlParameter("incustomertype", model.CustomerType);
|
||
nSqlParam[5] = new NpgsqlParameter("inchassisnumber", model.VehicleNumberPlate);
|
||
nSqlParam[6] = new NpgsqlParameter("inInsDate", model.vehicle_installation_date);
|
||
nSqlParam[7] = new NpgsqlParameter("inwarranty", model.vehicle_warranty);
|
||
nSqlParam[8] = new NpgsqlParameter("inAMC", model.vehicle_amc);
|
||
nSqlParam[9] = new NpgsqlParameter("invehicletype", model.VehicleType);
|
||
nSqlParam[10] = new NpgsqlParameter("inVehicleSalesDate", model.VehicleSalesDate);
|
||
nSqlParam[11] = new NpgsqlParameter("inemmissionnorms", model.VehicleEmissionNorms);
|
||
nSqlParam[12] = new NpgsqlParameter("inproductvariant", model.product_variant);
|
||
nSqlParam[13] = new NpgsqlParameter("inCustomerAddress", model.CustomerAddress);
|
||
nSqlParam[14] = new NpgsqlParameter("inCustomerMobile1", model.CustomerMobile1);
|
||
nSqlParam[15] = new NpgsqlParameter("inCustomerId", model.CustomerId);
|
||
nSqlParam[16] = new NpgsqlParameter("inDrivername", model.OdoMeterReading);
|
||
nSqlParam[17] = new NpgsqlParameter("inDriverNo", model.CustomerMobile2);
|
||
nSqlParam[18] = new NpgsqlParameter("inStateName", model.CustomerState);
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_Dummy_ticket_open_values"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = "success";
|
||
// strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
|
||
}
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
objLog.ErrorLogFile("updateDummyopenticketvalues", ex.Message, path, errorlogtf);
|
||
}
|
||
|
||
|
||
}
|
||
|
||
return strmessage;
|
||
}
|
||
|
||
public CustomerModelDBM getTicketInfo(string Token, string ticketID, string OpenCloseStatus)
|
||
{
|
||
CustomerModelDBM objModel = new CustomerModelDBM();
|
||
objAuthorization = new AuthenticationRepository();
|
||
try
|
||
{
|
||
if (objAuthorization.AuthenticateDevice(Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", ticketID);
|
||
|
||
if (OpenCloseStatus == "open")
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_additional_details_ticket_wise"], nSqlParam);
|
||
}
|
||
else if (OpenCloseStatus == "close")
|
||
{
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_additional_details_closed_ticket_wise"], nSqlParam);
|
||
}
|
||
|
||
objModel.DriverName = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_driver_name")).FirstOrDefault();
|
||
objModel.DriverNumber = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_driver_mobile_number")).FirstOrDefault();
|
||
objModel.CustomerMobileNumber1 = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_owner_number")).FirstOrDefault();
|
||
objModel.CustomerAddress = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_owner_Location")).FirstOrDefault();
|
||
objModel.CustomerType = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_customer_type")).FirstOrDefault(); //added on 15-01-2021
|
||
objModel.CustomerId = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_customer_id")).FirstOrDefault(); //added on 15-01-2021
|
||
objModel.CustomerAlias = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_owner_name")).FirstOrDefault(); //added on 15-01-2021
|
||
objModel.RegistrationNumber = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_registration_number")).FirstOrDefault();
|
||
objModel.VehicleInstallationDate = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_vehicle_installation_date")).FirstOrDefault();
|
||
if (objModel.VehicleInstallationDate == "NaN NaN NaN" || objModel.VehicleInstallationDate == "" || objModel.VehicleInstallationDate == "null")
|
||
{
|
||
objModel.VehicleInstallationDate = "-";
|
||
}
|
||
objModel.VehicleType = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_vehicle_type")).FirstOrDefault();
|
||
// objModel.VehicleInstallationDate = Convert.ToDateTime(objModel.VehicleInstallationDate).ToShortDateString(); objModel.VehicleType = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_vehicle_type")).FirstOrDefault();
|
||
objModel.VehicleModelNumber = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_vehicle_model")).FirstOrDefault();
|
||
objModel.VehicleAMC = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_vehicle_amc")).FirstOrDefault();
|
||
objModel.VehicleWarranty = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_vehicle_warranty")).FirstOrDefault();
|
||
objModel.VehicleSalesDate = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_vehicle_sales_date")).FirstOrDefault();
|
||
|
||
if (objModel.VehicleSalesDate == "NaN NaN NaN" || objModel.VehicleSalesDate == "" || objModel.VehicleSalesDate == "null")
|
||
{
|
||
objModel.VehicleSalesDate = "-";
|
||
}
|
||
//else
|
||
//{
|
||
// objModel.VehicleSalesDate = Convert.ToDateTime(objModel.VehicleSalesDate).ToShortDateString();
|
||
//}
|
||
objModel.VehicleEmissionNorms = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_vehicle_emission_norms")).FirstOrDefault();
|
||
objModel.VehicleNumberPlate = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_chassis_no")).FirstOrDefault();
|
||
objModel.ProductVariant = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_product_variant")).FirstOrDefault();
|
||
objModel.VehicleAMCDate = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_amc_date")).FirstOrDefault();
|
||
objModel.VehicleAMCDate = Convert.ToDateTime(objModel.VehicleAMCDate).ToShortDateString();
|
||
objModel.VehicleAMCType = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_amc_type")).FirstOrDefault();
|
||
objModel.ExtendedWarranty = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_extended_warranty")).FirstOrDefault();
|
||
// objModel.VehicleAMCDate = Convert.ToDateTime(objModel.VehicleAMCDate).ToShortDateString();
|
||
objModel.WarrantyEndDate = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_warranty_end_date")).FirstOrDefault();
|
||
objModel.fuelLevelInLtr = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_fuelLevelInLtr")).FirstOrDefault();
|
||
objModel.fuelLevelInPer = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_fuelLevelInPer")).FirstOrDefault();
|
||
objModel.defLevelInLtr = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_defLevelInLtr")).FirstOrDefault();
|
||
objModel.BatteryVoltage = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_battery_voltage")).FirstOrDefault();
|
||
objModel.KamName = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_kam_name")).FirstOrDefault();
|
||
objModel.KamNo = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_kam_no")).FirstOrDefault();
|
||
objModel.FleetManagerName = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_fleet_mananger_name")).FirstOrDefault();
|
||
objModel.FleetManagerNo = ds.Tables[0].AsEnumerable().Select(s => s.Field<string>("_fleet_manager_no")).FirstOrDefault();
|
||
}
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
// write error log into file
|
||
objLog.ErrorLogFile("GetCustomerOpenTicketFullDetailTicketWise_Controller", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
return objModel;
|
||
}
|
||
|
||
|
||
/// To get customer close ticket details
|
||
/// </summary>
|
||
/// <param name="model">customer info</param>
|
||
/// <returns>customer close ticket details</returns>
|
||
public string GetCustomerCloseTicketDetailCount(CustomerCloseTicketDetail model)
|
||
{
|
||
string count = "";
|
||
try
|
||
{
|
||
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", model.VehicleRegisterNumber);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", model.CustomerContactNo);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_close_ticket_details_new"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
count = ds.Tables[0].Rows.Count.ToString();
|
||
}
|
||
else
|
||
{
|
||
count = "0";
|
||
|
||
}
|
||
return count;
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetCustomerCloseTicketDetail", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
return count;
|
||
}
|
||
|
||
public string GetVehicleTypeByModelNumber(string modelNo)
|
||
{
|
||
string strmessage = "";
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("in_model_number", modelNo);
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_vehicle_type_by_model_no"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = Convert.ToString(ds.Tables[0].Rows[0]["sp_get_vehicle_type_by_model_no"]);
|
||
// strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
|
||
return strmessage;
|
||
}
|
||
|
||
|
||
public string GetDummyTicketByTicketId(string registrationNumber)
|
||
{
|
||
string strmessage = "";
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("in_registration_number", registrationNumber);
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dummy_id_by_reg_no"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = Convert.ToString(ds.Tables[0].Rows[0]["sp_get_dummy_id_by_reg_no"]);
|
||
// strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
|
||
return strmessage;
|
||
}
|
||
|
||
public string GetChassisNoByRegno(string registrationNumber)
|
||
{
|
||
string strmessage = "";
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("in_registration_number", registrationNumber);
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_chassis_no_by_reg_no"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = Convert.ToString(ds.Tables[0].Rows[0]["sp_get_chassis_no_by_reg_no"]);
|
||
// strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
|
||
return strmessage;
|
||
}
|
||
/// <summary>
|
||
/// To get customer close ticket details
|
||
/// </summary>
|
||
/// <param name="model">customer info</param>
|
||
/// <returns>customer close ticket details</returns>
|
||
public List<CustomerCloseTicketDetail> GetCustomerCloseTicketDetailTopTen(CustomerCloseTicketDetail model)
|
||
{
|
||
List<CustomerCloseTicketDetail> objListTicketModel = new List<CustomerCloseTicketDetail>();
|
||
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
if (model.isEPS == true)
|
||
{
|
||
DataSet ds = new DataSet();
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[4];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", model.VehicleRegisterNumber ?? "");
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", model.CustomerContactNo ?? "");
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId ?? "");
|
||
nSqlParam[3] = new NpgsqlParameter("inenginenumber", model.Engine_Number ?? "");
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_close_ticket_details_Top_Ten_EPS"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objListTicketModel = ds.Tables[0].AsEnumerable().Select(s => new CustomerCloseTicketDetail
|
||
{
|
||
TicketId = s.Field<string>("ticket_id"),
|
||
Description = s.Field<string>("description"),
|
||
AssignedTo = s.Field<string>("assigned_to"),
|
||
ReportedVia = s.Field<string>("reported_via"),
|
||
TicketStatus = s.Field<int?>("ticket_status"),
|
||
Priority = s.Field<int?>("priority"),
|
||
CustomerScore = s.Field<string>("customer_score"),
|
||
CreatedBy = s.Field<string>("created_by"),
|
||
CreationTime = s.Field<DateTime?>("creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
LastModifiedBy = s.Field<string>("last_modified_by"),
|
||
LastModifiedTime = s.Field<DateTime?>("last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
BreakdownLocation = s.Field<string>("breakdown_location"),
|
||
BreakdownLongitude = s.Field<string>("breakdown_longitude"),
|
||
BreakdownLattitude = s.Field<string>("breakdown_lattitude"),
|
||
AssignedToUserId = s.Field<string>("assigned_to_user_id"),
|
||
AssignedToUserLattitude = s.Field<string>("assigned_to_user_lattitude"),
|
||
AssignedToUserLongitude = s.Field<string>("assigned_to_user_longitude"),
|
||
Isdeclined = s.Field<Boolean?>("isdeclined"),
|
||
EstimatedTimeForJobCompletion = s.Field<int?>("estimated_time_for_job_completion"),
|
||
TotalTicketLifecycleTimeSla = s.Field<int?>("total_ticket_lifecycle_time_sla"),
|
||
EstimatedTimeForJobCompletionSubmitTime = s.Field<DateTime?>("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
VehicleRegisterNumber = s.Field<string>("vehicle_register_number"),
|
||
BreakdownLocationLandmark = s.Field<string>("breakdown_location_landmark"),
|
||
RouteId = s.Field<int?>("route_id"),
|
||
CustomerContactNo = s.Field<string>("customer_contact_no"),
|
||
TicketStatusAlias = s.Field<string>("ticket_status_alias"),
|
||
RepairCost = s.Field<string>("repair_cost"),
|
||
DefaultSlaTime = s.Field<int?>("default_sla_time"),
|
||
SlaMissedReason = s.Field<string>("sla_missed_reason"),
|
||
SuggestionComment = s.Field<string>("suggestion_comment"),
|
||
JobCompleteResponseTime = s.Field<string>("default_col_1"),
|
||
DefaultCol2 = s.Field<string>("default_col_2"),
|
||
DefaultCol3 = s.Field<string>("default_col_3"),
|
||
TotalTicketCloseHours = Convert.ToDouble(s.Field<string>("within_24hrs_or_not")),
|
||
FeedBackAgenName = s.Field<string>("feedback_agent"),
|
||
ReasonBeyond24Hrs = s.Field<string>("reason_for_more_then_24hours"),
|
||
CallStatus = s.Field<string>("call_status"),
|
||
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
|
||
van_reached_punch_time = s.Field<DateTime?>("_van_reached_punch_time") == null ? "" : (s.Field<DateTime>("_van_reached_punch_time").ToString("yyyy-MM-dd" + "T" + "HH:mm")) //added on 23-12-2020
|
||
}).ToList();
|
||
}
|
||
}
|
||
|
||
else
|
||
{
|
||
DataSet ds = new DataSet();
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", model.VehicleRegisterNumber);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", model.CustomerContactNo);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_close_ticket_details_Top_Ten"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objListTicketModel = ds.Tables[0].AsEnumerable().Select(s => new CustomerCloseTicketDetail
|
||
{
|
||
TicketId = s.Field<string>("ticket_id"),
|
||
Description = s.Field<string>("description"),
|
||
AssignedTo = s.Field<string>("assigned_to"),
|
||
ReportedVia = s.Field<string>("reported_via"),
|
||
TicketStatus = s.Field<int?>("ticket_status"),
|
||
Priority = s.Field<int?>("priority"),
|
||
CustomerScore = s.Field<string>("customer_score"),
|
||
CreatedBy = s.Field<string>("created_by"),
|
||
CreationTime = s.Field<DateTime?>("creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
LastModifiedBy = s.Field<string>("last_modified_by"),
|
||
LastModifiedTime = s.Field<DateTime?>("last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("last_modified_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
BreakdownLocation = s.Field<string>("breakdown_location"),
|
||
BreakdownLongitude = s.Field<string>("breakdown_longitude"),
|
||
BreakdownLattitude = s.Field<string>("breakdown_lattitude"),
|
||
AssignedToUserId = s.Field<string>("assigned_to_user_id"),
|
||
AssignedToUserLattitude = s.Field<string>("assigned_to_user_lattitude"),
|
||
AssignedToUserLongitude = s.Field<string>("assigned_to_user_longitude"),
|
||
Isdeclined = s.Field<Boolean?>("isdeclined"),
|
||
EstimatedTimeForJobCompletion = s.Field<int?>("estimated_time_for_job_completion"),
|
||
TotalTicketLifecycleTimeSla = s.Field<int?>("total_ticket_lifecycle_time_sla"),
|
||
EstimatedTimeForJobCompletionSubmitTime = s.Field<DateTime?>("estimated_time_for_job_completion_submit_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("estimated_time_for_job_completion_submit_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
VehicleRegisterNumber = s.Field<string>("vehicle_register_number"),
|
||
BreakdownLocationLandmark = s.Field<string>("breakdown_location_landmark"),
|
||
RouteId = s.Field<int?>("route_id"),
|
||
CustomerContactNo = s.Field<string>("customer_contact_no"),
|
||
TicketStatusAlias = s.Field<string>("ticket_status_alias"),
|
||
RepairCost = s.Field<string>("repair_cost"),
|
||
DefaultSlaTime = s.Field<int?>("default_sla_time"),
|
||
SlaMissedReason = s.Field<string>("sla_missed_reason"),
|
||
SuggestionComment = s.Field<string>("suggestion_comment"),
|
||
JobCompleteResponseTime = s.Field<string>("default_col_1"),
|
||
DefaultCol2 = s.Field<string>("default_col_2"),
|
||
DefaultCol3 = s.Field<string>("default_col_3"),
|
||
TotalTicketCloseHours = Convert.ToDouble(s.Field<string>("within_24hrs_or_not")),
|
||
FeedBackAgenName = s.Field<string>("feedback_agent"),
|
||
ReasonBeyond24Hrs = s.Field<string>("reason_for_more_then_24hours"),
|
||
CallStatus = s.Field<string>("call_status"),
|
||
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
|
||
van_reached_punch_time = s.Field<DateTime?>("_van_reached_punch_time") == null ? "" : (s.Field<DateTime>("_van_reached_punch_time").ToString("yyyy-MM-dd" + "T" + "HH:mm")) //added on 23-12-2020
|
||
}).ToList();
|
||
}
|
||
}
|
||
}
|
||
|
||
return objListTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetCustomerCloseTicketDetail", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// This is used to delete dummy save ticket details
|
||
/// </summary>
|
||
/// <param name="model">Input paramter to delete particular vehicle saved ticket</param>
|
||
/// <returns>Message and Status</returns>
|
||
|
||
|
||
|
||
/// <summary>
|
||
/// To get customer details
|
||
/// </summary>
|
||
/// <param name="model">device and ticket info</param>
|
||
/// <returns>status and customer details</returns>
|
||
public CustomerVehicleModelDBM GetSaveTicketDetails(CustomerVehicleModelDBM model)
|
||
{
|
||
CustomerVehicleModelDBM objCustomerVehicleModel = new CustomerVehicleModelDBM();
|
||
|
||
try
|
||
{
|
||
|
||
objCustomerVehicleModel.Status = 1;
|
||
if (model.VehicleRegistrationNumber == null)
|
||
{
|
||
model.VehicleRegistrationNumber = "";
|
||
|
||
}
|
||
if (model.VehicleNumberPlate == null)
|
||
{
|
||
|
||
model.VehicleNumberPlate = "";
|
||
}
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number ", model.VehicleRegistrationNumber);
|
||
nSqlParam[1] = new NpgsqlParameter("inchassis_number ", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_dummy_open_ticket"], 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.product_variant = ds.Tables[0].Rows[0]["_vertical"].ToString();
|
||
model.OdoMeterReading = ds.Tables[0].Rows[0]["_odo_meter_reading"].ToString();
|
||
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["_vehicle_sales_date"].ToString()))
|
||
{
|
||
// DateTime dt = DateTime.ParseExact((ds.Tables[0].Rows[0]["_vehicle_sales_date"].ToString()), "yyyymmdd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal);
|
||
model.VehicleSalesDate = Convert.ToDateTime(Convert.ToDateTime(ds.Tables[0].Rows[0]["_vehicle_sales_date"])).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]);
|
||
//dt.ToString(ConfigurationManager.AppSettings["DateFormat"]);
|
||
}
|
||
else
|
||
{
|
||
model.VehicleSalesDate = "";
|
||
}
|
||
|
||
|
||
model.vehicle_installation_date = ds.Tables[0].Rows[0]["_vehicle_Installation_date"].ToString();
|
||
if (!string.IsNullOrEmpty(ds.Tables[0].Rows[0]["_vehicle_installation_date"].ToString()))
|
||
{
|
||
// DateTime dt = DateTime.ParseExact((ds.Tables[0].Rows[0]["_vehicle_sales_date"].ToString()), "yyyymmdd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal);
|
||
model.vehicle_installation_date = Convert.ToDateTime(Convert.ToDateTime(ds.Tables[0].Rows[0]["_vehicle_installation_date"])).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]);
|
||
//dt.ToString(ConfigurationManager.AppSettings["DateFormat"]);
|
||
}
|
||
else
|
||
{
|
||
model.vehicle_installation_date = "";
|
||
}
|
||
model.VehicleEmissionNorms = ds.Tables[0].Rows[0]["_vehicle_emmision_norms"].ToString();
|
||
model.VehicleFuelType = ds.Tables[0].Rows[0]["_vehicle_fuel_type"].ToString();
|
||
// model.vehicle_warranty = ds.Tables[0].Rows[0]["_vehicle_warranty"].ToString();
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
string extendedarranty = objGlobalRepository.getvehicleExtendedwarranty(model.VehicleNumberPlate);
|
||
if (extendedarranty == "")
|
||
{
|
||
}
|
||
else
|
||
{
|
||
string[] tokens = extendedarranty.Split(',');
|
||
model.extended_warranty = tokens[0];
|
||
model.warranty_end_date = tokens[1];
|
||
}
|
||
string WARRANTY = "";
|
||
WARRANTY = objGlobalRepository.getvehiclewarranty(model.VehicleRegistrationNumber);
|
||
model.vehicle_warranty = WARRANTY;
|
||
model.CustomerName = ds.Tables[0].Rows[0]["_customer_customer_name"].ToString();
|
||
model.CustomerMobile1 = ds.Tables[0].Rows[0]["_customer_mobile_number_1"].ToString();
|
||
// model. = 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();
|
||
model.vehicle_amc = ds.Tables[0].Rows[0]["_vehicle_amc"].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.Status = 0;
|
||
model.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return model;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
//objCustomerVehicleModel = new CustomerVehicleModel();
|
||
objCustomerVehicleModel.Status = 0;
|
||
objCustomerVehicleModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
||
objLog.ErrorLogFile("GetCustomerDetails", Ex.Message, path, errorlogtf);
|
||
return objCustomerVehicleModel;
|
||
}
|
||
}
|
||
|
||
|
||
public string insertPaymentDetails(PaymentDetailsModel model)
|
||
{
|
||
string strmessage = "";
|
||
try
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
if (Convert.ToInt32(model.Amount.Trim()) > 0)
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[9];
|
||
|
||
// nSqlParam[0] = new NpgsqlParameter("inpayment_date", model.payment_date != null ? Convert.ToDateTime(model.payment_date).AddMinutes(UtcMinute) : model.payment_date);
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam[1] = new NpgsqlParameter("inticketid_alias", model.TicketId_Alias);
|
||
nSqlParam[2] = new NpgsqlParameter("increated_by", model.Created_By);
|
||
nSqlParam[3] = new NpgsqlParameter("inpayment_date", model.payment_date.AddMinutes(Convert.ToInt32(-model.UtcMinutes)));
|
||
nSqlParam[4] = new NpgsqlParameter("incustomer_name", model.CustomerName);
|
||
nSqlParam[5] = new NpgsqlParameter("incustomer_mobile_number", model.CustomerMobileNumber);
|
||
nSqlParam[6] = new NpgsqlParameter("inmode_of_payment", model.ModeOfPayment);
|
||
nSqlParam[7] = new NpgsqlParameter("inamount", model.Amount);
|
||
nSqlParam[8] = new NpgsqlParameter("inamount", model.remarks);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_payment_detail"], nSqlParam);
|
||
strmessage = "Payment detail successfully saved";
|
||
}
|
||
else
|
||
{
|
||
strmessage = "Please enter correct amount";
|
||
}
|
||
|
||
|
||
}
|
||
else
|
||
{
|
||
|
||
strmessage = "Fail ";
|
||
}
|
||
return strmessage;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("TicketRepository insertPaymentDetails", Ex.Message, path, errorlogtf);
|
||
|
||
strmessage = "Catch exception";
|
||
return strmessage;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
public List<PaymentDetailsModel> GetPaymentDetailsHistory(PaymentDetailsModel model)
|
||
{
|
||
List<PaymentDetailsModel> objTicketModel = new List<PaymentDetailsModel>();
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
|
||
DataSet dsClose = new DataSet();
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
|
||
|
||
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number ", model.TicketId);
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_payment_detail"], nSqlParam);
|
||
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
objTicketModel = dsOpen.Tables[0].AsEnumerable().Select(s => new PaymentDetailsModel
|
||
{
|
||
TicketId = s.Field<string>("ticket_id"),
|
||
TicketId_Alias = s.Field<string>("ticketid_alias"),
|
||
CustomerMobileNumber = s.Field<string>("customer_mobile_number"),
|
||
CustomerName = s.Field<string>("customer_name"),
|
||
ModeOfPayment = s.Field<string>("mode_of_payment"),
|
||
remarks = (s.Field<string>("remarks")),
|
||
Amount = s.Field<string>("amount"),
|
||
Created_By = s.Field<string>("created_by"),
|
||
payment_date = (s.Field<DateTime>("payment_date")),
|
||
DateAlias = s.Field<string>("date_alias"),
|
||
RegistrationNumber = s.Field<string>("Registration_number"),
|
||
DealerName = s.Field<string>("_dealer_name"),
|
||
TimeAlias = s.Field<string>("time_alias"),
|
||
Created_By_type = s.Field<string>("created_by_type"),
|
||
addstatus = s.Field<string>("addstatus"),
|
||
|
||
|
||
}).ToList();
|
||
}
|
||
}
|
||
return objTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetCustomerOpenTicketHistory", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
public List<PaymentDetailsModel> GetAllPaymentDetailsHistory()
|
||
{
|
||
List<PaymentDetailsModel> objTicketModel = new List<PaymentDetailsModel>();
|
||
try
|
||
{
|
||
|
||
DataSet dsClose = new DataSet();
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[0];
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_all_payment_detail"], nSqlParam);
|
||
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
objTicketModel = dsOpen.Tables[0].AsEnumerable().Select(s => new PaymentDetailsModel
|
||
{
|
||
TicketId = s.Field<string>("ticket_id"),
|
||
TicketId_Alias = s.Field<string>("ticketid_alias"),
|
||
CustomerMobileNumber = s.Field<string>("customer_mobile_number"),
|
||
CustomerName = s.Field<string>("customer_name"),
|
||
ModeOfPayment = s.Field<string>("mode_of_payment"),
|
||
remarks = (s.Field<string>("remarks")),
|
||
Amount = s.Field<string>("amount"),
|
||
Created_By = s.Field<string>("created_by"),
|
||
payment_date = (s.Field<DateTime>("payment_date")),
|
||
DateAlias = s.Field<string>("date_alias"),
|
||
TimeAlias = s.Field<string>("time_alias"),
|
||
Created_By_type = s.Field<string>("created_by_type"),
|
||
addstatus = s.Field<string>("addstatus"),
|
||
|
||
|
||
}).ToList();
|
||
}
|
||
|
||
return objTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository GetAllPaymentDetailsHistory", Ex.Message, path, errorlogtf);
|
||
}
|
||
|
||
return objTicketModel;
|
||
}
|
||
|
||
public List<SVCDetails> GetAllSVCDeatils()
|
||
{
|
||
List<SVCDetails> objTicketModel = new List<SVCDetails>();
|
||
try
|
||
{
|
||
|
||
DataSet dsClose = new DataSet();
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[0];
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_SVC_data"], nSqlParam);
|
||
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
objTicketModel = dsOpen.Tables[0].AsEnumerable().Select(s => new SVCDetails
|
||
{
|
||
CustomerNumber = s.Field<string>("_customer_number"),
|
||
Address = s.Field<string>("_address"),
|
||
oemName = s.Field<string>("_eom_name"),
|
||
CustomerName = s.Field<string>("_customer_name"),
|
||
CreatedBy = s.Field<string>("_created_by"),
|
||
isoem = (s.Field<string>("_iseom")),
|
||
creation_time = (s.Field<string>("creation_date")),
|
||
|
||
Quantity = (s.Field<string>("_quantity")),
|
||
}).ToList();
|
||
}
|
||
|
||
return objTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository GetAllSVCDeatils", Ex.Message, path, errorlogtf);
|
||
}
|
||
|
||
return objTicketModel;
|
||
}
|
||
|
||
public List<AccidentalDetails> GetAllAccidentalDetails()
|
||
{
|
||
List<AccidentalDetails> objTicketModel = new List<AccidentalDetails>();
|
||
try
|
||
{
|
||
|
||
DataSet dsClose = new DataSet();
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[0];
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_accidental_data"], nSqlParam);
|
||
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
objTicketModel = dsOpen.Tables[0].AsEnumerable().Select(s => new AccidentalDetails
|
||
{
|
||
CustomerNumber = s.Field<string>("_customer_number"),
|
||
Location = s.Field<string>("_address"),
|
||
Dealer_Connect = s.Field<string>("_dealer_connect"),
|
||
CustomerName = s.Field<string>("_customer_name"),
|
||
CreatedBy = s.Field<string>("_created_by"),
|
||
isdealersupportrequired = (s.Field<string>("_isdealersupportrequired")),
|
||
isabulancesupportrequired = (s.Field<string>("_isabulancesupportrequired")),
|
||
creation_time = (s.Field<string>("creation_date")),
|
||
Registration_number = (s.Field<string>("_vehicle_registration_number")),
|
||
}).ToList();
|
||
}
|
||
|
||
|
||
|
||
return objTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository AccidentalDetails", Ex.Message, path, errorlogtf);
|
||
}
|
||
|
||
return objTicketModel;
|
||
}
|
||
|
||
|
||
public List<EPSSalesDetails> GetAllEPSSalesDetails()
|
||
{
|
||
List<EPSSalesDetails> objTicketModel = new List<EPSSalesDetails>();
|
||
try
|
||
{
|
||
|
||
DataSet dsClose = new DataSet();
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[0];
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_eps_sales_data"], nSqlParam);
|
||
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
objTicketModel = dsOpen.Tables[0].AsEnumerable().Select(s => new EPSSalesDetails
|
||
{
|
||
CustomerNumber = s.Field<string>("_customer_number"),
|
||
Location = s.Field<string>("_address"),
|
||
Qunatity = s.Field<string>("_quantity"),
|
||
CustomerName = s.Field<string>("_customer_name"),
|
||
CreatedBy = s.Field<string>("_created_by"),
|
||
ProductType = (s.Field<string>("_producttype")),
|
||
creation_time = (s.Field<string>("creation_date")),
|
||
|
||
}).ToList();
|
||
}
|
||
|
||
|
||
|
||
return objTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository GetAllEPSSalesDetails", Ex.Message, path, errorlogtf);
|
||
}
|
||
|
||
return objTicketModel;
|
||
}
|
||
public ReportRequestModel GetAllDealerDetails()
|
||
{
|
||
ReportRequestModel detailVecvCalculation = new ReportRequestModel();
|
||
List<DealerReport> vecvCalculationList = new List<DealerReport>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[0];
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_all_dealer_detail"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
vecvCalculationList = ds.Tables[0].AsEnumerable().Select(s => new DealerReport
|
||
{
|
||
Dealer1Scode = s.Field<string>("_id"),
|
||
DealerName = s.Field<string>("_name"),
|
||
State = s.Field<string>("_state"),
|
||
City = s.Field<string>("_city"),
|
||
Longitude = s.Field<string>("_longitude"),
|
||
Organisation = s.Field<string>("_organisation"),
|
||
FuelType = s.Field<string>("_fueltype"),
|
||
Latitude = s.Field<string>("_latitude"),
|
||
AppVersion = s.Field<string>("_app_version"),
|
||
}).ToList();
|
||
}
|
||
detailVecvCalculation.DelearList = vecvCalculationList;
|
||
detailVecvCalculation.Status = "1";
|
||
|
||
|
||
return detailVecvCalculation;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("GetDealerOpenTicketDetail", ex.Message, this.path, this.errorlogtf);
|
||
return detailVecvCalculation;
|
||
}
|
||
}
|
||
|
||
public ReportRequestModel GetAllVanDetails()
|
||
{
|
||
ReportRequestModel detailVecvCalculation = new ReportRequestModel();
|
||
List<VanReport> vecvCalculationList = new List<VanReport>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[0];
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_all_van_detail"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
vecvCalculationList = ds.Tables[0].AsEnumerable().Select(s => new VanReport
|
||
{
|
||
Dealer1Scode = s.Field<string>("_id"),
|
||
DealerName = s.Field<string>("_name"),
|
||
State = s.Field<string>("_state"),
|
||
City = s.Field<string>("_city"),
|
||
LicenseKey = s.Field<string>("_licenseKey"),
|
||
MobileNumber = s.Field<string>("_mobileNumber"),
|
||
VanStatus = s.Field<string>("_vanStatus"),
|
||
FuelType = s.Field<string>("_fueltype"),
|
||
TechnicianName = s.Field<string>("_technicianName"),
|
||
RegistrationNumber = s.Field<string>("_registrationNumber"),
|
||
AppVersion = s.Field<string>("_app_version"),
|
||
|
||
}).ToList();
|
||
}
|
||
|
||
detailVecvCalculation.VanList = vecvCalculationList;
|
||
detailVecvCalculation.Status = "1";
|
||
|
||
|
||
return detailVecvCalculation;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("GetDealerOpenTicketDetail", ex.Message, this.path, this.errorlogtf);
|
||
return detailVecvCalculation;
|
||
}
|
||
}
|
||
public List<PaymentDropDown> getPaymentDropDown()
|
||
{
|
||
List<PaymentDropDown> objTicketModel = new List<PaymentDropDown>();
|
||
try
|
||
{
|
||
|
||
DataSet dsdropdown = new DataSet();
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[0];
|
||
dsdropdown = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_payment_drop_down"], nSqlParam);
|
||
|
||
if (dsdropdown.Tables[0].Rows.Count > 0)
|
||
{
|
||
objTicketModel = dsdropdown.Tables[0].AsEnumerable().Select(s => new PaymentDropDown
|
||
{
|
||
Id = s.Field<Int32>("_id"),
|
||
Name = s.Field<string>("_payment_option_name"),
|
||
|
||
}).ToList();
|
||
}
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository getPaymentDropDown", Ex.Message, path, errorlogtf);
|
||
|
||
}
|
||
return objTicketModel;
|
||
}
|
||
|
||
public List<PaymentDropDown> getDelayReasonDropDown()
|
||
{
|
||
List<PaymentDropDown> objTicketModel = new List<PaymentDropDown>();
|
||
try
|
||
{
|
||
|
||
DataSet dsdropdown = new DataSet();
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[0];
|
||
dsdropdown = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_delay_reason_drop_down"], nSqlParam);
|
||
|
||
if (dsdropdown.Tables[0].Rows.Count > 0)
|
||
{
|
||
objTicketModel = dsdropdown.Tables[0].AsEnumerable().Select(s => new PaymentDropDown
|
||
{
|
||
Id = s.Field<Int32>("_id"),
|
||
Name = s.Field<string>("_delay_reason_name"),
|
||
|
||
}).ToList();
|
||
}
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository getDelayReasonDropDown", Ex.Message, path, errorlogtf);
|
||
|
||
}
|
||
return objTicketModel;
|
||
}
|
||
public List<PaymentDropDown> getPreClosureDropDown()
|
||
{
|
||
List<PaymentDropDown> objTicketModel = new List<PaymentDropDown>();
|
||
try
|
||
{
|
||
|
||
DataSet dsdropdown = new DataSet();
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[0];
|
||
dsdropdown = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_preclosure_drop_down"], nSqlParam);
|
||
|
||
if (dsdropdown.Tables[0].Rows.Count > 0)
|
||
{
|
||
objTicketModel = dsdropdown.Tables[0].AsEnumerable().Select(s => new PaymentDropDown
|
||
{
|
||
Id = s.Field<Int32>("_id"),
|
||
Name = s.Field<string>("_payment_option_name"),
|
||
|
||
}).ToList();
|
||
}
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository getPaymentDropDown", Ex.Message, path, errorlogtf);
|
||
|
||
}
|
||
return objTicketModel;
|
||
}
|
||
|
||
|
||
|
||
public string GetTicketdetailsByTicketId(string TicketId)
|
||
{
|
||
string ticketstatus = "";
|
||
try
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[1];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", TicketId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_Ticketalias_By_TicketId"], nSqlParam1);
|
||
|
||
if (ds.Tables[0].Rows[0]["ticket_status_alias"].ToString().Trim() != null && ds.Tables[0].Rows[0]["ticket_status_alias"].ToString().Trim() != "")
|
||
{
|
||
|
||
|
||
ticketstatus = ds.Tables[0].Rows[0]["ticket_status_alias"].ToString();
|
||
|
||
|
||
|
||
}
|
||
return ticketstatus;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
// write error log into file
|
||
// objticketModel.Status = "0";
|
||
// objticketModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
||
objLog.ErrorLogFile("GetTicketdetailsByTicketId", Ex.Message, path, errorlogtf);
|
||
return ticketstatus;
|
||
}
|
||
}
|
||
|
||
public string GetTicketPrevStatusByTicketId(string TicketId)
|
||
{
|
||
string ticketstatus = "";
|
||
try
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[1];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", TicketId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_PrevTicketalias_By_TicketId"], nSqlParam1);
|
||
|
||
if (ds.Tables[0].Rows[0]["ticket_status_alias"].ToString().Trim() != null && ds.Tables[0].Rows[0]["ticket_status_alias"].ToString().Trim() != "")
|
||
{
|
||
|
||
|
||
ticketstatus = ds.Tables[0].Rows[0]["ticket_status_alias"].ToString();
|
||
|
||
|
||
|
||
}
|
||
return ticketstatus;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
// write error log into file
|
||
// objticketModel.Status = "0";
|
||
// objticketModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
||
objLog.ErrorLogFile("GetTicketPrevStatusByTicketId", Ex.Message, path, errorlogtf);
|
||
return ticketstatus;
|
||
}
|
||
}
|
||
|
||
public string GetPaymentStatusByTicketId(string TicketId)
|
||
{
|
||
string ticketstatus = "";
|
||
try
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[1];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", TicketId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_paymentstatus_By_TicketId"], nSqlParam1);
|
||
|
||
if (ds.Tables[0].Rows[0]["ticket_status_alias"].ToString().Trim() != null && ds.Tables[0].Rows[0]["ticket_status_alias"].ToString().Trim() != "")
|
||
{
|
||
ticketstatus = ds.Tables[0].Rows[0]["ticket_status_alias"].ToString();
|
||
|
||
|
||
|
||
}
|
||
return ticketstatus;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
// write error log into file
|
||
// objticketModel.Status = "0";
|
||
// objticketModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
||
objLog.ErrorLogFile("GetPaymentStatusByTicketId", Ex.Message, path, errorlogtf);
|
||
return ticketstatus;
|
||
}
|
||
}
|
||
|
||
|
||
public string GetPartStatusByTicketId(string TicketId)
|
||
{
|
||
string ticketstatus = "";
|
||
try
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[1];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", TicketId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_partstatus_By_TicketId"], nSqlParam1);
|
||
|
||
if (ds.Tables[0].Rows[0]["ticket_status_alias"].ToString().Trim() != null && ds.Tables[0].Rows[0]["ticket_status_alias"].ToString().Trim() != "")
|
||
{
|
||
ticketstatus = ds.Tables[0].Rows[0]["ticket_status_alias"].ToString();
|
||
|
||
|
||
|
||
}
|
||
return ticketstatus;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
// write error log into file
|
||
// objticketModel.Status = "0";
|
||
// objticketModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
||
objLog.ErrorLogFile("GetPartStatusByTicketId", Ex.Message, path, errorlogtf);
|
||
return ticketstatus;
|
||
}
|
||
}
|
||
|
||
public string insertPartDetails(ParttDetailsModel model)
|
||
{
|
||
string strmessage = "";
|
||
try
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[9];
|
||
|
||
// nSqlParam[0] = new NpgsqlParameter("inpayment_date", model.payment_date != null ? Convert.ToDateTime(model.payment_date).AddMinutes(UtcMinute) : model.payment_date);
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam[1] = new NpgsqlParameter("inticketid_alias", model.TicketId_Alias);
|
||
nSqlParam[2] = new NpgsqlParameter("increated_by", model.Created_By);
|
||
nSqlParam[3] = new NpgsqlParameter("inpart_no", model.PartNumber);
|
||
nSqlParam[4] = new NpgsqlParameter("inpart_name", model.PartName);
|
||
nSqlParam[5] = new NpgsqlParameter("inquantity_issued", model.QuantityIssued);
|
||
nSqlParam[6] = new NpgsqlParameter("inquantity_returned", model.QuantityReturned);
|
||
nSqlParam[7] = new NpgsqlParameter("inremarks", model.remarks);
|
||
nSqlParam[8] = new NpgsqlParameter("inpartid", model.PartId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_part_detail"], nSqlParam);
|
||
|
||
|
||
if (model.PartId == 0)
|
||
{
|
||
strmessage = "part detail added successfully";
|
||
}
|
||
else
|
||
{
|
||
strmessage = "part detail updated successfully";
|
||
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
|
||
strmessage = "Fail ";
|
||
}
|
||
return strmessage;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository insertPartDetails", Ex.Message, path, errorlogtf);
|
||
|
||
strmessage = "Catch exception";
|
||
return strmessage;
|
||
}
|
||
}
|
||
|
||
public List<ParttDetailsModel> GetPartDetailsHistory(ParttDetailsModel model)
|
||
{
|
||
List<ParttDetailsModel> objTicketModel = new List<ParttDetailsModel>();
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
|
||
DataSet dsClose = new DataSet();
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number ", model.TicketId);
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_part_detail"], nSqlParam);
|
||
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
objTicketModel = dsOpen.Tables[0].AsEnumerable().Select(s => new ParttDetailsModel
|
||
{
|
||
TicketId = s.Field<string>("ticket_id"),
|
||
TicketId_Alias = s.Field<string>("ticketid_alias"),
|
||
PartName = s.Field<string>("part_name"),
|
||
PartNumber = s.Field<string>("part_no"),
|
||
QuantityIssued = s.Field<Int32>("quantity_issued"),
|
||
PartId = s.Field<Int64>("part_id"),
|
||
QuantityReturned = (s.Field<string>("quantity_returned")),
|
||
creation_date = s.Field<string>("created_date"),
|
||
update_date = s.Field<string>("updation_date"),
|
||
TimeAliascreation = s.Field<string>("created_time"),
|
||
TimeAliasupdation = s.Field<string>("updation_time"),
|
||
//= s.Field<Int32>("remarks"),
|
||
Created_By = s.Field<string>("created_by"),
|
||
addstatus = s.Field<string>("add_status"),
|
||
|
||
}).ToList();
|
||
}
|
||
}
|
||
return objTicketModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetCustomerOpenTicketHistory", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
|
||
public string UpdateFuelTypeDealer(string dealer_id, string fuel_type)
|
||
{
|
||
string strmessage = "false";
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
SendNotificationModel objGcmModel = new SendNotificationModel();
|
||
try
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
nSqlParam[0] = new NpgsqlParameter("indealer_id", dealer_id);
|
||
nSqlParam[1] = new NpgsqlParameter("infuel_type", fuel_type);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_fuel_type_dealer"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = "true";
|
||
}
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("Ticket Repository UpdateFuelTypeDealer", Ex.Message, path, errorlogtf);
|
||
|
||
|
||
}
|
||
return strmessage;
|
||
}
|
||
|
||
public string UpdateFuelTypeVan(string reg_no, string fuel_type)
|
||
{
|
||
string strmessage = "false";
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
SendNotificationModel objGcmModel = new SendNotificationModel();
|
||
try
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
nSqlParam[0] = new NpgsqlParameter("inreg_no", reg_no);
|
||
nSqlParam[1] = new NpgsqlParameter("infuel_type", fuel_type);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_fuel_type_van"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = "true";
|
||
}
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("Ticket Repository UpdateFuelTypeDealer", Ex.Message, path, errorlogtf);
|
||
|
||
|
||
}
|
||
return strmessage;
|
||
}
|
||
|
||
public string getFuelTypeVan(string van_id)
|
||
{
|
||
string strmessage = "false";
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
SendNotificationModel objGcmModel = new SendNotificationModel();
|
||
try
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("invan_id", van_id);
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_fuel_type_van"], nSqlParam);
|
||
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = ds.Tables[0].Rows[0]["sp_get_fuel_type_van"].ToString();// + '&' + ds.Tables[0].Rows[0]["_state_id"].ToString();
|
||
|
||
|
||
|
||
}
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("Ticket Repository UpdateFuelTypeDealer", Ex.Message, path, errorlogtf);
|
||
|
||
|
||
}
|
||
return strmessage;
|
||
}
|
||
public string getFuelTypeDealer(string dealer_id)
|
||
{
|
||
string strmessage = "false";
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
SendNotificationModel objGcmModel = new SendNotificationModel();
|
||
try
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("indealer_id", dealer_id);
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_fuel_type_dealer"], nSqlParam);
|
||
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = ds.Tables[0].Rows[0]["_fuel_type"].ToString();// + '&' + ds.Tables[0].Rows[0]["_state_id"].ToString();
|
||
|
||
|
||
|
||
}
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("Ticket Repository UpdateFuelTypeDealer", Ex.Message, path, errorlogtf);
|
||
|
||
|
||
}
|
||
return strmessage;
|
||
}
|
||
|
||
public List<StateModel> GetStateListIdWiseFuelType(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();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("in_fueltype ", model.StateAlias);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_state_fuel_type_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();
|
||
}
|
||
// 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;
|
||
}
|
||
|
||
}
|
||
public string gevanlatlngbydevicealias(string ticketid)
|
||
{
|
||
string strmessage = "";
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("in_eos_ticket", ticketid);
|
||
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_lat_lng"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = ds.Tables[0].Rows[0]["_result"].ToString();
|
||
// strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
|
||
return strmessage;
|
||
}
|
||
|
||
|
||
public LiveTrackingDetailsModel getTicketDetailLiveTabTracking(LiveTrackingDetailsModel model)
|
||
{
|
||
string dealerid = "";
|
||
LiveTrackingDetailsModel objModel = new LiveTrackingDetailsModel();
|
||
try
|
||
{
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParamopen = new NpgsqlParameter[1];
|
||
nSqlParamopen[0] = new NpgsqlParameter("inticketid ", model.TicketId_Alias);
|
||
string productvariant = "";
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_Details_by_ticketid_Tab_Tracking"], nSqlParamopen);
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
//assigned_to_user_id = dsOpen.Tables[0].Rows[0]["_assigned_to_user_id"].ToString(); // getting ticket id alias
|
||
model.VehicleTagging = dsOpen.Tables[0].Rows[0]["_vehicle_tagging"].ToString(); // getting ticket id alias
|
||
objModel.VehicleTagging = dsOpen.Tables[0].Rows[0]["_vehicle_tagging"].ToString(); // getting ticket id alias
|
||
productvariant = dsOpen.Tables[0].Rows[0]["_fuel_type"].ToString(); // getting ticket id alias
|
||
dealerid = dsOpen.Tables[0].Rows[0]["_dealer_id"].ToString();
|
||
objModel.TechnicianName = dsOpen.Tables[0].Rows[0]["Technician_name"].ToString();
|
||
objModel.TechnicianMobileNumber = dsOpen.Tables[0].Rows[0]["Technician_no"].ToString();
|
||
objModel.BreakdownLat = dsOpen.Tables[0].Rows[0]["_breakdown_lat"].ToString();
|
||
objModel.BreakdownLong = dsOpen.Tables[0].Rows[0]["_breakdown_lng"].ToString();
|
||
objModel.tabLat = dsOpen.Tables[0].Rows[0]["_tab_lat"].ToString();
|
||
objModel.tabLong = dsOpen.Tables[0].Rows[0]["_tab_lng"].ToString();
|
||
model.TicketId = dsOpen.Tables[0].Rows[0]["_ticketid"].ToString();
|
||
objModel.TicketId = dsOpen.Tables[0].Rows[0]["_ticketid"].ToString();
|
||
objModel.mobileOTP = dsOpen.Tables[0].Rows[0]["_otp"].ToString();
|
||
objModel.DealerName = dsOpen.Tables[0].Rows[0]["_dealer_name"].ToString();
|
||
objModel.brkLocation = dsOpen.Tables[0].Rows[0]["_location"].ToString();
|
||
}
|
||
string InsertTicketDetailOnCreationInVECV = System.Web.Configuration.WebConfigurationManager.AppSettings["InsertTicketDetailOnCreationInVECV"].ToString();
|
||
List<EscalationLevel> oEscalationLevelList = new List<EscalationLevel>();
|
||
// getting escalation level from DB
|
||
DataSet escalationLevelDataset = new DataSet();
|
||
DataSet escalationLevelDatasetsite = new DataSet();
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("in_dealer_id", dealerid);
|
||
nSqlParam1[1] = new NpgsqlParameter("in_vehicle_type", model.VehicleTagging);
|
||
escalationLevelDataset = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_escalation_level_by_dealer_id_vehicle_type_cogent"], nSqlParam1);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("getTicketDetailLiveTabTracking usp_get_escalation_level_by_dealer_id_vehicle_type_cogent" + model.TicketId_Alias, Ex.Message, path, errorlogtf);
|
||
}
|
||
string WmName = "";
|
||
string WmNumber1 = "";
|
||
string WmNumber2 = "";
|
||
string WmNumber3 = "";
|
||
|
||
string siteInhargeNumber1 = "";
|
||
string siteInhargeNumber2 = "";
|
||
string siteInhargeName = "";
|
||
|
||
|
||
// binding escalation level to model list
|
||
if (escalationLevelDataset.Tables.Count > 0)
|
||
{
|
||
if (escalationLevelDataset.Tables[0].Rows.Count > 0)
|
||
{
|
||
WmNumber1 = escalationLevelDataset.Tables[0].Rows[0]["phones"].ToString();
|
||
string[] values = WmNumber1.Split(',').Select(sValue => sValue.Trim()).ToArray();
|
||
WmName = escalationLevelDataset.Tables[0].Rows[0]["manager_name"].ToString();
|
||
objModel.WMName = WmName;
|
||
objModel.WMNumber = WmNumber1;
|
||
}
|
||
}
|
||
|
||
|
||
NpgsqlParameter[] nSqlParamsite = new NpgsqlParameter[3];
|
||
try
|
||
{
|
||
nSqlParamsite[0] = new NpgsqlParameter("in_dealer_id", dealerid);
|
||
nSqlParamsite[1] = new NpgsqlParameter("in_vehicle_type", model.VehicleTagging);
|
||
nSqlParamsite[2] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
escalationLevelDatasetsite = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_escalation_level_cogent_site_incharge"], nSqlParamsite);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("getTicketDetailLiveTabTracking usp_get_escalation_level_cogent_site_incharge" + model.TicketId_Alias, Ex.Message, path, errorlogtf);
|
||
}
|
||
if (escalationLevelDatasetsite.Tables.Count > 0)
|
||
{
|
||
if (escalationLevelDatasetsite.Tables[0].Rows.Count > 0)
|
||
{
|
||
siteInhargeNumber1 = escalationLevelDatasetsite.Tables[0].Rows[0]["phones"].ToString();
|
||
string[] values = siteInhargeNumber1.Split(',').Select(sValue => sValue.Trim()).ToArray();
|
||
siteInhargeName = escalationLevelDatasetsite.Tables[0].Rows[0]["manager_name"].ToString();
|
||
objModel.SiteInchargeName = siteInhargeName;
|
||
objModel.SiteInchargeNo = siteInhargeNumber1;
|
||
}
|
||
}
|
||
|
||
return objModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("getTicketDetailLiveTabTracking", Ex.Message, path, errorlogtf);
|
||
return objModel;
|
||
}
|
||
}
|
||
|
||
public string Encrypt(string plainText, string key, string salt)
|
||
{
|
||
byte[] plainBytes = Encoding.UTF8.GetBytes(plainText);
|
||
byte[] encryptedBytes;
|
||
|
||
using (Aes aesAlg = Aes.Create())
|
||
{
|
||
Rfc2898DeriveBytes keyDerivationFunction = new Rfc2898DeriveBytes(key, Encoding.ASCII.GetBytes(salt));
|
||
aesAlg.Key = keyDerivationFunction.GetBytes(32); // AES-256
|
||
aesAlg.IV = keyDerivationFunction.GetBytes(16); // AES IV is 16 bytes
|
||
|
||
using (MemoryStream msEncrypt = new MemoryStream())
|
||
{
|
||
using (ICryptoTransform encryptor = aesAlg.CreateEncryptor(aesAlg.Key, aesAlg.IV))
|
||
{
|
||
using (CryptoStream csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write))
|
||
{
|
||
csEncrypt.Write(plainBytes, 0, plainBytes.Length);
|
||
csEncrypt.FlushFinalBlock();
|
||
}
|
||
}
|
||
encryptedBytes = msEncrypt.ToArray();
|
||
}
|
||
}
|
||
|
||
return Convert.ToBase64String(encryptedBytes);
|
||
}
|
||
public void SendEmailMultipleUser(string[] recipients, string subject, string body)
|
||
{
|
||
// Define the sender and the SMTP client
|
||
string fromAddress = ConfigurationManager.AppSettings["EmailUserName"].ToString();// "your -email@example.com";
|
||
string smtpHost = ConfigurationManager.AppSettings["Host"].ToString();// "your-smtp-host";
|
||
int smtpPort = Convert.ToInt32(ConfigurationManager.AppSettings["Port"].ToString()); // Change this according to your SMTP server settings
|
||
string smtpUsername = ConfigurationManager.AppSettings["EmailUserName"].ToString();// "your-smtp-username";
|
||
string smtpPassword = ConfigurationManager.AppSettings["fromEmailPassword"].ToString();// "your-smtp-password";
|
||
|
||
using (MailMessage mail = new MailMessage())
|
||
{
|
||
mail.From = new MailAddress(fromAddress);
|
||
foreach (string recipient in recipients)
|
||
{
|
||
mail.To.Add(recipient);
|
||
}
|
||
mail.Subject = subject;
|
||
mail.Body = body;
|
||
mail.IsBodyHtml = true; // Set to false if the body is plain text
|
||
|
||
using (SmtpClient smtp = new SmtpClient(smtpHost, smtpPort))
|
||
{
|
||
smtp.Credentials = new NetworkCredential(smtpUsername, smtpPassword);
|
||
smtp.EnableSsl = true; // Set
|
||
//
|
||
// to false if your SMTP server does not support SSL
|
||
smtp.Send(mail);
|
||
}
|
||
}
|
||
}
|
||
|
||
public void SendEmailEPSSales(string[] recipients, string subject, string body)
|
||
{
|
||
// Define the sender and the SMTP client
|
||
string fromAddress = ConfigurationManager.AppSettings["EmailUserName"].ToString();// "your -email@example.com";
|
||
string smtpHost = ConfigurationManager.AppSettings["Host"].ToString();// "your-smtp-host";
|
||
int smtpPort = Convert.ToInt32(ConfigurationManager.AppSettings["Port"].ToString()); // Change this according to your SMTP server settings
|
||
string smtpUsername = ConfigurationManager.AppSettings["EmailUserName"].ToString();// "your-smtp-username";
|
||
string smtpPassword = ConfigurationManager.AppSettings["fromEmailPassword"].ToString();// "your-smtp-password";
|
||
|
||
using (MailMessage mail = new MailMessage())
|
||
{
|
||
mail.From = new MailAddress(fromAddress);
|
||
foreach (string recipient in recipients)
|
||
{
|
||
mail.To.Add(recipient);
|
||
}
|
||
mail.Subject = subject;
|
||
mail.Body = body;
|
||
mail.IsBodyHtml = true; // Set to false if the body is plain text
|
||
|
||
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
|
||
ServicePointManager.ServerCertificateValidationCallback = delegate (object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
|
||
{
|
||
return true;
|
||
};
|
||
using (SmtpClient smtp = new SmtpClient(smtpHost, smtpPort))
|
||
{
|
||
smtp.Credentials = new NetworkCredential(smtpUsername, smtpPassword);
|
||
smtp.EnableSsl = true; // Set
|
||
//
|
||
// to false if your SMTP server does not support SSL
|
||
try
|
||
{
|
||
objLog.ErrorLogFile("SendEmailEPSSales", "About to send email to: " + string.Join(",", recipients), path, errorlogtf);
|
||
|
||
smtp.Send(mail);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("SendEmailEPSSales", Ex.Message, path, errorlogtf);
|
||
if (Ex.InnerException != null)
|
||
{
|
||
|
||
objLog.ErrorLogFile("SendEmailEPSSales", Ex.InnerException.Message, path, errorlogtf);
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
public string sendmailNew(CustomerVehicleModelDBM model, string dealername, string alias, string assTo, string ass_to_text)
|
||
{
|
||
if (System.Configuration.ConfigurationManager.AppSettings["modelemailIsBlocked"] != "true")
|
||
{
|
||
string ticketIdAlias = model.TicketNo;
|
||
|
||
string[] emailto = ConfigurationManager.AppSettings["Emailto"].ToString().Split(',');
|
||
foreach (string ToEmail in emailto)
|
||
{
|
||
string body = "";
|
||
if (assTo.ToLower() == "van")
|
||
{
|
||
body = @"
|
||
<html>
|
||
<head> <style>
|
||
body {
|
||
font-family: Calibri, sans-serif;
|
||
font-size: 11pt;
|
||
}
|
||
table {
|
||
border-collapse: collapse;
|
||
width: 100%;
|
||
}
|
||
table, th, td {
|
||
border: 1px solid black;
|
||
padding: 5px;
|
||
text-align: center;
|
||
}
|
||
th {
|
||
background-color: #f2f2f2;
|
||
}
|
||
</style></head>
|
||
<body>
|
||
<p>Dear User,</p>
|
||
<p>Please pay attention !!!</p>
|
||
<p>EOS Ticket is registered for the bus segment, following are the details:</p>
|
||
<table border='1' cellpadding='5' cellspacing='0'>
|
||
<tr>
|
||
<th>EOS Ticket Number</th>
|
||
<th>Dealership Name</th>
|
||
<th>Assigned To</th>
|
||
<th>Vehicle Registration Number</th>
|
||
<th>Vehicle Model Number</th>
|
||
<th>Driver Name</th>
|
||
<th>Driver Mobile Number</th>
|
||
<th>Technician Name</th>
|
||
<th>Technician Mobile Number</th>
|
||
<th>Customer Voice</th>
|
||
</tr>
|
||
<tr>
|
||
<td>[Insert EOS Ticket Number]</td>
|
||
<td>[Insert Dealership Name]</td>
|
||
<td>[Insert assigned to]</td>
|
||
<td>[Insert Vehicle Registration Number]</td>
|
||
<td>[Insert Vehicle Model Number]</td>
|
||
<td>[Insert Driver Name]</td>
|
||
<td>[Insert Driver Mobile Number]</td>
|
||
|
||
<td>[Insert Technician Name]</td>
|
||
|
||
|
||
<td>[Insert Technician Mobile Number]</td>
|
||
<td>[Insert nature of problem]</td>
|
||
</table>
|
||
|
||
<p>Regards,<br>Eicher On Road Support</p>
|
||
<p>Disclaimer : This is system generated E-Mail, Please do not reply on this mail.</p>
|
||
</body>
|
||
</html>";
|
||
}
|
||
else
|
||
{
|
||
body = @"
|
||
<html>
|
||
<head> <style>
|
||
body {
|
||
font-family: Calibri, sans-serif;
|
||
font-size: 11pt;
|
||
}
|
||
table {
|
||
border-collapse: collapse;
|
||
width: 100%;
|
||
}
|
||
table, th, td {
|
||
border: 1px solid black;
|
||
padding: 5px;
|
||
text-align: center;
|
||
}
|
||
th {
|
||
background-color: #f2f2f2;
|
||
}
|
||
</style></head>
|
||
<body>
|
||
<p>Dear User,</p>
|
||
<p>Please pay attention !!!</p>
|
||
<p>EOS Ticket is registered for the bus segment, following are the details:</p>
|
||
<table border='1' cellpadding='5' cellspacing='0'>
|
||
<tr>
|
||
<th>EOS Ticket Number</th>
|
||
<th>Dealership Name</th>
|
||
<th>Assigned To</th>
|
||
<th>Vehicle Registration Number</th>
|
||
<th>Vehicle Model Number</th>
|
||
<th>Driver Name</th>
|
||
<th>Driver Mobile Number</th>
|
||
<th>Works Manager Name</th>
|
||
<th>Works Manager Mobile Number</th>
|
||
<th>Customer Voice</th>
|
||
</tr>
|
||
<tr>
|
||
<td>[Insert EOS Ticket Number]</td>
|
||
<td>[Insert Dealership Name]</td>
|
||
<td>[Insert assigned to]</td>
|
||
<td>[Insert Vehicle Registration Number]</td>
|
||
<td>[Insert Vehicle Model Number]</td>
|
||
<td>[Insert Driver Name]</td>
|
||
<td>[Insert Driver Mobile Number]</td>
|
||
|
||
<td>[Insert Technician Name]</td>
|
||
|
||
|
||
<td>[Insert Technician Mobile Number]</td>
|
||
<td>[Insert nature of problem]</td>
|
||
</table>
|
||
|
||
<p>Regards,<br>Eicher On Road Support</p>
|
||
<p>Disclaimer : This is system generated E-Mail, Please do not reply on this mail.</p>
|
||
</body>
|
||
</html>";
|
||
|
||
}
|
||
// Replace placeholders with actual values
|
||
body = body.Replace("[Insert EOS Ticket Number]", ticketIdAlias)
|
||
.Replace("[Insert Dealership Name]", dealername)
|
||
.Replace("[Insert assigned to]", ass_to_text)
|
||
|
||
.Replace("[Insert Vehicle Registration Number]", model.VehicleRegistrationNumber)
|
||
.Replace("[Insert Vehicle Model Number]", model.VehicleModelNumber)
|
||
.Replace("[Insert Driver Name]", model.CustomerName)
|
||
.Replace("[Insert Driver Mobile Number]", model.CustomerMobile1)
|
||
.Replace("[Insert Technician Name]", model.CustomerCity)
|
||
.Replace("[Insert Technician Mobile Number]", model.CustomerMobile2)
|
||
.Replace("[Insert nature of problem]", model.CustomerAddress);
|
||
|
||
try
|
||
{
|
||
|
||
|
||
SmtpClient smtpClient = new SmtpClient(ConfigurationManager.AppSettings["Host"].ToString(), Convert.ToInt32(ConfigurationManager.AppSettings["Port"].ToString()))
|
||
{
|
||
Credentials = new NetworkCredential(ConfigurationManager.AppSettings["EmailUserName"].ToString(), ConfigurationManager.AppSettings["FromEmailPassword"].ToString()),
|
||
EnableSsl = true
|
||
};
|
||
|
||
// Create the email message
|
||
MailMessage mailMessage = new MailMessage
|
||
{
|
||
From = new MailAddress(ConfigurationManager.AppSettings["EmailUserName"].ToString()),
|
||
Subject = "BUS (" + model.VehicleModelNumber + ") EOS Ticket Alert - " + ticketIdAlias,
|
||
Body = body,
|
||
IsBodyHtml = true
|
||
};
|
||
|
||
mailMessage.To.Add(ToEmail);
|
||
|
||
// Send the email
|
||
smtpClient.Send(mailMessage);
|
||
Console.WriteLine("Email sent successfully.");
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
Console.WriteLine("Failed to send email. Error: " + ex.Message);
|
||
}
|
||
|
||
/* var fromEma il = new MailAddress(ConfigurationManager.AppSettings["EmailUserName"].ToString(), ConfigurationManager.AppSettings["FromEmailPassword"].ToString());
|
||
var fromEmailPassword = ConfigurationManager.AppSettings["FromEmailPassword"].ToString();
|
||
|
||
var toEmail = new MailAddress(ToEmail);
|
||
|
||
var smtp = new SmtpClient
|
||
{
|
||
Host = ConfigurationManager.AppSettings["Host"].ToString(),
|
||
Port = Convert.ToInt32(ConfigurationManager.AppSettings["Port"].ToString()),
|
||
EnableSsl = true,
|
||
DeliveryMethod = SmtpDeliveryMethod.Network,
|
||
UseDefaultCredentials = false,
|
||
Credentials = new NetworkCredential(fromEmail.Address, fromEmailPassword)
|
||
};
|
||
|
||
var message = new MailMessage(fromEmail, toEmail);
|
||
message.Subject = "BUS ( " + model.VehicleModelNumber + ") EOS Ticket Alert- " + ticketIdAlias;
|
||
// Create the email body with HTML table
|
||
message.Body = body;
|
||
|
||
|
||
// message.Body = "Hello," + Environment.NewLine + Environment.NewLine + "Please pay attention !!!" + Environment.NewLine + Environment.NewLine + "EOS Ticket is registered for the bus segment, following are the details:" + Environment.NewLine + Environment.NewLine + "Vehicle Registration number - " + model.VehicleRegistrationNumber + Environment.NewLine + " Vehicle Model - " +model.VehicleModelNumber+ Environment.NewLine+" EOS Ticket Number - " + ticketIdAlias + Environment.NewLine+ " Dealer Name - " +dealername + Environment.NewLine + " Driver Number - " + model.CustomerName + Environment.NewLine + "Technician Name - " + model.CustomerMobile1 + Environment.NewLine + "Regrds Eicher";
|
||
|
||
smtp.Send(message);*/
|
||
|
||
}
|
||
}
|
||
return "true";
|
||
}
|
||
public string sendmail(CustomerVehicleModelDBM model, string dealername, string alias, string assTo, string ass_to_text, string creation_time, string csmname, string csmno, string dealerid, string ownername, string ownerno)
|
||
{
|
||
if (System.Configuration.ConfigurationManager.AppSettings["modelemailIsBlocked"] != "true")
|
||
{
|
||
string ticketIdAlias = model.TicketNo;
|
||
|
||
string[] emailto = ConfigurationManager.AppSettings["Emailto"].ToString().Split(',');
|
||
|
||
string body = "";
|
||
if (assTo.ToLower() == "van")
|
||
{
|
||
body = @"
|
||
<html>
|
||
<head> <style>
|
||
body {
|
||
font-family: Calibri, sans-serif;
|
||
font-size: 11pt;
|
||
}
|
||
table {
|
||
border-collapse: collapse;
|
||
width: 100%;
|
||
}
|
||
table, th, td {
|
||
border: 1px solid black;
|
||
padding: 5px;
|
||
text-align: center;
|
||
}
|
||
th {
|
||
background-color: #f2f2f2;
|
||
}
|
||
</style></head>
|
||
<body>
|
||
<p>Dear User,</p>
|
||
<p>Please pay attention !!!</p>
|
||
<p>EOS Ticket is registered for the bus segment, following are the details:</p>
|
||
<table border='1' cellpadding='5' cellspacing='0'>
|
||
<tr>
|
||
<th>EOS Ticket Number</th>
|
||
<th>Dealership Name</th>
|
||
<th>Dealer SCode</th>
|
||
<th>Ticket Creation Date & Time</th>
|
||
<th>Assigned To</th>
|
||
<th>Vehicle Registration Number</th>
|
||
<th>Vehicle Model Number</th>
|
||
<th>Owner Name</th>
|
||
<th>Owner Mobile Number</th>
|
||
<th>Driver Name</th>
|
||
<th>Driver Mobile Number</th>
|
||
<th>Technician Name</th>
|
||
<th>Technician Mobile Number</th>
|
||
<th>CSM Name</th>
|
||
<th>CSM Number</th>
|
||
<th>Customer Voice</th>
|
||
</tr>
|
||
<tr>
|
||
<td>[Insert EOS Ticket Number]</td>
|
||
<td>[Insert Dealership Name]</td>
|
||
<td>[Insert Dealership Id]</td>
|
||
<td>[Insert Creation Time]</td>
|
||
<td>[Insert assigned to]</td>
|
||
<td>[Insert Vehicle Registration Number]</td>
|
||
<td>[Insert Vehicle Model Number]</td>
|
||
<td>[Insert Owner Name]</td>
|
||
<td>[Insert Owner Mobile Number]</td>
|
||
<td>[Insert Driver Name]</td>
|
||
<td>[Insert Driver Mobile Number]</td>
|
||
|
||
<td>[Insert Technician Name]</td>
|
||
|
||
|
||
<td>[Insert Technician Mobile Number]</td>
|
||
<td>[Insert CSM Name]</td>
|
||
<td>[Insert CSM Id]</td>
|
||
<td>[Insert nature of problem]</td>
|
||
</table>
|
||
|
||
<p>Regards,<br>Eicher On Road Support</p>
|
||
<p>Disclaimer : This is system generated E-Mail, Please do not reply on this mail.</p>
|
||
</body>
|
||
</html>";
|
||
}
|
||
else
|
||
{
|
||
body = @"
|
||
<html>
|
||
<head> <style>
|
||
body {
|
||
font-family: Calibri, sans-serif;
|
||
font-size: 11pt;
|
||
}
|
||
table {
|
||
border-collapse: collapse;
|
||
width: 100%;
|
||
}
|
||
table, th, td {
|
||
border: 1px solid black;
|
||
padding: 5px;
|
||
text-align: center;
|
||
}
|
||
th {
|
||
background-color: #f2f2f2;
|
||
}
|
||
</style></head>
|
||
<body>
|
||
<p>Dear User,</p>
|
||
<p>Please pay attention !!!</p>
|
||
<p>EOS Ticket is registered for the bus segment, following are the details:</p>
|
||
<table border='1' cellpadding='5' cellspacing='0'>
|
||
<tr>
|
||
<th>EOS Ticket Number</th>
|
||
<th>Dealership Name</th>
|
||
<th>Dealer SCode</th>
|
||
<th>Ticket Creation Date & Time</th>
|
||
<th>Assigned To</th>
|
||
<th>Vehicle Registration Number</th>
|
||
<th>Vehicle Model Number</th>
|
||
<th>Owner Name</th>
|
||
<th>Owner Mobile Number</th>
|
||
<th>Driver Name</th>
|
||
<th>Driver Mobile Number</th>
|
||
<th>Works Manager Name</th>
|
||
<th>Works Manager Mobile Number</th>
|
||
<th>CSM Name</th>
|
||
<th>CSM Number</th>
|
||
<th>Customer Voice</th>
|
||
</tr>
|
||
<tr>
|
||
<td>[Insert EOS Ticket Number]</td>
|
||
<td>[Insert Dealership Name]</td>
|
||
<td>[Insert Dealership Id]</td>
|
||
<td>[Insert Creation Time]</td>
|
||
<td>[Insert assigned to]</td>
|
||
<td>[Insert Vehicle Registration Number]</td>
|
||
<td>[Insert Vehicle Model Number]</td>
|
||
<td>[Insert Owner Name]</td>
|
||
<td>[Insert Owner Mobile Number]</td>
|
||
<td>[Insert Driver Name]</td>
|
||
<td>[Insert Driver Mobile Number]</td>
|
||
<td>[Insert Technician Name]</td>
|
||
<td>[Insert Technician Mobile Number]</td>
|
||
<td>[Insert CSM Name]</td>
|
||
<td>[Insert CSM Id]</td>
|
||
<td>[Insert nature of problem]</td>
|
||
</table>
|
||
|
||
<p>Regards,<br>Eicher On Road Support</p>
|
||
<p>Disclaimer : This is system generated E-Mail, Please do not reply on this mail.</p>
|
||
</body>
|
||
</html>";
|
||
|
||
}
|
||
// Replace placeholders with actual values
|
||
body = body.Replace("[Insert EOS Ticket Number]", ticketIdAlias)
|
||
.Replace("[Insert Dealership Name]", dealername)
|
||
.Replace("[Insert Dealership Id]", dealerid)
|
||
.Replace("[Insert Creation Time]", creation_time)
|
||
.Replace("[Insert assigned to]", ass_to_text)
|
||
|
||
.Replace("[Insert Vehicle Registration Number]", model.VehicleRegistrationNumber)
|
||
.Replace("[Insert Vehicle Model Number]", model.VehicleModelNumber)
|
||
.Replace("[Insert Owner Name]", ownername)
|
||
.Replace("[Insert Owner Mobile Number]", ownerno)
|
||
.Replace("[Insert Driver Name]", model.CustomerName)
|
||
.Replace("[Insert Driver Mobile Number]", model.CustomerMobile1)
|
||
.Replace("[Insert Technician Name]", model.CustomerCity)
|
||
.Replace("[Insert Technician Mobile Number]", model.CustomerMobile2)
|
||
.Replace("[Insert CSM Id]", csmno)
|
||
.Replace("[Insert CSM Name]", csmname)
|
||
.Replace("[Insert nature of problem]", model.CustomerAddress);
|
||
string mailsub = "BUS (" + model.VehicleModelNumber + ") EOS Ticket Alert- " + ticketIdAlias;
|
||
SendEmailMultipleUser(emailto, mailsub, body);
|
||
|
||
}
|
||
return "true";
|
||
}
|
||
public ReportRequestModel GetAllDetailsModelWise()
|
||
{
|
||
ReportRequestModel detailVecvCalculation = new ReportRequestModel();
|
||
List<ModelReport> objList = new List<ModelReport>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[0];
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_tickets_model_wise_all"], nSqlParam);
|
||
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new ModelReport
|
||
{
|
||
ticketid_alias = s.Field<string>("_ticket_id_alias"),
|
||
ServiceEngineerContactNumber = s.Field<string>("_dealer_contact_number1"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16("330")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
VehicleRegistrationNo = s.Field<string>("_vehicle_registration_number"),
|
||
|
||
ChassisNo = s.Field<string>("_chassis_number"),
|
||
Description = s.Field<string>("_nature_of_problem"),
|
||
Dealer1Scode = s.Field<string>("_Dealer_name_1scode"),
|
||
ServiceEngineerAlias = s.Field<string>("_created_by"),
|
||
VanVanModel = s.Field<string>("model_number"),
|
||
WM_Contact_No = s.Field<string>("wm_contact_no"),
|
||
WM_Name = s.Field<string>("wm"),
|
||
plant_code = s.Field<string>("_plant_code"),
|
||
CaseId = s.Field<string>("_case_id"),
|
||
TicketStatus = s.Field<string>("_ticket_status"),
|
||
}).ToList();
|
||
|
||
detailVecvCalculation.MoodelList = objList;
|
||
detailVecvCalculation.Status = "1";
|
||
|
||
|
||
return detailVecvCalculation;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("GetDealerOpenTicketDetail", ex.Message, this.path, this.errorlogtf);
|
||
return detailVecvCalculation;
|
||
}
|
||
}
|
||
|
||
|
||
public ReportRequestModel GetAllReassignmentReportNew(ReportRequestModel model)
|
||
{
|
||
ReportRequestModel detailVecvCalculation = new ReportRequestModel();
|
||
List<ReassignmentReportNew> objList = new List<ReassignmentReportNew>();
|
||
try
|
||
{
|
||
model.UtcMinute = 330;
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
|
||
nSqlParam[0] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[1] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_reassignment_tickets"], nSqlParam);
|
||
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new ReassignmentReportNew
|
||
{
|
||
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16("330")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
Dealer1SCode = s.Field<string>("_dealer_1scode"),
|
||
DealerName = (s.Field<string>("_dealer_name")).Replace("'", "").Replace("\"", "").Replace(",", " ").Replace("&", " "),
|
||
TicketStatus = s.Field<string>("_ticket_status"),
|
||
Reassign_to = s.Field<string>("_reassign_to"),
|
||
Reassign_Reason = (s.Field<string>("_reassign_reason") == null ? "" : s.Field<string>("_reassign_reason")).Replace("'", "").Replace("\"", "").Replace(",", " ").Replace("&", " "),
|
||
ReassignTime = Convert.ToDateTime(s.Field<DateTime?>("_reassign_time")).AddMinutes(Convert.ToInt16("330")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
reassignstatus = s.Field<string>("_ticket_assign_status") == null ? "" : s.Field<string>("_ticket_assign_status"),
|
||
Fuel_type = s.Field<string>("_vehicle_fuel_type") == null ? "" : s.Field<string>("_vehicle_fuel_type"),
|
||
organization = s.Field<string>("_organization_name") == null ? "" : s.Field<string>("_organization_name"),
|
||
state = s.Field<string>("_state") == null ? "" : s.Field<string>("_state"),
|
||
Vehicle_Owner_Name = (s.Field<string>("_customer_name") == null ? "" : s.Field<string>("_customer_name")).Replace("'", "").Replace("\"", "").Replace(",", " ").Replace("&", " "),
|
||
Vehicle_Owner_Contact_No = s.Field<string>("_customer_mobile_number") == null ? "" : s.Field<string>("_customer_mobile_number"),
|
||
Vehicle_Reg_No = s.Field<string>("_vehicle_registration_number") == null ? "" : s.Field<string>("_vehicle_registration_number"),
|
||
Vehicle_Model = s.Field<string>("_vehicle_model_number") == null ? "" : s.Field<string>("_vehicle_model_number"),
|
||
Vehicle_Type = s.Field<string>("_vehicle_tagging") == null ? "" : s.Field<string>("_vehicle_tagging"),
|
||
BreackDownLatitude = s.Field<string>("_breakdown_lattitude") == null ? "" : s.Field<string>("_breakdown_lattitude"),
|
||
BreackDownLongitude = s.Field<string>("_breakdown_longitude") == null ? "" : s.Field<string>("_breakdown_longitude"),
|
||
BreakDownLocation = (s.Field<string>("_breakdown_location") == null ? "" : s.Field<string>("_breakdown_location")).Replace("'", "").Replace("\"", "").Replace(",", " ").Replace("&", " "),
|
||
BreakDownLandmark = (s.Field<string>("_breakdown_location_landmark") == null ? "" : s.Field<string>("_breakdown_location_landmark")).Replace("'", "").Replace("\"", "").Replace(",", " ").Replace("&", " "),
|
||
nature_of_problem = (s.Field<string>("_nature_of_problem") == null ? "" : s.Field<string>("_nature_of_problem")).Replace("'", "").Replace("\"", "").Replace(",", " ").Replace("&", " "),
|
||
opportunity_loss = s.Field<string>("_opportunity_loss") == null ? "" : s.Field<string>("_opportunity_loss"),
|
||
opportunity_loss_remark = (s.Field<string>("_opportunity_loss_reason") == null ? "" : s.Field<string>("_opportunity_loss_reason")).Replace("'", "").Replace("\"", "").Replace(",", " ").Replace("&", " "),
|
||
call_preclosed = s.Field<string>("_call_preclosed") == null ? "" : s.Field<string>("_call_preclosed"),
|
||
call_closure = s.Field<string>("_call_closure") == null ? "" : s.Field<string>("_call_closure"),
|
||
assigned_to = s.Field<string>("_assigned_to") == null ? "" : s.Field<string>("_assigned_to"),
|
||
estimated_distance = s.Field<string>("_estimated_distance") == null ? "" : s.Field<string>("_estimated_distance"),
|
||
isPreclosed = s.Field<string>("_is_callPreclosed") == null ? "" : s.Field<string>("_is_callPreclosed"),
|
||
pre_closure_remarks = (s.Field<string>("_preclosure_remarks") == null ? "" : s.Field<string>("_preclosure_remarks")).Replace("'", "").Replace("\"", "").Replace(",", " ").Replace("&", " "),
|
||
ReassignRemarks = (s.Field<string>("_remarks") == null ? "" : s.Field<string>("_remarks")).Replace("'", "").Replace("\"", "").Replace(",", " ").Replace("&", " "),
|
||
Preclosure_reason = (s.Field<string>("_preclosure_reason") == null ? "" : s.Field<string>("_preclosure_reason")).Replace("'", "").Replace("\"", "").Replace(",", " ").Replace("&", " "),
|
||
|
||
ticket_accepted = s.Field<string>("_ticket_accepted") == null ? "" : s.Field<string>("_ticket_accepted"),
|
||
|
||
}).ToList();
|
||
|
||
detailVecvCalculation.ReassignmentReportNew = objList;
|
||
detailVecvCalculation.Status = "1";
|
||
|
||
|
||
return detailVecvCalculation;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("GetAllReassignmentReport", ex.Message, this.path, this.errorlogtf);
|
||
return detailVecvCalculation;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
public ReportRequestModel GetAllDTCReport(ReportRequestModel model)
|
||
{
|
||
ReportRequestModel detailVecvCalculation = new ReportRequestModel();
|
||
List<DTCReport> objList = new List<DTCReport>();
|
||
try
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
|
||
nSqlParam[0] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[1] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dtc_report_tickets"], nSqlParam);
|
||
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new DTCReport
|
||
{
|
||
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16("330")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
Dealer1SCode = s.Field<string>("_dealer_1scode"),
|
||
DealerName = s.Field<string>("_dealer_name"),
|
||
DTC_CODE = s.Field<string>("_dtc_code") == null ? "" : s.Field<string>("_dtc_code"),
|
||
DTC_Description = s.Field<string>("_dtc_description") == null ? "" : s.Field<string>("_dtc_description"),
|
||
DTC_Occurance_Date = s.Field<string>("_dtc_occurance_date") == null ? "" : s.Field<string>("_dtc_occurance_date"),
|
||
Opp_lost_reason = s.Field<string>("_opp_lost_reason") == null ? "" : s.Field<string>("_opp_lost_reason"),
|
||
Opp_lost = s.Field<string>("_opp_lost") == null ? "" : s.Field<string>("_opp_lost"),
|
||
Occurence_count = s.Field<string>("_occurence_count") == null ? "" : s.Field<string>("_occurence_count"),
|
||
status = s.Field<string>("_status") == null ? "" : s.Field<string>("_status"),
|
||
chassis_number = s.Field<string>("_chassis_number") == null ? "" : s.Field<string>("_chassis_number"),
|
||
Registration_no = s.Field<string>("_registration_no") == null ? "" : s.Field<string>("_registration_no"),
|
||
Vehicle_Emission_Norms = s.Field<string>("_vehicle_emission_norms") == null ? "" : s.Field<string>("_vehicle_emission_norms"),
|
||
Vehicle_Model = s.Field<string>("_vehicle_model") == null ? "" : s.Field<string>("_vehicle_model"),
|
||
vehicle_type = s.Field<string>("_vehicle_type") == null ? "" : s.Field<string>("_vehicle_type"),
|
||
Organization = s.Field<string>("_organization") == null ? "" : s.Field<string>("_organization")
|
||
|
||
}).ToList();
|
||
detailVecvCalculation.DTCReport = objList;
|
||
detailVecvCalculation.Status = "1";
|
||
|
||
|
||
return detailVecvCalculation;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("GetAllDTCReport", ex.Message, this.path, this.errorlogtf);
|
||
return detailVecvCalculation;
|
||
}
|
||
}
|
||
|
||
public List<DTCReport> GetDTCReportByTicketId(DTCReport model)
|
||
{
|
||
|
||
List<DTCReport> objList = new List<DTCReport>();
|
||
try
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.TicketIdAlias);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dtc_report_tickets_by_ticket_id"], nSqlParam);
|
||
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new DTCReport
|
||
{
|
||
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16("330")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
Dealer1SCode = s.Field<string>("_dealer_1scode"),
|
||
DealerName = s.Field<string>("_dealer_name"),
|
||
DTC_CODE = s.Field<string>("_dtc_code") == null ? "" : s.Field<string>("_dtc_code"),
|
||
DTC_Description = s.Field<string>("_dtc_description") == null ? "" : s.Field<string>("_dtc_description"),
|
||
DTC_Occurance_Date = s.Field<string>("_dtc_occurance_date") == null ? "" : s.Field<string>("_dtc_occurance_date"),
|
||
Opp_lost_reason = s.Field<string>("_opp_lost_reason") == null ? "" : s.Field<string>("_opp_lost_reason"),
|
||
Opp_lost = s.Field<string>("_opp_lost") == null ? "" : s.Field<string>("_opp_lost"),
|
||
Occurence_count = s.Field<string>("_occurence_count") == null ? "" : s.Field<string>("_occurence_count"),
|
||
status = s.Field<string>("_status") == null ? "" : s.Field<string>("_status"),
|
||
Organization = s.Field<string>("_organization") == null ? "" : s.Field<string>("_organization")
|
||
|
||
}).ToList();
|
||
|
||
return objList;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("GetDTCReportByTicketId", ex.Message, this.path, this.errorlogtf);
|
||
return objList;
|
||
}
|
||
}
|
||
public string GetDTCReportCountByTicketId(DTCReport model)
|
||
{
|
||
|
||
string Count = "";
|
||
try
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.TicketIdAlias);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_dtc_report_count_tickets_by_ticket_id"], nSqlParam);
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
Count = Convert.ToString(ds.Tables[0].Rows[0]["sp_get_dtc_report_count_tickets_by_ticket_id"]);
|
||
// strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
|
||
return Count;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("GetDTCReportByTicketId", ex.Message, this.path, this.errorlogtf);
|
||
return Count;
|
||
}
|
||
}
|
||
|
||
|
||
public ReportRequestModel GetAllReassignmentReport()
|
||
{
|
||
ReportRequestModel detailVecvCalculation = new ReportRequestModel();
|
||
List<ReassignmentReport> objList = new List<ReassignmentReport>();
|
||
try
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[0];
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_reassignment_tickets"], nSqlParam);
|
||
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new ReassignmentReport
|
||
{
|
||
TicketIdAlias = s.Field<string>("_ticket_id_alias"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16("330")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
Dealer1SCode = s.Field<string>("_dealer_1scode"),
|
||
DealerName = s.Field<string>("_dealer_name"),
|
||
TicketStatus = s.Field<string>("_ticket_status"),
|
||
Reassign_to = s.Field<string>("_reassign_to"),
|
||
Reassign_Reason = s.Field<string>("_reassign_reason") == null ? "" : s.Field<string>("_reassign_reason"),
|
||
ReassignTime = Convert.ToDateTime(s.Field<DateTime?>("_reassign_time")).AddMinutes(Convert.ToInt16("330")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
ReassignStatus = s.Field<string>("_ticket_assign_status") == null ? "" : s.Field<string>("_ticket_assign_status"),
|
||
|
||
}).ToList();
|
||
|
||
detailVecvCalculation.ReassignmentReport = objList;
|
||
detailVecvCalculation.Status = "1";
|
||
|
||
|
||
return detailVecvCalculation;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("GetAllReassignmentReport", ex.Message, this.path, this.errorlogtf);
|
||
return detailVecvCalculation;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
public ReportRequestModel GetAlltechinicianNoReport()
|
||
{
|
||
ReportRequestModel detailVecvCalculation = new ReportRequestModel();
|
||
List<TechnicianReport> objList = new List<TechnicianReport>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[0];
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_technician_no_all"], nSqlParam);
|
||
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new TechnicianReport
|
||
{
|
||
TicketIdAlias = s.Field<string>("_ticket_id"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16("330")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
TechnicianNumber = s.Field<string>("_technician_no"),
|
||
Ticket_status = s.Field<string>("_ticket_status"),
|
||
}).ToList();
|
||
|
||
detailVecvCalculation.TechnicianReport = objList;
|
||
detailVecvCalculation.Status = "1";
|
||
|
||
|
||
return detailVecvCalculation;
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
|
||
objLog.ErrorLogFile("GetAlltechinicianNoReport", ex.Message, this.path, this.errorlogtf);
|
||
return detailVecvCalculation;
|
||
}
|
||
}
|
||
|
||
public List<TicketOpenModel> getOpenTicketModelWiseAll()
|
||
{
|
||
TicketOpenModelWise objModel = new TicketOpenModelWise();
|
||
List<TicketOpenModel> objList = new List<TicketOpenModel>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
|
||
|
||
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetOpenCloseTicketDetail", Ex.Message, path, errorlogtf);
|
||
|
||
}
|
||
return objList;
|
||
}
|
||
|
||
public List<TicketOpenModel> getOpenTicketModelWise(TicketRequestModel model)
|
||
{
|
||
TicketRequestModel objModel = new TicketRequestModel();
|
||
List<TicketOpenModel> objList = new List<TicketOpenModel>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_tickets_model_wise"], nSqlParam);
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new TicketOpenModel
|
||
{
|
||
Id = s.Field<string>("_ticket_id"),
|
||
ServiceEngineerContactNumber = s.Field<string>("_dealer_contact_number1"),
|
||
CreationTime = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
VehicleRegistrationNo = s.Field<string>("_vehicle_registration_number"),
|
||
ticketid_alias = s.Field<string>("_ticket_id_alias"),
|
||
caller_language = s.Field<string>("_caller_language"),
|
||
ChassisNo = s.Field<string>("_chassis_number"),
|
||
Description = s.Field<string>("_nature_of_problem"),
|
||
dealer1scode = s.Field<string>("_Dealer_name_1scode"),
|
||
ServiceEngineerAlias = s.Field<string>("_created_by"),
|
||
VanVanModel = s.Field<string>("model_number"),
|
||
WM_Contact_No = s.Field<string>("wm_contact_no"),
|
||
WM_Name = s.Field<string>("wm"),
|
||
plant_code = s.Field<string>("_plant_code"),
|
||
}).ToList();
|
||
|
||
|
||
objModel.TicketList = objList;
|
||
objModel.Status = "1";
|
||
}
|
||
else
|
||
{
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
objModel.Status = "0";
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetOpenCloseTicketDetail", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
objModel.Status = "0";
|
||
}
|
||
return objList;
|
||
}
|
||
public string updatecaseid(string ticketid, string caseId)
|
||
{
|
||
string strmessage = "";
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", ticketid);
|
||
nSqlParam[1] = new NpgsqlParameter("in_caseId", caseId);
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_case_id"], nSqlParam);
|
||
strmessage = "success";
|
||
return strmessage;
|
||
}
|
||
|
||
public List<VanDealerListStateWise> GetVanDealerListLatLngWise(VanDealerListStateWise model)
|
||
{
|
||
List<VanDealerListStateWise> objListModel = new List<VanDealerListStateWise>();
|
||
VanDealerListStateWise objModel = new VanDealerListStateWise();
|
||
|
||
try
|
||
{
|
||
objModel.Status = "1";
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
DataSet dsTracking = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inLatitude", model.DealerVanLattitude);
|
||
nSqlParam[1] = new NpgsqlParameter("inLongitude", model.DealerVanLongitude);
|
||
nSqlParam[2] = new NpgsqlParameter("infuelType", model.Fuel_type);
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_dealer_list_lat_lng_wise"], nSqlParam);
|
||
|
||
objListModel = ds.Tables[0].AsEnumerable().Select(s => new VanDealerListStateWise
|
||
{
|
||
DealerSCode = s.Field<string>("dealer_van_id"),
|
||
DealerVanName = s.Field<string>("dealer_van_name"),
|
||
DealerVanLattitude = s.Field<string>("dealer_van_lattitude"),
|
||
DealerVanLongitude = s.Field<string>("dealer_van_longitude"),
|
||
DealerVanCity = s.Field<string>("dealer_van_city"),
|
||
DealerVanState = s.Field<string>("dealer_van_state"),
|
||
Fuel_type = s.Field<string>("fueltype")
|
||
}).ToList();
|
||
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("GetVanDealerListLatLngWise", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
return objListModel;
|
||
}
|
||
|
||
public EscalationLevelOutputModel GetEscalationLevelsByDealerId(EscalationLevelInputModel model)
|
||
{
|
||
EscalationLevelOutputModel oEscalationLevelOutputModel = new EscalationLevelOutputModel();
|
||
List<EscalationLevel> oEscalationLevelList = new List<EscalationLevel>();
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
// validating security token
|
||
if (objAuthorization.AuthenticateDevice(model.Token)) ;
|
||
{
|
||
// getting escalation level from DB
|
||
if (model.ProductVariant == null)
|
||
{
|
||
model.VehicleType = "";
|
||
}
|
||
else
|
||
{
|
||
if (model.ProductVariant.ToLower() == "electric")
|
||
{
|
||
model.VehicleType = "EV";
|
||
}
|
||
}
|
||
DataSet escalationLevelDataset = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
nSqlParam[0] = new NpgsqlParameter("in_dealer_id", model.DelerId);
|
||
nSqlParam[1] = new NpgsqlParameter("in_vehicle_type", model.VehicleType);
|
||
|
||
|
||
|
||
escalationLevelDataset = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_escalation_level_by_dealer_id"], nSqlParam);
|
||
|
||
// binding escalation level to model list
|
||
if (escalationLevelDataset.Tables[0].Rows.Count > 0)
|
||
{
|
||
oEscalationLevelList = escalationLevelDataset.Tables[0].AsEnumerable().Select(s => new EscalationLevel
|
||
{
|
||
DelaerId = s.Field<string>("dealer_id"),
|
||
ManagerName = s.Field<string>("manager_name"),
|
||
ManagerLevel = s.Field<string>("manager_level"),
|
||
ManagerPhoneNo = s.Field<string>("phones"),
|
||
VehicleType = s.Field<string>("van_type")
|
||
}).ToList();
|
||
}
|
||
oEscalationLevelOutputModel.EscalationLevelList = oEscalationLevelList;
|
||
}
|
||
oEscalationLevelOutputModel.Status = "1";
|
||
return oEscalationLevelOutputModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetEscalationLevels", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
public string getEmailFromDealerCode(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_email_by_dealer_code"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = Convert.ToString(ds.Tables[0].Rows[0]["sp_get_email_by_dealer_code"]);
|
||
// strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("usp_get_email_by_dealer_code", Ex.Message, path, errorlogtf);
|
||
}
|
||
return strmessage;
|
||
}
|
||
|
||
|
||
public CustomerVehicleModelDBM CustomerEngineNoByEOS(string Engine_number, string VehicleRegistrationNumber)
|
||
{
|
||
string regno = VehicleRegistrationNumber;
|
||
CustomerVehicleModelDBM model = new CustomerVehicleModelDBM();
|
||
CustomerVehicleModelDBM objCutomerVehicle = new CustomerVehicleModelDBM();
|
||
try
|
||
{
|
||
|
||
GlobalRepository objGlobalRepository = new GlobalRepository("");
|
||
// objCutomerVehicle = GetCustomerDetailsDBM(model);
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
if (Engine_number == null)
|
||
{
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number ", VehicleRegistrationNumber);
|
||
nSqlParam[1] = new NpgsqlParameter("inEngineNumber", null);
|
||
}
|
||
else
|
||
{
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number ", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inEngineNumber", Engine_number);
|
||
|
||
}
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_details_EPS_by_eos"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
|
||
|
||
|
||
model.VehicleRegistrationNumber = ds.Tables[0].Rows[0]["_reg_no"].ToString();
|
||
model.VehicleNumberPlate = ds.Tables[0].Rows[0]["_engine_no"].ToString();
|
||
model.Engine_number = ds.Tables[0].Rows[0]["_engine_no"].ToString();
|
||
model.VehicleModelNumber = ds.Tables[0].Rows[0]["_customer_vehicle_model_name"].ToString();
|
||
model.VehicleType = ds.Tables[0].Rows[0]["_vehicle_type"].ToString();
|
||
model.product_variant = ds.Tables[0].Rows[0]["_Vehicle_PRODUCT_TYPE"].ToString();
|
||
model.SALES_DATE = ds.Tables[0].Rows[0]["_SALES_DATE"].ToString();
|
||
model.warranty_end_date = ds.Tables[0].Rows[0]["_WARRENTY_EXPIRY_DATE"].ToString();
|
||
model.OdoMeterReading = "0.0";
|
||
|
||
model.vehicle_installation_date = "";//.Tables[0].Rows[0]["_vehicle_Installation_date"].ToString();
|
||
|
||
|
||
model.VehicleEmissionNorms = ds.Tables[0].Rows[0]["_EMISSION_NORMS"].ToString();
|
||
model.Fert = ds.Tables[0].Rows[0]["_fert"].ToString();
|
||
model.VehicleFuelType = ds.Tables[0].Rows[0]["_vehicle_fuel_type"].ToString();
|
||
model.vehicle_warranty = "";
|
||
model.CustomerName = ds.Tables[0].Rows[0]["_customer_customer_name"].ToString();
|
||
model.CustomerMobile1 = ds.Tables[0].Rows[0]["_customer_mobile_number_1"].ToString();
|
||
//model. = ds.Tables[0].Rows[0]["owner_number"].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();
|
||
model.vehicle_amc = ""; //ds.Tables[0].Rows[0]["_vehicle_amc"].ToString();
|
||
|
||
|
||
//model.CustomerType = ds.Tables[0].Rows[0]["Vehicle_type"].ToString();
|
||
model.userType = "EOSEPS";
|
||
objCutomerVehicle = model;
|
||
}
|
||
|
||
// model.VehicleRegistrationNumber = regno;
|
||
// objCutomerVehicle.VehicleRegistrationNumber = regno;
|
||
return objCutomerVehicle;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
// write error log into fil
|
||
objLog.ErrorLogFile("CustomerVehicleModelByDBM", Ex.Message, path, errorlogtf);
|
||
objCutomerVehicle = new CustomerVehicleModelDBM();
|
||
objCutomerVehicle.Status = 0;
|
||
objCutomerVehicle.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
||
return objCutomerVehicle;
|
||
}
|
||
|
||
|
||
}
|
||
//Added by mayuri on 23/07/25
|
||
public InsertOpenTicket InsertOpenTicketNonHarvester(InsertOpenTicket model)
|
||
|
||
{
|
||
|
||
InsertOpenTicket objModel = new InsertOpenTicket();
|
||
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
|
||
SendNotificationModel objGcmModel = new SendNotificationModel();
|
||
|
||
if (!string.IsNullOrEmpty(model.SuggestionComment))
|
||
|
||
{
|
||
|
||
model.SuggestionComment = model.SuggestionComment.Replace("/", "");
|
||
|
||
model.SuggestionComment = model.SuggestionComment.Replace(@"\", "");
|
||
|
||
}
|
||
|
||
try
|
||
|
||
{
|
||
|
||
objModel.Status = "1";
|
||
|
||
DataSet ds = new DataSet();
|
||
|
||
DataSet dsGcm = new DataSet();
|
||
|
||
objAuthorization = new AuthenticationRepository();
|
||
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
|
||
{
|
||
|
||
if (model.VehicleRegistrationNumber == null)
|
||
{
|
||
model.VehicleRegistrationNumber = null;
|
||
}
|
||
else if (model.VehicleRegistrationNumber.ToLower() == "null")
|
||
{
|
||
model.VehicleRegistrationNumber = null;
|
||
}
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[50];
|
||
|
||
nSqlParam[0] = new NpgsqlParameter("indescription", model.Description);
|
||
|
||
nSqlParam[1] = new NpgsqlParameter("inassigned_to", model.AssignedTo);
|
||
|
||
nSqlParam[2] = new NpgsqlParameter("inreported_via", model.ReportedVia);
|
||
|
||
nSqlParam[3] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
|
||
nSqlParam[4] = new NpgsqlParameter("inpriority", model.Priority);
|
||
|
||
nSqlParam[5] = new NpgsqlParameter("incustomer_score", model.CustomerScore);
|
||
|
||
nSqlParam[6] = new NpgsqlParameter("increated_by", model.CreatedBy);
|
||
|
||
nSqlParam[7] = new NpgsqlParameter("increation_time ", model.CreationTime != null ? Convert.ToDateTime(model.CreationTime).AddMinutes(-model.UtcMinute) : model.CreationTime);
|
||
|
||
nSqlParam[8] = new NpgsqlParameter("inlast_modified_by", model.LastModifiedBy);
|
||
|
||
nSqlParam[9] = new NpgsqlParameter("inlast_modified_time", model.LastModifiedTime != null ? Convert.ToDateTime(model.LastModifiedTime).AddMinutes(-model.UtcMinute) : model.LastModifiedTime);
|
||
|
||
nSqlParam[10] = new NpgsqlParameter("inbreakdown_location", model.BreakdownLocation);
|
||
|
||
nSqlParam[11] = new NpgsqlParameter("inbreakdown_longitude", model.BreakdownLongitude);
|
||
|
||
nSqlParam[12] = new NpgsqlParameter("inbreakdown_lattitude", model.BreakdownLattitude);
|
||
|
||
nSqlParam[13] = new NpgsqlParameter("inassigned_to_user_id", model.AssignedToUserId);
|
||
|
||
nSqlParam[14] = new NpgsqlParameter("inassigned_to_user_lattitude", model.AssignedToUserLattitude);
|
||
|
||
nSqlParam[15] = new NpgsqlParameter("inassigned_to_user_longitude", model.AssignedToUserLongitude);
|
||
|
||
nSqlParam[16] = new NpgsqlParameter("inisdeclined", model.IsDeclined);
|
||
|
||
nSqlParam[17] = new NpgsqlParameter("inestimated_time_for_job_completion", model.EstimatedTimeForJobCompletion);
|
||
|
||
nSqlParam[18] = new NpgsqlParameter("intotal_ticket_lifecycle_time_sla", model.TotalTicketLifecycleTimeSla);
|
||
|
||
nSqlParam[19] = new NpgsqlParameter("inestimated_time_for_job_completion_submit_time", model.EstimatedTimeForJobCompletionSubmitTime != null ? Convert.ToDateTime(model.EstimatedTimeForJobCompletionSubmitTime).AddMinutes(-model.UtcMinute) : model.EstimatedTimeForJobCompletionSubmitTime);
|
||
|
||
nSqlParam[20] = new NpgsqlParameter("invehicle_registration_number", model.VehicleRegistrationNumber);
|
||
|
||
nSqlParam[21] = new NpgsqlParameter("inbreakdown_location_landmark", model.BreakdownLocationLandmark);
|
||
|
||
nSqlParam[22] = new NpgsqlParameter("inroute_id", model.RouteId);
|
||
|
||
nSqlParam[23] = new NpgsqlParameter("incustomer_contact_no", model.CustomerContactNo);
|
||
|
||
nSqlParam[24] = new NpgsqlParameter("inrepair_cost", model.RepairCost);
|
||
|
||
nSqlParam[25] = new NpgsqlParameter("indefault_sla_time", model.DefaultSlaTime);
|
||
|
||
nSqlParam[26] = new NpgsqlParameter("indefault_col_1", model.JobCompleteResponseTime);
|
||
|
||
nSqlParam[27] = new NpgsqlParameter("indefault_col_2", model.DefaultCol2);
|
||
|
||
nSqlParam[28] = new NpgsqlParameter("indefault_col_3", model.DefaultCol3);
|
||
|
||
nSqlParam[29] = new NpgsqlParameter("instate_name", model.StateName);
|
||
|
||
nSqlParam[30] = new NpgsqlParameter("incity_name", model.CityName);
|
||
|
||
nSqlParam[31] = new NpgsqlParameter("incaller_language", model.CallerLanguage);
|
||
|
||
nSqlParam[32] = new NpgsqlParameter("inwarranty", model.Warranty);
|
||
|
||
nSqlParam[33] = new NpgsqlParameter("intoll_free_no_source", model.TollFreeeNoSource);
|
||
|
||
nSqlParam[34] = new NpgsqlParameter("inestimate_distance", model.EstimateDistance);
|
||
|
||
nSqlParam[35] = new NpgsqlParameter("invehicle_tagging", model.VehicleTagging);
|
||
|
||
nSqlParam[36] = new NpgsqlParameter("inkm_covered", model.KmCovered);
|
||
|
||
nSqlParam[37] = new NpgsqlParameter("inother_remarks", model.OtherRemarks);
|
||
|
||
//added on 26/11/2020
|
||
|
||
nSqlParam[38] = new NpgsqlParameter("invehicle_warranty", model.vehicle_warranty != null ? model.vehicle_warranty : "");
|
||
|
||
nSqlParam[39] = new NpgsqlParameter("invehicle_amc", model.vehicle_amc != null ? model.vehicle_amc : "");
|
||
|
||
nSqlParam[40] = new NpgsqlParameter("invehicle_emission_norms", model.vehicle_emission_norms != null ? model.vehicle_emission_norms : "");
|
||
|
||
nSqlParam[41] = new NpgsqlParameter("invehicle_sales_date", model.vehicle_sales_date != null ? model.vehicle_sales_date : "");
|
||
|
||
|
||
|
||
nSqlParam[42] = new NpgsqlParameter("inkam_champ_id", "");
|
||
|
||
nSqlParam[43] = new NpgsqlParameter("inkam_champ_name", "");
|
||
|
||
nSqlParam[44] = new NpgsqlParameter("inkam_champ_tel", "");
|
||
|
||
nSqlParam[45] = new NpgsqlParameter("inkam_champ_email", "");
|
||
|
||
nSqlParam[46] = new NpgsqlParameter("positionDateTime", model.positionDateTime);
|
||
|
||
nSqlParam[47] = new NpgsqlParameter("inengine_number", model.ChassisNo);
|
||
|
||
nSqlParam[48] = new NpgsqlParameter("inis_eps", model.IsEPS);
|
||
//Added EPS_Prod_type By Mayuri Khandelwal on 29 July 2025
|
||
nSqlParam[49] = new NpgsqlParameter("INEPS_PROD_TYPE", model.EPS_prod_type);
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_open_ticket"], nSqlParam);
|
||
|
||
|
||
|
||
string ticketIdAlias = null; // taking variable to store ticket Id alias
|
||
|
||
int mobileOtp = 0;
|
||
|
||
// send GCM msg to device.
|
||
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
|
||
{
|
||
|
||
ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString(); // getting ticket id alias
|
||
|
||
objModel.TicketId = ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
|
||
if (!String.IsNullOrWhiteSpace(ticketIdAlias))
|
||
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", ds.Tables[0].Rows[0]["_ticket_id"]);
|
||
|
||
nSqlParam1[1] = new NpgsqlParameter("in_van_id", model.AssignedToUserId);
|
||
|
||
//Get Device GCm id for ticket.
|
||
|
||
dsGcm = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_create_ticket_otp"], nSqlParam1);
|
||
|
||
mobileOtp = Convert.ToInt32(dsGcm.Tables[0].Rows[0]["sp_create_ticket_otp"]);
|
||
|
||
objModel.Message = mobileOtp.ToString();
|
||
|
||
DataSet dsReCreateOtp = new DataSet();
|
||
|
||
|
||
|
||
//added on 01-12-2021
|
||
|
||
if (mobileOtp == 0)
|
||
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam3 = new NpgsqlParameter[2];
|
||
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", ds.Tables[0].Rows[0]["_ticket_id"]);
|
||
|
||
nSqlParam1[1] = new NpgsqlParameter("in_van_id", model.AssignedToUserId);
|
||
|
||
//Get Device GCm id for ticket.
|
||
|
||
dsReCreateOtp = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_create_ticket_otp"], nSqlParam3);
|
||
|
||
objModel.Message = dsReCreateOtp.ToString();
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
}
|
||
|
||
}
|
||
|
||
else
|
||
|
||
{
|
||
|
||
objModel.Status = "0";
|
||
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
|
||
}
|
||
|
||
return objModel;
|
||
|
||
}
|
||
|
||
catch (Exception Ex)
|
||
|
||
{
|
||
|
||
objModel.Status = "0";
|
||
|
||
objModel.Message = Ex.Message;
|
||
|
||
objLog.ErrorLogFile("InsertOpenTicket", Ex.Message, path, errorlogtf);
|
||
|
||
return objModel;
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
#endregion
|
||
#region
|
||
/// <summary>
|
||
/// To update open ticket for android
|
||
/// </summary>
|
||
/// <param name="model">open ticket detail for updation</param>
|
||
/// <returns>contain response status 1 or 0</returns>
|
||
public InsertOpenTicket UpdateOpenTicketaAndroidNEW(InsertOpenTicket model)
|
||
{
|
||
InsertOpenTicket objModel = new InsertOpenTicket();
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
SendNotificationModel objGcmModel = new SendNotificationModel();
|
||
try
|
||
{
|
||
objModel.Status = "1";
|
||
DataSet ds2 = new DataSet();
|
||
DataSet dsGcm = new DataSet();
|
||
int UtcMinute = 330;
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
if (model.TicketStatus == 8)
|
||
{
|
||
// updating ticket status and creating activity by trigger
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[8];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam[1] = new NpgsqlParameter("inlast_modified_by", model.LastModifiedBy);
|
||
//commented for wrong date and time due to mobile device time
|
||
//nSqlParam[2] = new NpgsqlParameter("inlast_modification_time", model.LastModifiedTime);
|
||
nSqlParam[2] = new NpgsqlParameter("inlast_modification_time", DateTime.Now.AddMinutes(-UtcMinute));
|
||
nSqlParam[3] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
nSqlParam[4] = new NpgsqlParameter("inremarks", model.OtherRemarks);
|
||
nSqlParam[5] = new NpgsqlParameter("inflag", model.Flag);
|
||
//added on 23/09/2020
|
||
nSqlParam[6] = new NpgsqlParameter("invan_latitude", model.VanLatitude);
|
||
nSqlParam[7] = new NpgsqlParameter("invan_longitude", model.VanLongitude);
|
||
ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_trip_end"], nSqlParam);
|
||
if (model.TicketIdAlias.Contains('S') == true)
|
||
{
|
||
|
||
DataSet dsactivity = new DataSet();
|
||
NpgsqlParameter[] nSqlParamActivity = new NpgsqlParameter[6];
|
||
// //nSqlParam[0] = new NpgsqlParameter("in_van_reached_date_time", Convert.ToDateTime(model.VanReachedTime));
|
||
nSqlParamActivity[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParamActivity[1] = new NpgsqlParameter("inlast_modified_by", model.LastModifiedBy);
|
||
nSqlParamActivity[2] = new NpgsqlParameter("inlast_modified_time", DateTime.Now.AddMinutes(-UtcMinute));
|
||
nSqlParamActivity[3] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
|
||
nSqlParamActivity[4] = new NpgsqlParameter("invan_latitude", model.VanLatitude);
|
||
nSqlParamActivity[5] = new NpgsqlParameter("invan_longitude", model.VanLongitude);
|
||
dsactivity = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_van_lat_lng_in_activity_ticket_open_scv"], nSqlParamActivity);
|
||
|
||
}
|
||
}
|
||
else
|
||
{
|
||
string strTicketStatus = "";
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParamopen = new NpgsqlParameter[1];
|
||
nSqlParamopen[0] = new NpgsqlParameter("inticketid ", model.TicketId);
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_ticket_Cogent_API_By_ticketId"], nSqlParamopen);
|
||
if (dsOpen.Tables.Count > 0)
|
||
{
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
strTicketStatus = dsOpen.Tables[0].Rows[0]["_ticket_status"].ToString();
|
||
|
||
}
|
||
}
|
||
|
||
// get latest ticket activity for the ticket.
|
||
NpgsqlParameter[] nSqlParam0 = new NpgsqlParameter[1];
|
||
nSqlParam0[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
DataSet ds_latest_ticket_activity = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_ticket_activity"], nSqlParam0);
|
||
model.TicketStatusPrevious = ds_latest_ticket_activity.Tables[0].Rows[0][0].ToString();
|
||
// updating ticket status and creating activity by trigger
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[39];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam[1] = new NpgsqlParameter("inassigned_to", model.AssignedTo);
|
||
nSqlParam[2] = new NpgsqlParameter("inreported_via", model.ReportedVia);
|
||
nSqlParam[3] = new NpgsqlParameter("inpriority", model.Priority);
|
||
nSqlParam[4] = new NpgsqlParameter("incustomer_score", model.CustomerScore);
|
||
nSqlParam[5] = new NpgsqlParameter("inbreakdown_location", model.BreakdownLocation);
|
||
nSqlParam[6] = new NpgsqlParameter("inlast_modified_by", model.LastModifiedBy);
|
||
//nSqlParam[7] = new NpgsqlParameter("inlast_modified_time", model.LastModifiedTime);
|
||
nSqlParam[7] = new NpgsqlParameter("inlast_modified_time", DateTime.Now.AddMinutes(-UtcMinute));
|
||
nSqlParam[8] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
nSqlParam[9] = new NpgsqlParameter("indescription", model.Description);
|
||
nSqlParam[10] = new NpgsqlParameter("inbreakdown_longitude", model.BreakdownLongitude);
|
||
nSqlParam[11] = new NpgsqlParameter("inbreakdown_lattitude", model.BreakdownLattitude);
|
||
nSqlParam[12] = new NpgsqlParameter("inassigned_to_user_id", model.AssignedToUserId);
|
||
nSqlParam[13] = new NpgsqlParameter("inassigned_to_user_lattitude", model.AssignedToUserLattitude);
|
||
nSqlParam[14] = new NpgsqlParameter("inassigned_to_user_longitude", model.AssignedToUserLongitude);
|
||
nSqlParam[15] = new NpgsqlParameter("inestimated_time_for_job_completion", model.EstimatedTimeForJobCompletion);
|
||
nSqlParam[16] = new NpgsqlParameter("inestimated_time_for_job_completion_submit_time", model.EstimatedTimeForJobCompletionSubmitTime);
|
||
nSqlParam[17] = new NpgsqlParameter("inbreakdown_location_landmark", model.BreakdownLocationLandmark);
|
||
nSqlParam[18] = new NpgsqlParameter("inroute_id", model.RouteId);
|
||
nSqlParam[19] = new NpgsqlParameter("inrepair_cost", model.RepairCost);
|
||
nSqlParam[20] = new NpgsqlParameter("indefault_sla_time", model.DefaultSlaTime);
|
||
nSqlParam[21] = new NpgsqlParameter("insla_missed_reason", model.SlaMissedReason);
|
||
nSqlParam[22] = new NpgsqlParameter("insuggestion_comment", model.SuggestionComment);
|
||
nSqlParam[23] = new NpgsqlParameter("indefault_col_1", model.JobCompleteResponseTime);
|
||
nSqlParam[24] = new NpgsqlParameter("indefault_col_2", model.DefaultCol2);
|
||
nSqlParam[25] = new NpgsqlParameter("indefault_col_3", model.DefaultCol3);
|
||
nSqlParam[26] = new NpgsqlParameter("inopportunity_loss", model.OpportunityLost);
|
||
nSqlParam[27] = new NpgsqlParameter("inreason_for_more_then_24hours", model._24HrsReason);
|
||
nSqlParam[28] = new NpgsqlParameter("inestimated_distance", null);
|
||
nSqlParam[29] = new NpgsqlParameter("inother_remarks", model.OtherRemarks);
|
||
nSqlParam[30] = new NpgsqlParameter("inchassis_number", model.ChassisNo);
|
||
nSqlParam[31] = new NpgsqlParameter("inodometer_reading", model.OdometerReading);
|
||
nSqlParam[32] = new NpgsqlParameter("invehicle_type", model.VehicleType);
|
||
nSqlParam[33] = new NpgsqlParameter("inprevious_odometer_reading", model.PreviousOdometerReading);
|
||
//added on 23-09-2020
|
||
nSqlParam[34] = new NpgsqlParameter("invan_latitude", model.VanLatitude);
|
||
nSqlParam[35] = new NpgsqlParameter("invan_longitude", model.VanLongitude);
|
||
nSqlParam[36] = new NpgsqlParameter("inmobile_request", model.IsMobileRequest);
|
||
nSqlParam[37] = new NpgsqlParameter("in_estimated_van_reach_time", model.estimatedVAnReachTime);
|
||
nSqlParam[38] = new NpgsqlParameter("inpreclosure_reason", model.preclosure_reason);
|
||
ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_open_ticket_status"], nSqlParam);
|
||
if (model.TicketIdAlias.Contains('S') == true)
|
||
{
|
||
|
||
DataSet dsactivity = new DataSet();
|
||
NpgsqlParameter[] nSqlParamActivity = new NpgsqlParameter[6];
|
||
// //nSqlParam[0] = new NpgsqlParameter("in_van_reached_date_time", Convert.ToDateTime(model.VanReachedTime));
|
||
nSqlParamActivity[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParamActivity[1] = new NpgsqlParameter("inlast_modified_by", model.LastModifiedBy);
|
||
nSqlParamActivity[2] = new NpgsqlParameter("inlast_modified_time", DateTime.Now.AddMinutes(-UtcMinute));
|
||
nSqlParamActivity[3] = new NpgsqlParameter("inticket_status", model.TicketStatus);
|
||
|
||
nSqlParamActivity[4] = new NpgsqlParameter("invan_latitude", model.VanLatitude);
|
||
nSqlParamActivity[5] = new NpgsqlParameter("invan_longitude", model.VanLongitude);
|
||
dsactivity = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_van_lat_lng_in_activity_ticket_open_scv"], nSqlParamActivity);
|
||
|
||
}
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
return objModel;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = "0";
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("UpdateOpenTicketaAndroid", Ex.Message, path, errorlogtf);
|
||
return objModel;
|
||
}
|
||
}
|
||
|
||
|
||
public void TripENDDBM(InsertOpenTicket model)
|
||
{
|
||
string strVanReach = "";
|
||
try
|
||
{
|
||
if (model.TicketStatus == 5)
|
||
{
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParamclose = new NpgsqlParameter[1];
|
||
nSqlParamclose[0] = new NpgsqlParameter("inticket_id ", model.TicketId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_van_reach_time_close"], nSqlParamclose);
|
||
if (ds == null)
|
||
{
|
||
}
|
||
else
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strVanReach = Convert.ToString(ds.Tables[0].Rows[0]["_creation_time"]) == "" ? "" : Convert.ToDateTime(ds.Tables[0].Rows[0]["_creation_time"]).ToString(System.Configuration.ConfigurationManager.AppSettings["DateTimeFormatSAP"]);
|
||
|
||
}
|
||
}
|
||
}
|
||
objLog.AddLogFile("TripENDDBM", model.TicketId, path, errorlogtf);
|
||
|
||
UdanPushData.SendDataToSAP(null, model.TicketStatus, model.TicketId, strVanReach);
|
||
acitvityUpdateForMobile(Convert.ToInt32(model.TicketStatus), model.TicketId, "TripEnd", true, "Success", model.AssignedToUserId);
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
acitvityUpdateForMobile(Convert.ToInt32(model.TicketStatus), model.TicketId, "TripEnd", false, ex.Message, model.AssignedToUserId);
|
||
}
|
||
|
||
}
|
||
|
||
|
||
public void SendSMSForMobile(InsertOpenTicket model)
|
||
{
|
||
|
||
DataSet ds_latest_ticket_activity = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
||
|
||
#region Sending SMS ( When ticket estimated van reach time punched )
|
||
|
||
if ((model.TicketStatus.ToString() == "9") && (model.IsMobileRequest == true))
|
||
{
|
||
try
|
||
{
|
||
DataSet ds1_ticket_info = new DataSet();
|
||
DataSet ds2_ticket_info = new DataSet();
|
||
DataSet ds3_ticket_info = new DataSet();
|
||
UrlShortener shortener = new UrlShortener();
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds3_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
//get sending sms api url.
|
||
string url = System.Web.Configuration.WebConfigurationManager.AppSettings["SmsUrl"].ToString();
|
||
if (System.Configuration.ConfigurationManager.AppSettings["livetrackingsmsIsBlocked"] != "true")
|
||
{
|
||
string msgestimatedVanReachTime = System.Web.Configuration.WebConfigurationManager.AppSettings["msgLiveTrackingLink"].ToString();
|
||
if (ds3_ticket_info.Tables.Count > 0)
|
||
{
|
||
if (ds3_ticket_info.Tables[0].Rows.Count > 0)
|
||
{
|
||
string strurl = Encrypt(ds3_ticket_info.Tables[0].Rows[0]["_ticket_id_alias"].ToString(), "Tracking", "YourSaltValue");
|
||
//string strurl = Encrypt("W2H0524869754", "Tracking", "YourSaltValue");
|
||
string liveurl = System.Web.Configuration.WebConfigurationManager.AppSettings["base_url_live_tracking"].ToString();// + strurl;
|
||
string smsSentUrl = $"{liveurl}?{"p"}={Uri.EscapeDataString(strurl)}";
|
||
|
||
//smsSentUrl= smsSentUrl.Replace("%3D","=");
|
||
|
||
msgestimatedVanReachTime = string.Format(msgestimatedVanReachTime, ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString(),
|
||
model.estimatedVAnReachTime,
|
||
ds3_ticket_info.Tables[0].Rows[0]["_ticket_id_alias"].ToString(),
|
||
smsSentUrl);
|
||
// ds3_ticket_info.Tables[0].Rows[0]["dealer_dealer_name"].ToString());
|
||
string OwnerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgestimatedVanReachTime);
|
||
string serviceEnginerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgestimatedVanReachTime);
|
||
objGlobalRepository.SendMessage(OwnerSms);
|
||
objGlobalRepository.SendMessage(serviceEnginerSms);
|
||
|
||
|
||
}
|
||
|
||
}
|
||
}
|
||
else
|
||
{
|
||
string msgestimatedVanReachTime = System.Web.Configuration.WebConfigurationManager.AppSettings["msgestimatedVanReachTime"].ToString();
|
||
if (ds3_ticket_info.Tables.Count > 0)
|
||
{
|
||
if (ds3_ticket_info.Tables[0].Rows.Count > 0)
|
||
{
|
||
msgestimatedVanReachTime = string.Format(msgestimatedVanReachTime, ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString(),
|
||
model.estimatedVAnReachTime, // breakdown location
|
||
// model.TicketIdAlias,
|
||
ds3_ticket_info.Tables[0].Rows[0]["_ticket_id_alias"].ToString(),
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_dealer_name"].ToString());
|
||
string OwnerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgestimatedVanReachTime);
|
||
string serviceEnginerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgestimatedVanReachTime);
|
||
objGlobalRepository.SendMessage(OwnerSms);
|
||
objGlobalRepository.SendMessage(serviceEnginerSms);
|
||
|
||
string ticketidalias = ds3_ticket_info.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
model.DriverContactNo = ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString();
|
||
model.CustomerContactNo = ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString();
|
||
model.VehicleRegistrationNumber = ds3_ticket_info.Tables[0].Rows[0]["vehicle_registration_number"].ToString();
|
||
// EstimatedVanReachTimeDetailOnCreationInVECV(model, ticketidalias);
|
||
}
|
||
}
|
||
}
|
||
|
||
acitvityUpdateForMobile(Convert.ToInt32(model.TicketStatus), model.TicketId, "tripstartlivetrackingsms", true, "Success", model.AssignedToUserId);
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
acitvityUpdateForMobile(Convert.ToInt32(model.TicketStatus), model.TicketId, "tripstartlivetrackingsms", false, ex.Message, model.AssignedToUserId);
|
||
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
|
||
|
||
#region Sending SMS ( When ticket is assigned to Van )
|
||
if (ds_latest_ticket_activity.Tables.Count > 0)
|
||
{
|
||
if (ds_latest_ticket_activity.Tables.Count > 0)
|
||
{
|
||
if ((ds_latest_ticket_activity.Tables[0].Rows[0][0].ToString() == "1") && (model.TicketStatus == 2))
|
||
{
|
||
try
|
||
{
|
||
DataSet ds1_ticket_info = new DataSet();
|
||
DataSet ds2_ticket_info = new DataSet();
|
||
DataSet ds3_ticket_info = new DataSet();
|
||
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds3_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
|
||
string ticketIdAlias = model.TicketIdAlias;
|
||
|
||
|
||
// get sms content details.
|
||
nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds1_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam);
|
||
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds2_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
|
||
|
||
//get sending sms api url.
|
||
string url = System.Web.Configuration.WebConfigurationManager.AppSettings["SmsUrl"].ToString();
|
||
|
||
// get msg format
|
||
string msgCustforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgCustforVanTicket"].ToString();
|
||
|
||
|
||
string msgDealerforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgDealerforVanTicket"].ToString();
|
||
string msgWMforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgWMforVanTicket"].ToString();
|
||
string msgCSMforVanTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgCSMforVanTicket"].ToString();
|
||
if (ds3_ticket_info.Tables.Count > 0)
|
||
{
|
||
if (ds3_ticket_info.Tables[0].Rows.Count > 0)
|
||
{
|
||
//vehicle_registration_number
|
||
msgCustforVanTicket = string.Format(msgCustforVanTicket, ticketIdAlias, // Ticket Id
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds3_ticket_info.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // Service_Engineer_Name Service_Engineer_Contact
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(), // EOS van registration number
|
||
ConfigurationManager.AppSettings["TollFreeNo"].ToString()); // Toll free number
|
||
|
||
|
||
msgDealerforVanTicket = string.Format(msgDealerforVanTicket, ticketIdAlias, // Ticket Id
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(), // EOS van registration number
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString(), // Service Engineer Name
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString(),// customer name / Number ##
|
||
ds1_ticket_info.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"), // breakdown location
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver contact
|
||
);
|
||
|
||
|
||
msgWMforVanTicket = string.Format(msgWMforVanTicket, ticketIdAlias, // Ticket Id
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(), // EOS van registration number
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString(), // Service Engineer Name
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString(),// customer name / Number ##
|
||
ds1_ticket_info.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"), // breakdown location
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver contact
|
||
);
|
||
|
||
msgCSMforVanTicket = string.Format(msgCSMforVanTicket, ticketIdAlias, // Ticket ID
|
||
ds3_ticket_info.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), // Vehicle registration number
|
||
ds1_ticket_info.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"), // breakdown location
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds2_ticket_info.Tables[0].Rows[0]["dealer_city"].ToString() + ") ",// Dealer Name, Dealer City
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver contact
|
||
);
|
||
|
||
string CustomerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgCustforVanTicket);
|
||
string DealerSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgDealerforVanTicket);
|
||
|
||
|
||
// get all contact no split in array.
|
||
string[] CSMContactNo = ds3_ticket_info.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgCSMforVanTicket);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
|
||
|
||
|
||
string[] WMContactNo = ds3_ticket_info.Tables[0].Rows[0]["wm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
string WMsms = string.Format(url, WMContactNo[i], msgWMforVanTicket);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
}
|
||
string[] SiteIchargeContactNo = ds3_ticket_info.Tables[0].Rows[0]["site_incharge_contact"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < SiteIchargeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, SiteIchargeContactNo[i], msgWMforVanTicket);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
objGlobalRepository.SendMessage(DealerSms);
|
||
//objGlobalRepository.SendMessage(OwnerSms);
|
||
|
||
|
||
#region Sending sms to KAM when ticket is Accepted
|
||
|
||
// checking whether this ticket creation belongs to KAM user or not
|
||
NpgsqlParameter[] nSqlParam01 = new NpgsqlParameter[1];
|
||
nSqlParam01[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
DataSet ds_kam_ticket_details = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_kam_ticket_or_not"], nSqlParam01);
|
||
|
||
//=============================================================================================
|
||
string msgKamAcceptedTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgKamAcceptedTicket"].ToString();
|
||
// set content in msg
|
||
msgKamAcceptedTicket = string.Format(msgKamAcceptedTicket,
|
||
ticketIdAlias, // ticket id
|
||
ds3_ticket_info.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds3_ticket_info.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // eos team name and contact
|
||
ds3_ticket_info.Tables[0].Rows[0]["van_reg_no"].ToString(), // vehicle reg no.
|
||
ConfigurationManager.AppSettings["TollFreeNo"].ToString() // toll free number
|
||
);
|
||
|
||
string KamSms = string.Format(url, ds3_ticket_info.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgKamAcceptedTicket);
|
||
objGlobalRepository.SendMessage(KamSms);
|
||
//=============================================================================================
|
||
if (ds_kam_ticket_details.Tables.Count > 0)
|
||
{
|
||
// if this ticket belongs to KAM
|
||
if (ds_kam_ticket_details.Tables[0].Rows.Count > 0)
|
||
{
|
||
//-----------Sending GCM push to all KAM users-------------------------
|
||
NpgsqlParameter[] nSqlParam11 = new NpgsqlParameter[1];
|
||
nSqlParam11[0] = new NpgsqlParameter("inkam_id", ds_kam_ticket_details.Tables[0].Rows[0]["_kam_id"].ToString());
|
||
DataSet dsGcm1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_kam_user_devices_details_open_tickets"], nSqlParam11);
|
||
if (dsGcm1.Tables.Count > 0)
|
||
{
|
||
if (dsGcm1.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (DataRow dr in dsGcm1.Tables[0].Rows)
|
||
{
|
||
|
||
string notificationMessageFormat = ConfigurationManager.AppSettings["NotificationMessageAcceptKamDummyOrRealTicket"].ToString();
|
||
string notificationMessage = string.Format(notificationMessageFormat, ticketIdAlias);
|
||
|
||
SendNotificationModel objGcmModel1 = new SendNotificationModel();
|
||
objGcmModel1.DeviceGcmId = dr["_gcm_id"].ToString();
|
||
objGcmModel1.TicketId = ds_kam_ticket_details.Tables[0].Rows[0]["_kam_id"].ToString();
|
||
objGcmModel1.NotificationCode = ConfigurationManager.AppSettings["MessageAcceptKamDummyOrRealTicket"].ToString();
|
||
objGcmModel1.NotificationMessage = notificationMessage;
|
||
if (Convert.ToInt32(dr["_push_notification_bit"]) == 0)
|
||
{
|
||
objGcmModel1 = objGlobalRepository.GcmSendNotificationForKam(objGcmModel1);
|
||
// objModel.Status = objGcmModel1.Status;
|
||
}
|
||
else
|
||
{
|
||
objGcmModel1 = objGlobalRepository.FcmSendNotificationForKam(objGcmModel1);
|
||
// objModel.Status = objGcmModel1.Status;
|
||
}
|
||
//objModel.SenderId = objGcmModel.SenderId;
|
||
}
|
||
}
|
||
//----------------------------------------------------------------------
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
}
|
||
acitvityUpdateForMobile(Convert.ToInt32(model.TicketStatus), model.TicketId, "assignedtvansms", true, "Success", model.AssignedToUserId);
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
acitvityUpdateForMobile(Convert.ToInt32(model.TicketStatus), model.TicketId, "assignedtvansms", false, ex.Message, model.AssignedToUserId);
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
#region Sending SMS (When ticket was assigned to Van and when status is changed to In Progress) )
|
||
// Send msg to dealer,csm and customer on van reached. (For first time message sending when status is changed to In Progress)
|
||
if (ds_latest_ticket_activity.Tables.Count > 0)
|
||
{
|
||
if ((ds_latest_ticket_activity.Tables[0].Rows[0][0].ToString() == "2") && (model.TicketStatus == 3))
|
||
{
|
||
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
DataSet ds1 = new DataSet();
|
||
DataSet ds3 = new DataSet();
|
||
|
||
NpgsqlParameter[] nSqlParam1_ticket_info = new NpgsqlParameter[2];
|
||
nSqlParam1_ticket_info[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1_ticket_info[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1_ticket_info);
|
||
|
||
string ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
|
||
NpgsqlParameter[] nSqlParam2_ticket_info = new NpgsqlParameter[3];
|
||
nSqlParam2_ticket_info[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam2_ticket_info[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam2_ticket_info[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam2_ticket_info);
|
||
|
||
NpgsqlParameter[] nSqlParam3_ticket_info = new NpgsqlParameter[1];
|
||
nSqlParam3_ticket_info[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds3 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam3_ticket_info);
|
||
|
||
string url = System.Web.Configuration.WebConfigurationManager.AppSettings["SmsUrl"].ToString();
|
||
string msgVanReachedCustomer = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanReachedCustomer"].ToString();
|
||
string msgVanReachedDealer = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanReachedDealer"].ToString();
|
||
string msgVanReachedCSM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanReachedCSM"].ToString();
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
//string[] id = model.TicketId.Split('-');
|
||
|
||
msgVanReachedCustomer = string.Format(msgVanReachedCustomer, ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString()
|
||
);
|
||
|
||
msgVanReachedDealer = string.Format(msgVanReachedDealer, ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(),
|
||
ds1.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26"),
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
|
||
|
||
msgVanReachedCSM = string.Format(msgVanReachedCSM, ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(),
|
||
ds3.Tables[0].Rows[0]["dealer_dealer_name"].ToString(),
|
||
ticketIdAlias,
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgVanReachedCustomer);
|
||
string DealerSms = string.Format(url, ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgVanReachedDealer);
|
||
|
||
string[] CSMContactNo = (ds.Tables[0].Rows[0]["csm_contact_no"].ToString()).Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i].ToString(), msgVanReachedCSM);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
|
||
|
||
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
objGlobalRepository.SendMessage(DealerSms);
|
||
|
||
|
||
#region Sending sms to KAM when ticket is Assigned to Van and Van reached
|
||
|
||
// checking whether this ticket creation belongs to KAM user or not
|
||
NpgsqlParameter[] nSqlParam01 = new NpgsqlParameter[1];
|
||
nSqlParam01[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
DataSet ds_kam_ticket_details = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_kam_ticket_or_not"], nSqlParam01);
|
||
|
||
if (ds_kam_ticket_details.Tables.Count > 0)
|
||
{ // if this ticket belongs to KAM
|
||
if (ds_kam_ticket_details.Tables[0].Rows.Count > 0)
|
||
{
|
||
string msgKamVanReachedTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgKamVanReachedTicket"].ToString();
|
||
// set content in msg
|
||
msgKamVanReachedTicket = string.Format(msgKamVanReachedTicket,
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // eos team name and contact
|
||
ds1.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26") // breakdown location
|
||
);
|
||
|
||
string KamSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgKamVanReachedTicket);
|
||
objGlobalRepository.SendMessage(KamSms);
|
||
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
}
|
||
|
||
acitvityUpdateForMobile(Convert.ToInt32(model.TicketStatus), model.TicketId, "vanreachsms", true, "Success", model.AssignedToUserId);
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
acitvityUpdateForMobile(Convert.ToInt32(model.TicketStatus), model.TicketId, "vanreachsms", false, ex.Message, model.AssignedToUserId);
|
||
|
||
}
|
||
}
|
||
}
|
||
#endregion
|
||
|
||
|
||
// Added By priya
|
||
|
||
#region Sending SMS (When van was started and when reach to location) )
|
||
//if (ds_latest_ticket_activity.Tables.Count > 0)
|
||
//{
|
||
if ((model.TicketStatusPrevious == "9") && (model.TicketStatus == 3))
|
||
{
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
DataSet ds1 = new DataSet();
|
||
DataSet ds2 = new DataSet();
|
||
DataSet ds3 = new DataSet();
|
||
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
|
||
string ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
|
||
// get sms content details.
|
||
nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam);
|
||
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
|
||
|
||
//get sending sms api url.
|
||
string url = System.Web.Configuration.WebConfigurationManager.AppSettings["SmsUrl"].ToString();
|
||
|
||
// get msg format
|
||
string msgVanTicketVanReachedForCustomer = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketVanReachedForCustomer"].ToString();
|
||
string msgVanTicketVanReachedForWM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketVanReachedForWM"].ToString();
|
||
string msgVanTicketVanReachedForCSM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketVanReachedForCSM"].ToString();
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
//string[] id = model.TicketId.Split('-');
|
||
|
||
msgVanTicketVanReachedForCustomer = string.Format(msgVanTicketVanReachedForCustomer,
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString()
|
||
|
||
);
|
||
|
||
msgVanTicketVanReachedForWM = string.Format(msgVanTicketVanReachedForWM,
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // Service_Engineer_Name Service_Engineer_Contact
|
||
ticketIdAlias,
|
||
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver contact
|
||
);
|
||
|
||
msgVanTicketVanReachedForCSM = string.Format(msgVanTicketVanReachedForCSM,
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // Service_Engineer_Name Service_Engineer_Contact
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString(),// Dealer Name, Dealer City
|
||
|
||
ticketIdAlias, // Ticket ID
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver contact
|
||
);
|
||
|
||
|
||
string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgVanTicketVanReachedForCustomer);
|
||
string DealerSms = string.Format(url, ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgVanTicketVanReachedForWM);
|
||
|
||
|
||
string OwnerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgVanTicketVanReachedForCustomer);
|
||
// get all contact no split in array.
|
||
string[] CSMContactNo = ds.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgVanTicketVanReachedForCSM);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
|
||
string[] WMContactNo = ds.Tables[0].Rows[0]["WM_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
string WMsms = string.Format(url, WMContactNo[i], msgVanTicketVanReachedForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
}
|
||
|
||
string[] SiteIchargeContactNo = ds.Tables[0].Rows[0]["site_incharge_contact"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < SiteIchargeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, SiteIchargeContactNo[i], msgVanTicketVanReachedForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
objGlobalRepository.SendMessage(CustomerSms);
|
||
objGlobalRepository.SendMessage(DealerSms);
|
||
objGlobalRepository.SendMessage(OwnerSms);
|
||
#region Sending sms to KAM when ticket is Assigned to Van and Van reached
|
||
|
||
// checking whether this ticket creation belongs to KAM user or not
|
||
NpgsqlParameter[] nSqlParam01 = new NpgsqlParameter[1];
|
||
nSqlParam01[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
DataSet ds_kam_ticket_details = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_kam_ticket_or_not"], nSqlParam01);
|
||
if (ds_kam_ticket_details.Tables.Count > 0)
|
||
{
|
||
|
||
// if this ticket belongs to KAM
|
||
if (ds_kam_ticket_details.Tables[0].Rows.Count > 0)
|
||
{
|
||
string msgKamVanReachedTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgKamVanReachedTicket"].ToString();
|
||
// set content in msg
|
||
msgKamVanReachedTicket = string.Format(msgKamVanReachedTicket,
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // eos team name and contact
|
||
ds1.Tables[0].Rows[0]["breakdown_location"].ToString().Replace("&", "%26") // breakdown location
|
||
);
|
||
|
||
string KamSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgKamVanReachedTicket);
|
||
objGlobalRepository.SendMessage(KamSms);
|
||
}
|
||
}
|
||
#endregion
|
||
}
|
||
}
|
||
acitvityUpdateForMobile(Convert.ToInt32(model.TicketStatus), model.TicketId, "vanreachsms", true, "Success", model.AssignedToUserId);
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
acitvityUpdateForMobile(Convert.ToInt32(model.TicketStatus), model.TicketId, "vanreachsms", false, ex.Message, model.AssignedToUserId);
|
||
|
||
}
|
||
|
||
}
|
||
// }
|
||
|
||
|
||
|
||
#endregion
|
||
|
||
#region Sending SMS ( When ticket was assigned to Van and is in Pre-Closure )
|
||
// For the first time message sending when ticket status is PreClosure first time
|
||
|
||
if (model.TicketStatus == 4)
|
||
{
|
||
try
|
||
{
|
||
DataSet ds1 = new DataSet();
|
||
DataSet ds = new DataSet();
|
||
DataSet ds3 = new DataSet(); DataSet ds2 = new DataSet();
|
||
string strTicketStatus = "";
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParamopen = new NpgsqlParameter[1];
|
||
nSqlParamopen[0] = new NpgsqlParameter("inticketid ", model.TicketId);
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_ticket_Cogent_API_By_ticketId"], nSqlParamopen);
|
||
if (dsOpen.Tables.Count > 0)
|
||
{
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
strTicketStatus = dsOpen.Tables[0].Rows[0]["_ticket_status"].ToString();
|
||
|
||
}
|
||
}
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[2];
|
||
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
nSqlParam1[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1);
|
||
|
||
string ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString();
|
||
model.TicketIdAlias = ticketIdAlias;
|
||
// get sms content details.
|
||
nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam[2] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam);
|
||
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_number", model.TicketId);
|
||
ds2 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_full_details_ticket_wise"], nSqlParam);
|
||
|
||
|
||
//get sending sms api url.
|
||
string url = System.Web.Configuration.WebConfigurationManager.AppSettings["SmsUrl"].ToString();
|
||
|
||
// get msg format
|
||
string msgVanTicketPreCloserForCustomer = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketPreCloserForCustomer"].ToString();
|
||
string msgVanTicketPreCloserForOwner = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketPreCloserForOwner"].ToString();
|
||
string msgVanTicketPreCloserForWM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketPreCloserForWM"].ToString();
|
||
string msgVanTicketPreCloserForCSM = System.Web.Configuration.WebConfigurationManager.AppSettings["msgVanTicketPreCloserForCSM"].ToString();
|
||
if (ds.Tables.Count > 0)
|
||
{
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
//string[] id = model.TicketId.Split('-');
|
||
|
||
//msgVanTicketPreCloserForCustomer = string.Format(msgVanTicketPreCloserForCustomer,
|
||
// ticketIdAlias, // Ticket Id
|
||
// ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), // Vehicle Registration Number
|
||
// ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + " (" + ds2.Tables[0].Rows[0]["dealer_city"].ToString() + ") "// Dealer Name, Dealer City
|
||
// );
|
||
|
||
|
||
|
||
msgVanTicketPreCloserForWM = string.Format(msgVanTicketPreCloserForWM,
|
||
ticketIdAlias, // Ticket Id
|
||
ds.Tables[0].Rows[0]["dealer_or_service_engg"].ToString() + " " + ds.Tables[0].Rows[0]["service_engineer_contact_number"].ToString(), // Service_Engineer_Name Service_Engineer_Contact
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
msgVanTicketPreCloserForCSM = string.Format(msgVanTicketPreCloserForCSM,
|
||
ticketIdAlias, // Ticket ID
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString(), // Dealer Name, Dealer City
|
||
ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), // owner number
|
||
ds.Tables[0].Rows[0]["customer_contact_no"].ToString() // driver number
|
||
);
|
||
|
||
|
||
//string CustomerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_contact_no"].ToString(), msgVanTicketPreCloserForCustomer);
|
||
string DealerSms = string.Format(url, ds.Tables[0].Rows[0]["_dealer_contact_number1"].ToString(), msgVanTicketPreCloserForWM);
|
||
//string OwnerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgVanTicketPreCloserForOwner);
|
||
string OwnerSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgVanTicketPreCloserForCSM);
|
||
objGlobalRepository.SendMessage(OwnerSms);
|
||
// get all contact no split in array.
|
||
string[] CSMContactNo = ds.Tables[0].Rows[0]["csm_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < CSMContactNo.Count(); i++)
|
||
{
|
||
string CSMsms = string.Format(url, CSMContactNo[i], msgVanTicketPreCloserForCSM);
|
||
objGlobalRepository.SendMessage(CSMsms);
|
||
}
|
||
// objGlobalRepository.SendMessage(CustomerSms); //commented on 18-12-2020(stop sending message to customer on preclosure)
|
||
// objGlobalRepository.SendMessage(OwnerSms);
|
||
string[] WMContactNo = ds.Tables[0].Rows[0]["WM_contact_no"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < WMContactNo.Count(); i++)
|
||
{
|
||
string WMsms = string.Format(url, WMContactNo[i], msgVanTicketPreCloserForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
}
|
||
|
||
string[] SiteIchargeContactNo = ds.Tables[0].Rows[0]["site_incharge_contact"].ToString().Split(',');
|
||
|
||
for (int i = 0; i < SiteIchargeContactNo.Count(); i++)
|
||
{
|
||
|
||
string WMsms = string.Format(url, SiteIchargeContactNo[i], msgVanTicketPreCloserForWM);
|
||
objGlobalRepository.SendMessage(WMsms);
|
||
|
||
}
|
||
|
||
string typePreclosure = "";
|
||
if (model.TicketStatus.ToString() == model.TicketStatusPrevious)
|
||
{
|
||
|
||
}
|
||
else
|
||
{
|
||
if (model.preclosure_reason == "Closure Request")
|
||
{
|
||
typePreclosure = "closure";
|
||
}
|
||
if (model.preclosure_reason == "Reassignment Request")
|
||
{
|
||
typePreclosure = "reassign";
|
||
}
|
||
model.preclosure_reason = typePreclosure;
|
||
//objGlobalRepository.SendMessage(OwnerSms);
|
||
}
|
||
}
|
||
//objGlobalRepository.SendMessage(OwnerSms);
|
||
}
|
||
/* #region Sending sms to KAM when ticket is Assigned to Van and in Preclosure
|
||
|
||
// checking whether this ticket creation belongs to KAM user or not
|
||
NpgsqlParameter[] nSqlParam01 = new NpgsqlParameter[1];
|
||
nSqlParam01[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
||
DataSet ds_kam_ticket_details = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_check_kam_ticket_or_not"], nSqlParam01);
|
||
|
||
//=============================================================================================
|
||
string msgKamPreClosureTicket = System.Web.Configuration.WebConfigurationManager.AppSettings["msgKamPreClosureTicket"].ToString();
|
||
// set content in msg
|
||
msgKamPreClosureTicket = string.Format(msgKamPreClosureTicket,
|
||
ticketIdAlias, // ticket id
|
||
ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString(), // vehicle reg no.
|
||
ds.Tables[0].Rows[0]["dealer_dealer_name"].ToString() + "( " + ds2.Tables[0].Rows[0]["dealer_city"].ToString() + " )" // Dealer Name, Dealer City
|
||
);
|
||
|
||
string KamSms = string.Format(url, ds.Tables[0].Rows[0]["customer_mobile_number_1"].ToString(), msgKamPreClosureTicket);
|
||
objGlobalRepository.SendMessage(KamSms);
|
||
//=============================================================================================
|
||
if (ds_kam_ticket_details.Tables.Count > 0)
|
||
{
|
||
|
||
// if this ticket belongs to KAM
|
||
if (ds_kam_ticket_details.Tables[0].Rows.Count > 0)
|
||
{
|
||
//-----------Sending GCM push to all KAM users-------------------------
|
||
NpgsqlParameter[] nSqlParam11 = new NpgsqlParameter[1];
|
||
nSqlParam11[0] = new NpgsqlParameter("inkam_id", ds_kam_ticket_details.Tables[0].Rows[0]["_kam_id"].ToString());
|
||
DataSet dsGcm1 = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_kam_user_devices_details_open_tickets"], nSqlParam11);
|
||
if (dsGcm1.Tables.Count > 0)
|
||
{
|
||
|
||
if (dsGcm1.Tables[0].Rows.Count > 0)
|
||
{
|
||
foreach (DataRow dr in dsGcm1.Tables[0].Rows)
|
||
{
|
||
|
||
string notificationMessageFormat = ConfigurationManager.AppSettings["NotificationMessagePreClosureKamTicket"].ToString();
|
||
string notificationMessage = string.Format(notificationMessageFormat, ticketIdAlias, ConfigurationManager.AppSettings["TollFreeNo"].ToString());
|
||
|
||
SendNotificationModel objGcmModel1 = new SendNotificationModel();
|
||
objGcmModel1.DeviceGcmId = dr["_gcm_id"].ToString();
|
||
objGcmModel1.TicketId = ds_kam_ticket_details.Tables[0].Rows[0]["_kam_id"].ToString();
|
||
objGcmModel1.NotificationCode = ConfigurationManager.AppSettings["MessagePreClosureKamTicket"].ToString();
|
||
objGcmModel1.NotificationMessage = notificationMessage;
|
||
if (Convert.ToInt32(dr["_push_notification_bit"]) == 0)
|
||
{
|
||
objGcmModel1 = objGlobalRepository.GcmSendNotificationForKam(objGcmModel1);
|
||
//objModel.Status = objGcmModel1.Status;
|
||
}
|
||
else
|
||
{
|
||
objGcmModel1 = objGlobalRepository.FcmSendNotificationForKam(objGcmModel1);
|
||
// objModel.Status = objGcmModel1.Status;
|
||
}
|
||
//objModel.SenderId = objGcmModel.SenderId;
|
||
}
|
||
}
|
||
}
|
||
//----------------------------------------------------------------------
|
||
}
|
||
}
|
||
#endregion*/
|
||
acitvityUpdateForMobile(Convert.ToInt32(model.TicketStatus), model.TicketId, "jobcompletesms", true, "Success", model.AssignedToUserId);
|
||
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
acitvityUpdateForMobile(Convert.ToInt32(model.TicketStatus), model.TicketId, "jobcompletesms", false, ex.Message, model.AssignedToUserId);
|
||
|
||
}
|
||
}
|
||
|
||
#endregion
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
public string acitvityUpdateForMobile(int TicketStatus, string TicketId, string ActivityStatus, Boolean issend, string message, string assUserId)
|
||
{
|
||
string strmessage = "false";
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[6];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", TicketId);
|
||
nSqlParam[1] = new NpgsqlParameter("in_ticket_status", TicketStatus);
|
||
nSqlParam[2] = new NpgsqlParameter("in_activity_status", ActivityStatus);
|
||
nSqlParam[3] = new NpgsqlParameter("in_is_send", issend);
|
||
nSqlParam[4] = new NpgsqlParameter("in_message", message);
|
||
nSqlParam[5] = new NpgsqlParameter("in_userid", assUserId);
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_mobile_activity_after_update_ticket"], nSqlParam);
|
||
strmessage = "true";
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
strmessage = "false";
|
||
}
|
||
return strmessage;
|
||
}
|
||
|
||
public ApiResponse GetCaseManagementDetails(string ticketid)
|
||
{
|
||
ApiResponse objApiResponse = new ApiResponse();
|
||
//string url = "https://eicheruptime.vecv.net/api/v1/get-eos-details"; // Replace with your API URL
|
||
string url = System.Web.Configuration.WebConfigurationManager.AppSettings["CaseManagementAPI"].ToString();
|
||
// Create a WebClient instance
|
||
using (var client = new WebClient())
|
||
{
|
||
|
||
// Set headers
|
||
client.Headers.Add("Content-Type:application/json");
|
||
client.Headers.Add("Accept:application/json");
|
||
ServicePointManager.ServerCertificateValidationCallback = (sender, cert, chain, sslPolicyErrors) => true;
|
||
|
||
//ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls; // Create the JSON payload
|
||
|
||
string payload = "{\"eos_ticket_no\":\"" + ticketid + "\"}";
|
||
|
||
|
||
|
||
try
|
||
{
|
||
// Send the POST request and receive the response
|
||
string responseData = client.UploadString(url, "POST", payload);
|
||
var jsonResponse = JObject.Parse(responseData);
|
||
|
||
var apiResponse = jsonResponse.ToObject<ApiResponse>();
|
||
|
||
objApiResponse = apiResponse;
|
||
|
||
}
|
||
catch (WebException ex)
|
||
{
|
||
objLog.ErrorLogFile("case management", ex.Message, path, errorlogtf);
|
||
|
||
}
|
||
}
|
||
|
||
return objApiResponse;
|
||
}
|
||
|
||
public bool SendEmailMultipleUserModelMatrix(APIValueModel model)
|
||
{
|
||
bool issend = false;
|
||
if (ConfigurationSettings.AppSettings["emailsend"].ToString() != "true")
|
||
{
|
||
// Define the sender and the SMTP client
|
||
string fromAddress = ConfigurationSettings.AppSettings["EmailUserName"].ToString();// "your -email@example.com";
|
||
string smtpHost = ConfigurationSettings.AppSettings["Host"].ToString();// "your-smtp-host";
|
||
int smtpPort = Convert.ToInt32(ConfigurationSettings.AppSettings["Port"].ToString()); // Change this according to your SMTP server settings
|
||
string smtpUsername = ConfigurationSettings.AppSettings["EmailUserName"].ToString();// "your-smtp-username";
|
||
string smtpPassword = ConfigurationSettings.AppSettings["fromEmailPassword"].ToString();// "your-smtp-password";
|
||
|
||
using (MailMessage mail = new MailMessage())
|
||
{
|
||
|
||
mail.From = new MailAddress(fromAddress);
|
||
|
||
if (model.caseType == "open")
|
||
{
|
||
string[] recipients = ConfigurationSettings.AppSettings["EmailToOpen"].ToString().Split(',');
|
||
|
||
foreach (string recipient in recipients)
|
||
{
|
||
mail.To.Add(recipient);
|
||
|
||
}
|
||
string[] recipientsccval = ConfigurationSettings.AppSettings["EmailToOpenCC"].ToString().Split(',');
|
||
foreach (string recipient in recipientsccval)
|
||
{
|
||
|
||
mail.CC.Add(recipient);
|
||
}
|
||
}
|
||
|
||
else if (model.caseType == "close")
|
||
{
|
||
|
||
if (ConfigurationSettings.AppSettings["emailToRSMASM"].ToString() != "true")
|
||
{
|
||
string[] recipients = model.recipients.Split(',');
|
||
|
||
foreach (string recipient in recipients)
|
||
{
|
||
mail.To.Add(recipient);
|
||
|
||
}
|
||
}
|
||
|
||
|
||
string[] recipientscc = ConfigurationSettings.AppSettings["EmailtoCloseCC"].ToString().Split(',');
|
||
foreach (string recipient in recipientscc)
|
||
{
|
||
|
||
mail.CC.Add(recipient);
|
||
}
|
||
}
|
||
|
||
mail.Subject = model.subject;
|
||
if (model.caseType == "close")
|
||
{
|
||
mail.Body = bodyForEmailClose(model);
|
||
}
|
||
else if (model.caseType == "open")
|
||
{
|
||
mail.Body = bodyForEmailOpen(model);
|
||
}
|
||
mail.IsBodyHtml = true; // Set to false if the body is plain text
|
||
|
||
// objLog.ErrorLogFile("email Body", mail.Body, path, errorlogtf);
|
||
|
||
using (SmtpClient smtp = new SmtpClient(smtpHost, smtpPort))
|
||
{
|
||
smtp.Credentials = new NetworkCredential(smtpUsername, smtpPassword);
|
||
smtp.EnableSsl = true; // Set
|
||
//
|
||
try
|
||
{
|
||
smtp.Send(mail);
|
||
issend = true;
|
||
} // to false if your SMTP server does not support SSL
|
||
catch (Exception ex)
|
||
{
|
||
objLog.ErrorLogFile("send mail", ex.Message, path, errorlogtf);
|
||
issend = false;
|
||
}
|
||
// insertMatrixModel(ConfigurationSettings.AppSettings["usp_create_model_matrix"].ToString(), ticketid, caseid);
|
||
}
|
||
}
|
||
}
|
||
return issend;
|
||
}
|
||
public string bodyForEmailClose(APIValueModel model)
|
||
{
|
||
string body = "";
|
||
|
||
if (ConfigurationSettings.AppSettings["modelemailIsBlocked"] != "true")
|
||
{
|
||
string ticketIdAlias = model.ticketIdAlias;
|
||
|
||
|
||
|
||
body = @"
|
||
<html>
|
||
<head> <style>
|
||
body {
|
||
font-family: Calibri, sans-serif;
|
||
font-size: 11pt;
|
||
}
|
||
table {
|
||
border-collapse: collapse;
|
||
width: 100%;
|
||
}
|
||
table, th, td {
|
||
border: 1px solid black;
|
||
padding: 5px;
|
||
text-align: center;
|
||
}
|
||
th {
|
||
background-color: #f2f2f2;
|
||
}
|
||
</style></head>
|
||
<body>
|
||
<p>Dear Team,</p>
|
||
<p>Please pay attention !</p>
|
||
<p>This is an automated notification to inform you that the following EOS Ticket have been open for more than 24 hours.Your immediate attention is required to address this & make the vehicle on road ASAP-
|
||
</p>
|
||
|
||
|
||
<table border='1' cellpadding='5' cellspacing='0'>
|
||
<tr>
|
||
|
||
<th>EOS Ticket Number</th>
|
||
<th>Dealership Name</th>
|
||
<th>Dealer SCode</th>
|
||
<th>Ticket Creation Date & Time</th>
|
||
<th>Vehicle Registration Number</th>
|
||
<th>Vehicle Model Number</th>
|
||
<th>Owner Name</th>
|
||
</tr>
|
||
<tr>
|
||
|
||
|
||
|
||
<td>[Insert EOS Ticket Number]</td>
|
||
<td>[Insert Dealership Name]</td>
|
||
<td>[Insert Dealership Id]</td>
|
||
<td>[Insert Creation Time]</td>
|
||
<td>[Insert Vehicle Registration Number]</td>
|
||
<td>[Insert Vehicle Model Number]</td>
|
||
<td>[Insert Owner Name]</td>
|
||
</table>
|
||
|
||
<p>Regards,<br>Uptime Control Room Team</p>
|
||
|
||
</body>
|
||
</html>";
|
||
|
||
body = body.Replace("[Insert EOS Ticket Number]", model.ticketIdAlias)
|
||
.Replace("[Insert Dealership Name]", model.dealerName)
|
||
.Replace("[Insert Dealership Id]", model.dealerId)
|
||
.Replace("[Insert Creation Time]", model.creation_time)
|
||
|
||
.Replace("[Insert Vehicle Registration Number]", model.VehicleRegistrationNumber)
|
||
.Replace("[Insert Vehicle Model Number]", model.VehicleModelNumber)
|
||
.Replace("[Insert Owner Name]", model.ownerName);
|
||
// string mailsub = "BUS (" + model.VehicleModelNumber + ") EOS Ticket Alert- " + ticketIdAlias;
|
||
}
|
||
return body;
|
||
}
|
||
public string bodyForEmailOpen(APIValueModel model)
|
||
{
|
||
string body = "";
|
||
|
||
if (ConfigurationSettings.AppSettings["modelemailIsBlocked"] != "true")
|
||
{
|
||
string ticketIdAlias = model.ticketIdAlias;
|
||
|
||
|
||
|
||
body = @"
|
||
<html>
|
||
<head> <style>
|
||
body {
|
||
font-family: Calibri, sans-serif;
|
||
font-size: 11pt;
|
||
}
|
||
table {
|
||
border-collapse: collapse;
|
||
width: 100%;
|
||
}
|
||
table, th, td {
|
||
border: 1px solid black;
|
||
padding: 5px;
|
||
text-align: center;
|
||
}
|
||
th {
|
||
background-color: #f2f2f2;
|
||
}
|
||
</style></head>
|
||
<body>
|
||
<p>Dear Team,</p>
|
||
<p>Please pay attention !</p>
|
||
<p>This is an automated notification to inform you that the following EOS Ticket have been open for more than 24 hours.Your immediate attention is required to address this & make the vehicle on road ASAP-
|
||
</p>
|
||
|
||
|
||
<table border='1' cellpadding='5' cellspacing='0'>
|
||
<tr>
|
||
<th>CMT Case Number</th>
|
||
<th>EOS Ticket Number</th>
|
||
<th>Dealership Name</th>
|
||
<th>Dealer SCode</th>
|
||
<th>Ticket Creation Date & Time</th>
|
||
<th>Vehicle Registration Number</th>
|
||
<th>Vehicle Model Number</th>
|
||
<th>Owner Name</th>
|
||
</tr>
|
||
<tr>
|
||
|
||
|
||
<td>[Insert CMT Case Number]</td>
|
||
<td>[Insert EOS Ticket Number]</td>
|
||
<td>[Insert Dealership Name]</td>
|
||
<td>[Insert Dealership Id]</td>
|
||
<td>[Insert Creation Time]</td>
|
||
<td>[Insert Vehicle Registration Number]</td>
|
||
<td>[Insert Vehicle Model Number]</td>
|
||
<td>[Insert Owner Name]</td>
|
||
</table>
|
||
|
||
<p>Regards,<br>Uptime Control Room Team</p>
|
||
|
||
</body>
|
||
</html>";
|
||
|
||
body = body.Replace("[Insert CMT Case Number]", model.caseId)
|
||
.Replace("[Insert EOS Ticket Number]", model.ticketIdAlias)
|
||
.Replace("[Insert Dealership Name]", model.dealerName)
|
||
.Replace("[Insert Dealership Id]", model.dealerId)
|
||
.Replace("[Insert Creation Time]", model.creation_time)
|
||
|
||
.Replace("[Insert Vehicle Registration Number]", model.VehicleRegistrationNumber)
|
||
.Replace("[Insert Vehicle Model Number]", model.VehicleModelNumber)
|
||
.Replace("[Insert Owner Name]", model.ownerName);
|
||
// string mailsub = "BUS (" + model.VehicleModelNumber + ") EOS Ticket Alert- " + ticketIdAlias;
|
||
}
|
||
return body;
|
||
}
|
||
|
||
public Int64 GetMqCount(TicketRequestModel model)
|
||
{
|
||
Int64 mqCoutval = 0;
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
nSqlParam[0] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[1] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_Mq_Count"], nSqlParam);
|
||
|
||
mqCoutval = Convert.ToInt64(ds.Tables[0].Rows[0][0]);
|
||
|
||
}
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetOpenCloseTicketDetail", Ex.Message, path, errorlogtf);
|
||
|
||
|
||
}
|
||
return mqCoutval;
|
||
}
|
||
|
||
|
||
/*public string DetailFormVAHANApi(string registration_number)
|
||
{
|
||
string chassis_number = "";
|
||
string vahanUrl = ConfigurationManager.AppSettings["VahanUrl"].ToString();
|
||
string apiKey = ConfigurationManager.AppSettings["VahanKey"].ToString();
|
||
|
||
if (System.Configuration.ConfigurationManager.AppSettings["vahan_Api_Active"] != "true")
|
||
{
|
||
try
|
||
{
|
||
|
||
var clientVehicleType = new RestClient(vahanUrl);
|
||
clientVehicleType.Timeout = -1;
|
||
var requestVehicleType = new RestRequest(Method.POST);
|
||
ServicePointManager.Expect100Continue = true;
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
||
| SecurityProtocolType.Tls11
|
||
| SecurityProtocolType.Tls12
|
||
| SecurityProtocolType.Ssl3
|
||
| (SecurityProtocolType)3072;
|
||
|
||
//KA01JZ4031
|
||
string issend = "true";
|
||
string jsonAuthVariable = "{\"vehicleNumber\":\"" + registration_number + "\",\n\"blacklistCheck\":\"" + issend + "\",\n\"splitAddress\":" + issend + "}";
|
||
requestVehicleType.AddHeader("Content-Type", "application/json");
|
||
requestVehicleType.AddHeader("Authorization", apiKey);
|
||
requestVehicleType.AddParameter("application/json", jsonAuthVariable, ParameterType.RequestBody);
|
||
//IRestResponse responseVehicleType = clientVehicleType.Execute(requestVehicleType);
|
||
requestVehicleType.AddJsonBody(jsonAuthVariable);
|
||
|
||
// Send the request (blocking call)
|
||
IRestResponse response = clientVehicleType.Execute(requestVehicleType);
|
||
Console.WriteLine(response.Content);
|
||
var stringvehcileResultVehicleType = response.Content.ToString();
|
||
// string strdevicetype = "";
|
||
if (stringvehcileResultVehicleType.ToString() == "[]")
|
||
{
|
||
chassis_number = "";
|
||
|
||
}
|
||
else
|
||
{
|
||
JObject json = JObject.Parse(stringvehcileResultVehicleType);
|
||
|
||
// Extract the chassis value
|
||
string chassis = json["result"]["chassis"].ToString();
|
||
chassis_number = chassis;
|
||
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GlobalRepository ChassisTelematicDetail ", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
return chassis_number;
|
||
}*/
|
||
|
||
public string DetailFormVAHANApi(string registration_number)
|
||
{
|
||
string chassis_number = "";
|
||
string vahanUrl = ConfigurationManager.AppSettings["VahanUrl"].ToString();
|
||
string apiKey = ConfigurationManager.AppSettings["VahanKey"].ToString();
|
||
|
||
if (System.Configuration.ConfigurationManager.AppSettings["vahan_Api_Active"] != "true")
|
||
{
|
||
try
|
||
{
|
||
|
||
var clientVehicleType = new RestClient(vahanUrl);
|
||
clientVehicleType.Timeout = -1;
|
||
var requestVehicleType = new RestRequest(Method.POST);
|
||
ServicePointManager.Expect100Continue = true;
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
||
| SecurityProtocolType.Tls11
|
||
| SecurityProtocolType.Tls12
|
||
| SecurityProtocolType.Ssl3
|
||
| (SecurityProtocolType)3072;
|
||
|
||
//KA01JZ4031
|
||
string issend = "true";
|
||
string jsonAuthVariable = "{\"vehicleNumber\":\"" + registration_number + "\",\n\"blacklistCheck\":\"" + issend + "\",\n\"splitAddress\":" + issend + "}";
|
||
requestVehicleType.AddHeader("Content-Type", "application/json");
|
||
requestVehicleType.AddHeader("Authorization", apiKey);
|
||
requestVehicleType.AddParameter("application/json", jsonAuthVariable, ParameterType.RequestBody);
|
||
//IRestResponse responseVehicleType = clientVehicleType.Execute(requestVehicleType);
|
||
requestVehicleType.AddJsonBody(jsonAuthVariable);
|
||
|
||
// Send the request (blocking call)
|
||
IRestResponse response = clientVehicleType.Execute(requestVehicleType);
|
||
Console.WriteLine(response.Content);
|
||
var stringvehcileResultVehicleType = response.Content.ToString();
|
||
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
||
if (response.ResponseStatus.ToString() == "Error")
|
||
{
|
||
|
||
bool isSend = objTicketRepository.emailForError(response.ErrorMessage.ToString(), clientVehicleType.BaseUrl.ToString());
|
||
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), response.ErrorMessage.ToString(), path, errorlogtf);
|
||
|
||
}
|
||
else
|
||
{
|
||
if (response.ResponseStatus.ToString() == "TimedOut")
|
||
{
|
||
|
||
bool isSend = objTicketRepository.emailForError(response.ErrorMessage.ToString(), clientVehicleType.BaseUrl.ToString());
|
||
objLog.ErrorLogFile(clientVehicleType.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. ", clientVehicleType.BaseUrl.ToString());
|
||
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), "API Login Failed:Login failed. The server response is Unauthorized. ", path, errorlogtf);
|
||
|
||
}
|
||
else if (response.StatusCode == System.Net.HttpStatusCode.OK)
|
||
{
|
||
// string strdevicetype = "";
|
||
if (stringvehcileResultVehicleType.ToString() == "[]")
|
||
{
|
||
chassis_number = "";
|
||
|
||
}
|
||
else
|
||
{
|
||
JObject json = JObject.Parse(stringvehcileResultVehicleType);
|
||
|
||
// Extract the chassis value
|
||
string chassis = json["result"]["chassis"].ToString();
|
||
chassis_number = chassis;
|
||
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GlobalRepository ChassisTelematicDetail ", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
}
|
||
return chassis_number;
|
||
}
|
||
|
||
public string insertVahanDetails(VAHANAPI model)
|
||
{
|
||
string strmessage = "";
|
||
try
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[7];
|
||
// nSqlParam[0] = new NpgsqlParameter("inpayment_date", model.payment_date != null ? Convert.ToDateTime(model.payment_date).AddMinutes(UtcMinute) : model.payment_date);
|
||
nSqlParam[0] = new NpgsqlParameter("in_chassis_number", model.chassis_number);
|
||
nSqlParam[1] = new NpgsqlParameter("in_model", model.model);
|
||
nSqlParam[2] = new NpgsqlParameter("in_norms_type", model.normsType);
|
||
nSqlParam[3] = new NpgsqlParameter("in_owner_name", model.owner);
|
||
nSqlParam[4] = new NpgsqlParameter("in_vehiclemanufacturername", model.vehicleManufacturerName);
|
||
nSqlParam[5] = new NpgsqlParameter("in_registration_number", model.Registration_Number);
|
||
nSqlParam[6] = new NpgsqlParameter("in_fuel_type", model.type);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_vahan_details"], nSqlParam);
|
||
return strmessage;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("insertVahanDetails", Ex.Message, path, errorlogtf);
|
||
|
||
strmessage = "Catch exception";
|
||
return strmessage;
|
||
}
|
||
}
|
||
|
||
public string insertVahanDetailsError(VAHANAPIError model, string chassis_no, string reg_no)
|
||
{
|
||
string strmessage = "";
|
||
try
|
||
{
|
||
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[7];
|
||
// nSqlParam[0] = new NpgsqlParameter("inpayment_date", model.payment_date != null ? Convert.ToDateTime(model.payment_date).AddMinutes(UtcMinute) : model.payment_date);
|
||
nSqlParam[0] = new NpgsqlParameter("in_error_message", model.message);
|
||
nSqlParam[1] = new NpgsqlParameter("in_error_status", model.status);
|
||
nSqlParam[2] = new NpgsqlParameter("in_error_reason", model.reason);
|
||
nSqlParam[3] = new NpgsqlParameter("in_error_type", model.type);
|
||
nSqlParam[4] = new NpgsqlParameter("in_statuscode", model.statusCode);
|
||
nSqlParam[5] = new NpgsqlParameter("in_registration_number", reg_no);
|
||
nSqlParam[6] = new NpgsqlParameter("in_chassis_number", chassis_no);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_vahan_details_error"], nSqlParam);
|
||
return strmessage;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("insertVahanDetailsError", Ex.Message, path, errorlogtf);
|
||
|
||
strmessage = "Catch exception";
|
||
return strmessage;
|
||
}
|
||
}
|
||
/*
|
||
public VAHANAPI DetailFormVAHANApiAllDetails(string registration_number)
|
||
{
|
||
|
||
string vahanUrl = ConfigurationManager.AppSettings["VahanUrl"].ToString();
|
||
string apiKey = ConfigurationManager.AppSettings["VahanKey"].ToString();
|
||
objLog.AddLogFile("Vahan Response Url", vahanUrl.ToString(), path, errorlogtf);
|
||
objLog.AddLogFile("Vahan Response Key", apiKey.ToString(), path, errorlogtf);
|
||
VAHANAPI objVAHANAPI = new VAHANAPI();
|
||
try
|
||
{
|
||
|
||
var clientVehicleType = new RestClient(vahanUrl);
|
||
clientVehicleType.Timeout = -1;
|
||
var requestVehicleType = new RestRequest(Method.POST);
|
||
ServicePointManager.Expect100Continue = true;
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
||
| SecurityProtocolType.Tls11
|
||
| SecurityProtocolType.Tls12
|
||
| SecurityProtocolType.Ssl3
|
||
| (SecurityProtocolType)3072;
|
||
|
||
//KA01JZ4031
|
||
string issend = "true";
|
||
string jsonAuthVariable = "{\"vehicleNumber\":\"" + registration_number + "\",\n\"blacklistCheck\":\"" + issend + "\",\n\"splitAddress\":" + issend + "}";
|
||
objLog.AddLogFile("Vahan Response Json", jsonAuthVariable.ToString(), path, errorlogtf);
|
||
requestVehicleType.AddHeader("Content-Type", "application/json");
|
||
requestVehicleType.AddHeader("Authorization", apiKey);
|
||
requestVehicleType.AddParameter("application/json", jsonAuthVariable, ParameterType.RequestBody);
|
||
//IRestResponse responseVehicleType = clientVehicleType.Execute(requestVehicleType);
|
||
requestVehicleType.AddJsonBody(jsonAuthVariable);
|
||
objLog.AddLogFile("Vahan Response requestVehicleType", requestVehicleType.ToString(), path, errorlogtf);
|
||
// Send the request (blocking call)
|
||
IRestResponse response = clientVehicleType.Execute(requestVehicleType);
|
||
objLog.AddLogFile("Vahan Response StatusCode", response.StatusCode.ToString(), path, errorlogtf);
|
||
|
||
if (response.StatusCode == System.Net.HttpStatusCode.OK)
|
||
{
|
||
objLog.AddLogFile("Vahan Response Content", response.Content.ToString(), path, errorlogtf);
|
||
var stringvehcileResultVehicleType = response.Content.ToString();
|
||
if (stringvehcileResultVehicleType.ToString() == "[]")
|
||
{
|
||
objVAHANAPI = null;
|
||
}
|
||
else
|
||
{
|
||
JObject json = JObject.Parse(stringvehcileResultVehicleType);
|
||
objLog.AddLogFile("Vahan Response json response", json.ToString(), path, errorlogtf);
|
||
// Extract the chassis value
|
||
|
||
objVAHANAPI.chassis_number = json["result"]["chassis"].ToString();
|
||
objVAHANAPI.model = json["result"]["model"].ToString();
|
||
objVAHANAPI.normsType = json["result"]["normsType"].ToString();
|
||
objVAHANAPI.owner = json["result"]["owner"].ToString();
|
||
objVAHANAPI.vehicleManufacturerName = json["result"]["vehicleManufacturerName"].ToString();
|
||
objVAHANAPI.type = json["result"]["type"].ToString();
|
||
objVAHANAPI.Registration_Number = json["result"]["regNo"].ToString();
|
||
string str = insertVahanDetails(objVAHANAPI);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
string stringvehcileResultVehicleType = response.Content.ToString();
|
||
ErrorResponse objErrorResponse = new ErrorResponse();
|
||
objErrorResponse = JsonConvert.DeserializeObject<ErrorResponse>(stringvehcileResultVehicleType);
|
||
string str = insertVahanDetailsError(objErrorResponse.Error, "", registration_number);
|
||
//insertVahanDetailsError
|
||
// objVAHANAPI.chassis_number = json["result"]["chassis"].ToString();
|
||
//objVAHANAPI.model = json["result"]["model"].ToString();
|
||
//objVAHANAPI.normsType = json["result"]["normsType"].ToString();
|
||
//objVAHANAPI.owner = json["result"]["owner"].ToString();
|
||
//objVAHANAPI.vehicleManufacturerName = json["result"]["vehicleManufacturerName"].ToString();
|
||
//objVAHANAPI.type = json["result"]["type"].ToString();
|
||
//objVAHANAPI.Registration_Number = json["result"]["regNo"].ToString();
|
||
//string str = insertVahanDetails(objVAHANAPI);
|
||
}
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("DetailFormVAHANApiAllDetails", Ex.Message, path, errorlogtf);
|
||
objLog.AddLogFile("Vahan Response Error", Ex.InnerException.ToString(), path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
return objVAHANAPI;
|
||
}*/
|
||
|
||
public VAHANAPI DetailFormVAHANApiAllDetails(string registration_number)
|
||
{
|
||
|
||
string vahanUrl = ConfigurationManager.AppSettings["VahanUrl"].ToString();
|
||
string apiKey = ConfigurationManager.AppSettings["VahanKey"].ToString();
|
||
objLog.AddLogFile("Vahan Response Url", vahanUrl.ToString(), path, errorlogtf);
|
||
objLog.AddLogFile("Vahan Response Key", apiKey.ToString(), path, errorlogtf);
|
||
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
||
VAHANAPI objVAHANAPI = new VAHANAPI();
|
||
try
|
||
{
|
||
|
||
var clientVehicleType = new RestClient(vahanUrl);
|
||
clientVehicleType.Timeout = -1;
|
||
var requestVehicleType = new RestRequest(Method.POST);
|
||
ServicePointManager.Expect100Continue = true;
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
||
| SecurityProtocolType.Tls11
|
||
| SecurityProtocolType.Tls12
|
||
| SecurityProtocolType.Ssl3
|
||
| (SecurityProtocolType)3072;
|
||
|
||
//KA01JZ4031
|
||
string issend = "true";
|
||
string jsonAuthVariable = "{\"vehicleNumber\":\"" + registration_number + "\",\n\"blacklistCheck\":\"" + issend + "\",\n\"splitAddress\":" + issend + "}";
|
||
objLog.AddLogFile("Vahan Response Json", jsonAuthVariable.ToString(), path, errorlogtf);
|
||
requestVehicleType.AddHeader("Content-Type", "application/json");
|
||
requestVehicleType.AddHeader("Authorization", apiKey);
|
||
requestVehicleType.AddParameter("application/json", jsonAuthVariable, ParameterType.RequestBody);
|
||
//IRestResponse responseVehicleType = clientVehicleType.Execute(requestVehicleType);
|
||
requestVehicleType.AddJsonBody(jsonAuthVariable);
|
||
objLog.AddLogFile("Vahan Response requestVehicleType", requestVehicleType.ToString(), path, errorlogtf);
|
||
// Send the request (blocking call)
|
||
IRestResponse response = clientVehicleType.Execute(requestVehicleType);
|
||
objLog.AddLogFile("Vahan Response StatusCode", response.StatusCode.ToString(), path, errorlogtf);
|
||
if (response.ResponseStatus.ToString() == "Error")
|
||
{
|
||
|
||
bool isSend = objTicketRepository.emailForError(response.ErrorMessage.ToString(), clientVehicleType.BaseUrl.ToString());
|
||
objLog.ErrorLogFile(clientVehicleType.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. ", clientVehicleType.BaseUrl.ToString());
|
||
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), "API Login Failed:Login failed. The server response is Unauthorized. ", path, errorlogtf);
|
||
|
||
}
|
||
if (response.ResponseStatus.ToString() == "TimedOut")
|
||
{
|
||
|
||
bool isSend = objTicketRepository.emailForError(response.ErrorMessage.ToString(), clientVehicleType.BaseUrl.ToString());
|
||
objLog.ErrorLogFile(clientVehicleType.BaseUrl.ToString(), response.ErrorMessage.ToString(), path, errorlogtf);
|
||
|
||
}
|
||
else
|
||
{
|
||
if (response.StatusCode == System.Net.HttpStatusCode.OK)
|
||
{
|
||
objLog.AddLogFile("Vahan Response Content", response.Content.ToString(), path, errorlogtf);
|
||
var stringvehcileResultVehicleType = response.Content.ToString();
|
||
if (stringvehcileResultVehicleType.ToString() == "[]")
|
||
{
|
||
objVAHANAPI = null;
|
||
}
|
||
else
|
||
{
|
||
JObject json = JObject.Parse(stringvehcileResultVehicleType);
|
||
objLog.AddLogFile("Vahan Response json response", json.ToString(), path, errorlogtf);
|
||
// Extract the chassis value
|
||
|
||
objVAHANAPI.chassis_number = json["result"]["chassis"].ToString();
|
||
objVAHANAPI.model = json["result"]["model"].ToString();
|
||
objVAHANAPI.normsType = json["result"]["normsType"].ToString();
|
||
objVAHANAPI.owner = json["result"]["owner"].ToString();
|
||
objVAHANAPI.vehicleManufacturerName = json["result"]["vehicleManufacturerName"].ToString();
|
||
objVAHANAPI.type = json["result"]["type"].ToString();
|
||
objVAHANAPI.Registration_Number = json["result"]["regNo"].ToString();
|
||
string str = insertVahanDetails(objVAHANAPI);
|
||
}
|
||
}
|
||
else
|
||
{
|
||
string stringvehcileResultVehicleType = response.Content.ToString();
|
||
ErrorResponse objErrorResponse = new ErrorResponse();
|
||
objErrorResponse = JsonConvert.DeserializeObject<ErrorResponse>(stringvehcileResultVehicleType);
|
||
string str = insertVahanDetailsError(objErrorResponse.Error, "", registration_number);
|
||
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("DetailFormVAHANApiAllDetails", Ex.Message, path, errorlogtf);
|
||
objLog.AddLogFile("Vahan Response Error", Ex.InnerException.ToString(), path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
return objVAHANAPI;
|
||
}
|
||
|
||
public CustomerVehicleModelDBM CustomerVehicleModelByDBM(CustomerVehicleModelDBM model)
|
||
{
|
||
string regno = model.VehicleRegistrationNumber;
|
||
CustomerVehicleModelDBM objCutomerVehicle = new CustomerVehicleModelDBM();
|
||
try
|
||
{
|
||
|
||
GlobalRepository objGlobalRepository = new GlobalRepository("");
|
||
objCutomerVehicle = GetCustomerDetailsDBM(model);
|
||
if (objCutomerVehicle.VehicleNumberPlate == null || objCutomerVehicle.VehicleNumberPlate == "")
|
||
{
|
||
|
||
}
|
||
|
||
else
|
||
{
|
||
model.VehicleNumberPlate = objCutomerVehicle.VehicleNumberPlate;
|
||
|
||
objCutomerVehicle.userType = "DBMDataLake";
|
||
|
||
|
||
}
|
||
|
||
model.VehicleRegistrationNumber = regno;
|
||
objCutomerVehicle.VehicleRegistrationNumber = regno;
|
||
return objCutomerVehicle;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
// write error log into fil
|
||
objLog.ErrorLogFile("CustomerVehicleModelByDBM", Ex.Message, path, errorlogtf);
|
||
objCutomerVehicle = new CustomerVehicleModelDBM();
|
||
objCutomerVehicle.Status = 0;
|
||
objCutomerVehicle.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
|
||
return objCutomerVehicle;
|
||
}
|
||
|
||
|
||
}
|
||
|
||
/* public CustomerVehicleModelDBM CustomerVehicleModelByDBMAPI(CustomerVehicleModelDBM model)
|
||
{
|
||
CustomerVehicleModelDBM objCutomerVehicle = new CustomerVehicleModelDBM();
|
||
|
||
try
|
||
{
|
||
string regno = model.VehicleRegistrationNumber;
|
||
GlobalRepository objGlobalRepository = new GlobalRepository("");
|
||
|
||
var watch1 = System.Diagnostics.Stopwatch.StartNew();
|
||
string APIRegistrationNo = string.Format(ConfigurationManager.AppSettings["EOSAPIFORGETTINGCUSTOMERDATA"].ToString(), model.VehicleRegistrationNumber.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.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.VehicleNumberPlate = tempElement.Value;//Chassis Number
|
||
objCutomerVehicle.VehicleNumberPlate = model.VehicleNumberPlate;
|
||
tempElement = doc.Descendants(ab + "Maktx").FirstOrDefault();
|
||
model.VehicleModelNumber = tempElement.Value;
|
||
//if(model.VehicleModelNumber.ToLowe)
|
||
tempElement = doc.Descendants(ab + "fueltype").FirstOrDefault();
|
||
objCutomerVehicle.VehicleFuelType = tempElement.Value;
|
||
|
||
objCutomerVehicle.VehicleModelNumber = model.VehicleModelNumber;
|
||
//Vehicle Product Varient
|
||
tempElement = doc.Descendants(ab + "Vtext").FirstOrDefault();
|
||
|
||
model.VehicleType = tempElement.Value;
|
||
if ((model.VehicleType).ToLower() == "scv")
|
||
{
|
||
model.VehicleType = "LMD";
|
||
}
|
||
objCutomerVehicle.VehicleType = model.VehicleType;
|
||
|
||
// objCutomerVehicle.vehicle_installation_date = model.VehicleType;
|
||
//Vehicle Installation Date
|
||
tempElement = doc.Descendants(ab + "date").FirstOrDefault();
|
||
if (!string.IsNullOrEmpty(tempElement.Value))
|
||
{
|
||
DateTime dt = DateTime.ParseExact(tempElement.Value, "yyyymmdd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal);
|
||
objCutomerVehicle.vehicle_installation_date = dt.ToString(ConfigurationManager.AppSettings["DateFormat"]);
|
||
}
|
||
else
|
||
{
|
||
objCutomerVehicle.vehicle_installation_date = "";
|
||
}
|
||
tempElement = doc.Descendants(ab + "Name1").FirstOrDefault();
|
||
objCutomerVehicle.CustomerName = tempElement.Value;
|
||
tempElement = doc.Descendants(ab + "CustomerId").FirstOrDefault();
|
||
objCutomerVehicle.CustomerId = tempElement.Value;
|
||
tempElement = doc.Descendants(ab + "CustomerType").FirstOrDefault();
|
||
objCutomerVehicle.CustomerType = tempElement.Value;
|
||
tempElement = doc.Descendants(ab + "Telf1").FirstOrDefault();
|
||
objCutomerVehicle.CustomerMobile1 = tempElement.Value;
|
||
tempElement = doc.Descendants(ab + "CustAddr").FirstOrDefault();
|
||
objCutomerVehicle.CustomerAddress = tempElement.Value;
|
||
tempElement = doc.Descendants(ab + "CustState").FirstOrDefault();
|
||
objCutomerVehicle.CustomerState = tempElement.Value;
|
||
tempElement = doc.Descendants(ab + "Vehicle_Warranty").FirstOrDefault();
|
||
objCutomerVehicle.vehicle_warranty = tempElement.Value;
|
||
tempElement = doc.Descendants(ab + "AMC").FirstOrDefault();
|
||
objCutomerVehicle.vehicle_amc = tempElement.Value;
|
||
tempElement = doc.Descendants(ab + "Emission_norms").FirstOrDefault();
|
||
objCutomerVehicle.VehicleEmissionNorms = tempElement.Value; tempElement = doc.Descendants(ab + "sales_date").FirstOrDefault();
|
||
objCutomerVehicle.VehicleSalesDate = tempElement.Value;
|
||
objCutomerVehicle.userType = "DBMApi";
|
||
objCutomerVehicle.VehicleRegistrationNumber = model.VehicleRegistrationNumber.ToUpper();
|
||
|
||
}
|
||
}
|
||
model.VehicleNumberPlate = objCutomerVehicle.VehicleNumberPlate;
|
||
string extendedarranty = objGlobalRepository.getvehicleExtendedwarranty(model.VehicleNumberPlate);
|
||
if (extendedarranty == "")
|
||
{
|
||
}
|
||
else
|
||
{
|
||
string[] tokens = extendedarranty.Split(',');
|
||
objCutomerVehicle.extended_warranty = tokens[0];
|
||
objCutomerVehicle.warranty_end_date = tokens[1];
|
||
}
|
||
string WARRANTY = "";
|
||
WARRANTY = objGlobalRepository.getvehiclewarranty(model.VehicleRegistrationNumber);
|
||
objCutomerVehicle.vehicle_warranty = WARRANTY;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objCutomerVehicle = null;
|
||
// write error log into fil
|
||
objLog.ErrorLogFile("CustomerVehicleModelByDBMAPI", Ex.Message, path, errorlogtf);
|
||
|
||
}
|
||
return objCutomerVehicle;
|
||
}*/
|
||
|
||
|
||
public CustomerVehicleModelDBM CustomerVehicleModelByDBMAPI(CustomerVehicleModelDBM model)
|
||
{
|
||
CustomerVehicleModelDBM objCutomerVehicle = new CustomerVehicleModelDBM();
|
||
|
||
try
|
||
{
|
||
string APIRegistrationNo = string.Format(ConfigurationManager.AppSettings["EOSAPIFORGETTINGCUSTOMERDATA"].ToString(), model.VehicleRegistrationNumber.ToUpper(), "");
|
||
|
||
GlobalRepository objGlobalRepository = new GlobalRepository("");
|
||
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
||
try
|
||
{
|
||
string regno = model.VehicleRegistrationNumber;
|
||
|
||
var watch1 = System.Diagnostics.Stopwatch.StartNew();
|
||
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.VehicleNumberPlate = tempElement.Value;//Chassis Number
|
||
objCutomerVehicle.VehicleNumberPlate = model.VehicleNumberPlate;
|
||
tempElement = doc.Descendants(ab + "Maktx").FirstOrDefault();
|
||
model.VehicleModelNumber = tempElement.Value;
|
||
//if(model.VehicleModelNumber.ToLowe)
|
||
tempElement = doc.Descendants(ab + "fueltype").FirstOrDefault();
|
||
objCutomerVehicle.VehicleFuelType = tempElement.Value;
|
||
|
||
objCutomerVehicle.VehicleModelNumber = model.VehicleModelNumber;
|
||
//Vehicle Product Varient
|
||
tempElement = doc.Descendants(ab + "Vtext").FirstOrDefault();
|
||
|
||
model.VehicleType = tempElement.Value;
|
||
if ((model.VehicleType).ToLower() == "scv")
|
||
{
|
||
model.VehicleType = "LMD";
|
||
}
|
||
objCutomerVehicle.VehicleType = model.VehicleType;
|
||
|
||
// objCutomerVehicle.vehicle_installation_date = model.VehicleType;
|
||
//Vehicle Installation Date
|
||
tempElement = doc.Descendants(ab + "date").FirstOrDefault();
|
||
if (!string.IsNullOrEmpty(tempElement.Value))
|
||
{
|
||
DateTime dt = DateTime.ParseExact(tempElement.Value, "yyyymmdd", CultureInfo.InvariantCulture, DateTimeStyles.AssumeLocal);
|
||
objCutomerVehicle.vehicle_installation_date = dt.ToString(ConfigurationManager.AppSettings["DateFormat"]);
|
||
}
|
||
else
|
||
{
|
||
objCutomerVehicle.vehicle_installation_date = "";
|
||
}
|
||
tempElement = doc.Descendants(ab + "Name1").FirstOrDefault();
|
||
objCutomerVehicle.CustomerName = tempElement.Value;
|
||
tempElement = doc.Descendants(ab + "CustomerId").FirstOrDefault();
|
||
objCutomerVehicle.CustomerId = tempElement.Value;
|
||
tempElement = doc.Descendants(ab + "CustomerType").FirstOrDefault();
|
||
objCutomerVehicle.CustomerType = tempElement.Value;
|
||
tempElement = doc.Descendants(ab + "Telf1").FirstOrDefault();
|
||
objCutomerVehicle.CustomerMobile1 = tempElement.Value;
|
||
tempElement = doc.Descendants(ab + "CustAddr").FirstOrDefault();
|
||
objCutomerVehicle.CustomerAddress = tempElement.Value;
|
||
tempElement = doc.Descendants(ab + "CustState").FirstOrDefault();
|
||
objCutomerVehicle.CustomerState = tempElement.Value;
|
||
tempElement = doc.Descendants(ab + "Vehicle_Warranty").FirstOrDefault();
|
||
objCutomerVehicle.vehicle_warranty = tempElement.Value;
|
||
tempElement = doc.Descendants(ab + "AMC").FirstOrDefault();
|
||
objCutomerVehicle.vehicle_amc = tempElement.Value;
|
||
tempElement = doc.Descendants(ab + "Emission_norms").FirstOrDefault();
|
||
objCutomerVehicle.VehicleEmissionNorms = tempElement.Value; tempElement = doc.Descendants(ab + "sales_date").FirstOrDefault();
|
||
objCutomerVehicle.VehicleSalesDate = tempElement.Value;
|
||
objCutomerVehicle.userType = "DBMApi";
|
||
objCutomerVehicle.VehicleRegistrationNumber = model.VehicleRegistrationNumber.ToUpper();
|
||
|
||
}
|
||
}
|
||
|
||
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);
|
||
}
|
||
}
|
||
catch (WebException webEx)
|
||
{
|
||
string errorMessage = "";
|
||
|
||
if (webEx.Response != null)
|
||
{
|
||
using (var reader = new StreamReader(webEx.Response.GetResponseStream()))
|
||
{
|
||
errorMessage = reader.ReadToEnd();
|
||
}
|
||
}
|
||
else
|
||
{
|
||
errorMessage = webEx.Message;
|
||
}
|
||
|
||
|
||
bool isSend = objTicketRepository.emailForError(errorMessage, APIRegistrationNo);
|
||
objLog.ErrorLogFile(APIRegistrationNo, errorMessage, path, errorlogtf);
|
||
|
||
}
|
||
|
||
model.VehicleNumberPlate = objCutomerVehicle.VehicleNumberPlate;
|
||
string extendedarranty = objGlobalRepository.getvehicleExtendedwarranty(model.VehicleNumberPlate);
|
||
if (extendedarranty == "")
|
||
{
|
||
}
|
||
else
|
||
{
|
||
string[] tokens = extendedarranty.Split(',');
|
||
objCutomerVehicle.extended_warranty = tokens[0];
|
||
objCutomerVehicle.warranty_end_date = tokens[1];
|
||
}
|
||
string WARRANTY = "";
|
||
WARRANTY = objGlobalRepository.getvehiclewarranty(model.VehicleRegistrationNumber);
|
||
objCutomerVehicle.vehicle_warranty = WARRANTY;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objCutomerVehicle = null;
|
||
// write error log into fil
|
||
objLog.ErrorLogFile("CustomerVehicleModelByDBMAPI", Ex.Message, path, errorlogtf);
|
||
|
||
}
|
||
return objCutomerVehicle;
|
||
}
|
||
public CustomerVehicleModelDBM CustomerVehicleModelByDBMBYChassisno(CustomerVehicleModelDBM model)
|
||
{
|
||
GlobalRepository objGlobalRepository = new GlobalRepository("");
|
||
|
||
CustomerVehicleModelDBM objCutomerVehicle = new CustomerVehicleModelDBM();
|
||
try
|
||
{
|
||
|
||
// objCutomerVehicle = objTicket.GetCustomerDetailsDBM(model);
|
||
|
||
|
||
|
||
string strchassisno = GetChassisNoByRegno(model.VehicleRegistrationNumber);
|
||
model.VehicleNumberPlate = strchassisno;
|
||
if (System.Configuration.ConfigurationManager.AppSettings["IsDataLakeSkip"] != "true")
|
||
{
|
||
objCutomerVehicle = GetCustomerDetailsDBMChassisNo(model);
|
||
model.VehicleNumberPlate = objCutomerVehicle.VehicleNumberPlate;
|
||
}
|
||
//model.VehicleNumberPlate = "MC2BUERC0PL105890";
|
||
|
||
|
||
// objCutomerVehiclewaranty = objTiclaket.GetwarrantyDetailsDBM(model);lak
|
||
string WARRANTY = "";
|
||
if (strchassisno == "")
|
||
{
|
||
objCutomerVehicle = null;
|
||
|
||
}
|
||
else
|
||
{
|
||
objCutomerVehicle.userType = "DBMDataLake";
|
||
WARRANTY = objGlobalRepository.getvehiclewarrantychassis(model.VehicleNumberPlate);
|
||
objCutomerVehicle.vehicle_warranty = WARRANTY;
|
||
model.VehicleNumberPlate = objCutomerVehicle.VehicleNumberPlate;
|
||
string extendedarranty = objGlobalRepository.getvehicleExtendedwarranty(model.VehicleNumberPlate);
|
||
if (extendedarranty == "")
|
||
{
|
||
}
|
||
else
|
||
{
|
||
string[] tokens = extendedarranty.Split(',');
|
||
objCutomerVehicle.extended_warranty = tokens[0];
|
||
objCutomerVehicle.warranty_end_date = tokens[1];
|
||
}
|
||
}
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
// write error log into fil
|
||
objLog.ErrorLogFile("CustomerVehicleModelByDBMBYChassisno", Ex.Message, path, errorlogtf);
|
||
|
||
}
|
||
return objCutomerVehicle;
|
||
}
|
||
|
||
public CustomerVehicleModelDBM CustomerVehicleModelAfterVahanChassisno(CustomerVehicleModelDBM model)
|
||
{
|
||
GlobalRepository objGlobalRepository = new GlobalRepository("");
|
||
|
||
CustomerVehicleModelDBM objCutomerVehicle = new CustomerVehicleModelDBM();
|
||
try
|
||
{
|
||
|
||
// objCutomerVehicle = objTicket.GetCustomerDetailsDBM(model);
|
||
|
||
|
||
objCutomerVehicle = GetCustomerDetailsDBMChassisNo(model);
|
||
model.VehicleNumberPlate = objCutomerVehicle.VehicleNumberPlate;
|
||
//model.VehicleNumberPlate = "MC2BUERC0PL105890";
|
||
|
||
|
||
// objCutomerVehiclewaranty = objTiclaket.GetwarrantyDetailsDBM(model);lak
|
||
string WARRANTY = "";
|
||
if (objCutomerVehicle == null)
|
||
{
|
||
objCutomerVehicle = null;
|
||
|
||
}
|
||
else
|
||
{
|
||
if (objCutomerVehicle.CustomerId == null)
|
||
{
|
||
}
|
||
else
|
||
{
|
||
objCutomerVehicle.userType = "DBMDataLake";
|
||
WARRANTY = objGlobalRepository.getvehiclewarrantychassis(model.VehicleNumberPlate);
|
||
objCutomerVehicle.vehicle_warranty = WARRANTY;
|
||
objCutomerVehicle.CustomerId = model.CustomerId;
|
||
model.VehicleNumberPlate = objCutomerVehicle.VehicleNumberPlate;
|
||
string extendedarranty = objGlobalRepository.getvehicleExtendedwarranty(model.VehicleNumberPlate);
|
||
if (extendedarranty == "")
|
||
{
|
||
}
|
||
else
|
||
{
|
||
string[] tokens = extendedarranty.Split(',');
|
||
objCutomerVehicle.extended_warranty = tokens[0];
|
||
objCutomerVehicle.warranty_end_date = tokens[1];
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
// write error log into fil
|
||
objLog.ErrorLogFile("CustomerVehicleModelByDBMBYChassisno", Ex.Message, path, errorlogtf);
|
||
|
||
}
|
||
return objCutomerVehicle;
|
||
}
|
||
|
||
|
||
public VAHANAPI getVahanDetailByRegistrationNumber(string registration_number)
|
||
{
|
||
|
||
VAHANAPI objVAHANAPI = new VAHANAPI();
|
||
try
|
||
{
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParamopen = new NpgsqlParameter[1];
|
||
nSqlParamopen[0] = new NpgsqlParameter("inregistration_number ", registration_number);
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_vahan_details"], nSqlParamopen);
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
//assigned_to_user_id = dsOpen.Tables[0].Rows[0]["_assigned_to_user_id"].ToString(); // getting ticket id alias
|
||
objVAHANAPI.chassis_number = dsOpen.Tables[0].Rows[0]["_chassis_number"].ToString(); // getting ticket id alias
|
||
objVAHANAPI.Registration_Number = dsOpen.Tables[0].Rows[0]["_registration_number"].ToString(); // getting ticket id alias
|
||
objVAHANAPI.vehicleManufacturerName = dsOpen.Tables[0].Rows[0]["_vehiclemanufacturername"].ToString(); // getting ticket id alias
|
||
|
||
}
|
||
else
|
||
{
|
||
objVAHANAPI = null;
|
||
}
|
||
return objVAHANAPI;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
|
||
|
||
objLog.ErrorLogFile("getVahanDetailByRegistrationNumber", Ex.Message, path, errorlogtf);
|
||
return objVAHANAPI;
|
||
}
|
||
}
|
||
|
||
public List<ElectricServiceStationModel> GetServiceStation(ElectricServiceStationModel model)
|
||
{
|
||
List<ElectricServiceStationModel> objListModel = new List<ElectricServiceStationModel>();
|
||
try
|
||
{
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
nSqlParam[0] = new NpgsqlParameter("inlatitude", model.lattitude);
|
||
nSqlParam[1] = new NpgsqlParameter("inlongitude", model.longitude);
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_electric_service_station_by_latlong"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objListModel = ds.Tables[0].AsEnumerable().Select(s => new ElectricServiceStationModel
|
||
{
|
||
name = s.Field<string>("_name"),
|
||
city = s.Field<string>("_city"),
|
||
address = s.Field<string>("_address"),
|
||
state = s.Field<string>("_state"),
|
||
lattitude = s.Field<string>("_lattitude"),
|
||
longitude = s.Field<string>("_longitude")
|
||
|
||
|
||
}).ToList();
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
objLog.ErrorLogFile("GetAllElectricServiceStationByLatLong", ex.Message, path, errorlogtf);
|
||
}
|
||
return objListModel;
|
||
}
|
||
|
||
public List<VAHANAPI> VahanDetailReport(ReportRequestModel model)
|
||
{
|
||
|
||
List<VAHANAPI> objVAHANAPI = new List<VAHANAPI>();
|
||
try
|
||
{
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
|
||
nSqlParam[0] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[1] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_vahan_details_report"], nSqlParam);
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
objVAHANAPI = dsOpen.Tables[0].AsEnumerable().Select(s => new VAHANAPI
|
||
{
|
||
chassis_number = s.Field<string>("_chassis_number"),
|
||
Registration_Number = s.Field<string>("_registration_number"),
|
||
vehicleManufacturerName = s.Field<string>("_vehiclemanufacturername"),
|
||
model = s.Field<string>("_model"),
|
||
normsType = s.Field<string>("_normsType"),
|
||
creation_time = s.Field<string>("_creation_time"),
|
||
owner = s.Field<string>("_owner"),
|
||
type = s.Field<string>("_type")
|
||
}).ToList();
|
||
//assigned_to_user_id = dsOpen.Tables[0].Rows[0]["_assigned_to_user_id"].ToString(); // getting ticket id alias
|
||
|
||
}
|
||
else
|
||
{
|
||
objVAHANAPI = null;
|
||
}
|
||
return objVAHANAPI;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
|
||
|
||
objLog.ErrorLogFile("getVahanDetailByRegistrationNumber", Ex.Message, path, errorlogtf);
|
||
return objVAHANAPI;
|
||
}
|
||
}
|
||
|
||
|
||
public List<VAHANAPIError> VahanDetailErrorReport(ReportRequestModel model)
|
||
{
|
||
|
||
List<VAHANAPIError> objVAHANAPI = new List<VAHANAPIError>();
|
||
try
|
||
{
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
|
||
nSqlParam[0] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[1] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_vahan_details_error_report"], nSqlParam);
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
objVAHANAPI = dsOpen.Tables[0].AsEnumerable().Select(s => new VAHANAPIError
|
||
{ //assigned_to_user_id = dsOpen.Tables[0].Rows[0]["_assigned_to_user_id"].ToString(); // getting ticket id alias
|
||
message = s.Field<string>("_message"), // getting ticket id alias
|
||
status = s.Field<string>("_status"), // getting ticket id alias
|
||
reason = s.Field<string>("_reason"), // getting ticket id alias
|
||
creation_time = s.Field<string>("_creation_time"),
|
||
type = s.Field<string>("_type"),
|
||
statusCode = s.Field<string>("_statusCode"),
|
||
registration_number = s.Field<string>("_reg_no")
|
||
}).ToList();
|
||
|
||
}
|
||
else
|
||
{
|
||
objVAHANAPI = null;
|
||
}
|
||
return objVAHANAPI;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
|
||
|
||
objLog.ErrorLogFile("VahanDetailErrorReport", Ex.Message, path, errorlogtf);
|
||
return objVAHANAPI;
|
||
}
|
||
}
|
||
|
||
public List<CaseManagementAPIModel> GetAllOpenTicketCaseManagement(CaseManagementAPIModel model)
|
||
{
|
||
|
||
List<CaseManagementAPIModel> objCaseManagementAPI = new List<CaseManagementAPIModel>();
|
||
try
|
||
{
|
||
int UtcMinute = 330;
|
||
DataSet dsOpen = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[0];
|
||
dsOpen = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_open_ticket_details_for_casemanagement"], nSqlParam);
|
||
if (dsOpen.Tables[0].Rows.Count > 0)
|
||
{
|
||
objCaseManagementAPI = dsOpen.Tables[0].AsEnumerable().Select(s => new CaseManagementAPIModel
|
||
{ //assigned_to_user_id = dsOpen.Tables[0].Rows[0]["_assigned_to_user_id"].ToString(); // getting ticket id alias
|
||
EOS_Ticket_Id = s.Field<string>("_ticket_id_alias"), // getting ticket id alias
|
||
Dealer_Code = s.Field<string>("_dealer_name_1scode"), // getting ticket id alias
|
||
Dealer_Name = s.Field<string>("_dealer_name"),
|
||
Dealer_Contact_Number = s.Field<string>("_dealer_contact_number1"),
|
||
CSM_Name = s.Field<string>("csm"),
|
||
ASM_Name = s.Field<string>("asm"),
|
||
RSM_Name = s.Field<string>("rsm"),
|
||
WM_Name = s.Field<string>("wm"),
|
||
CSM_Contact = s.Field<string>("csm_contact_no"),
|
||
ASM_Contact = s.Field<string>("asm_contact_no"),
|
||
RSM_contact = s.Field<string>("rsm_contact_no"),
|
||
WM_contact = s.Field<string>("wm_contact_no"),
|
||
Registration_number = s.Field<string>("_registration_number"),
|
||
// getting ticket id alias
|
||
chassis_no = s.Field<string>("_chassis_no"),
|
||
creation_time = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16(UtcMinute)).ToString("yyyy-MM-dd HH:mm:ss"),
|
||
|
||
EOS_Aging_Hrs = s.Field<string>("_eos_sla"),
|
||
Latest_Remark = s.Field<string>("_reamrks"),
|
||
EOS_Ticket_Status = s.Field<string>("_ticket_status"),
|
||
CutomerType = s.Field<string>("_cutomer_type"),
|
||
ModelNumber = s.Field<string>("_model_number"),
|
||
Region = s.Field<string>("_region"),
|
||
VehicleTagging = s.Field<string>("_vehicle_tagging")
|
||
|
||
}).ToList();
|
||
|
||
}
|
||
else
|
||
{
|
||
objCaseManagementAPI = null;
|
||
}
|
||
return objCaseManagementAPI;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
|
||
|
||
objLog.ErrorLogFile("VahanDetailErrorReport", Ex.Message, path, errorlogtf);
|
||
return objCaseManagementAPI;
|
||
}
|
||
}
|
||
|
||
public string updateremarksCasemanagement(CaseManagementAPIModel model)
|
||
{
|
||
string strSuccess = "";
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[2];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", model.EOS_Ticket_Id);
|
||
nSqlParam[1] = new NpgsqlParameter("inremarks", model.Latest_Remark);
|
||
DataSet ds = new DataSet();
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_remarks_case_management"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
|
||
string appversion = Convert.ToString(ds.Tables[0].Rows[0]["sp_update_remarks_case_management"]);
|
||
if (appversion == "" || appversion == null)
|
||
{
|
||
strSuccess = "error";
|
||
}
|
||
else
|
||
{
|
||
strSuccess = "success";
|
||
}
|
||
}
|
||
return strSuccess;
|
||
}
|
||
|
||
|
||
/* public async Task<CustomerVehicleModelDBM> GetFuelDetails(string chassisno)
|
||
{
|
||
CustomerVehicleModelDBM model = new CustomerVehicleModelDBM();
|
||
if (chassisno.Length > 12)
|
||
{
|
||
try
|
||
{
|
||
|
||
Task<string> str = getAuthCode();
|
||
string authkey = str.Result;
|
||
var clientVehicleType = new RestClient(ConfigurationManager.AppSettings["fuellevel"]);
|
||
clientVehicleType.Timeout = -1;
|
||
var requestVehicleType = new RestRequest(Method.POST);
|
||
ServicePointManager.Expect100Continue = true;
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
||
| SecurityProtocolType.Tls11
|
||
| SecurityProtocolType.Tls12
|
||
| SecurityProtocolType.Ssl3
|
||
| (SecurityProtocolType)3072;
|
||
|
||
//requestVehicleType.AddHeader("Content-Type", "application/json");
|
||
requestVehicleType.AddHeader("X-IBM-Client-Id", "EOS_USER");
|
||
requestVehicleType.AddHeader("Authorization", $"Bearer {authkey}");
|
||
requestVehicleType.AddHeader("Content-Type", "application/json");
|
||
|
||
var postData = new
|
||
{
|
||
chassisNo = chassisno// Replace with your actual parameter
|
||
};
|
||
|
||
// Add the JSON body using AddJsonBody()
|
||
requestVehicleType.AddJsonBody(postData);
|
||
IRestResponse responseVehicleType = clientVehicleType.Execute(requestVehicleType);
|
||
Console.WriteLine(responseVehicleType.Content);
|
||
Console.WriteLine(responseVehicleType.Content);
|
||
var stringvehcileResult = responseVehicleType.Content.ToString();
|
||
// Get the fuel level percentage
|
||
var responseObject = JsonConvert.DeserializeObject<Response>(stringvehcileResult);
|
||
if (responseObject != null && responseObject.vehicleData != null && responseObject.vehicleData.Length > 0)
|
||
{
|
||
model.fuelLevelInLtr = responseObject.vehicleData[0].fuelLevelInLtr.ToString();
|
||
model.defLevelInLtr = responseObject.vehicleData[0].defLevelInLtr.ToString();
|
||
model.fuelLevelInPer = responseObject.vehicleData[0].fuelLevelInPer.ToString();
|
||
//Console.WriteLine("Fuel Level in Percentage: " + fuelLevelInPer);
|
||
}
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("no telematic details", Ex.Message, path, errorlogtf);
|
||
}
|
||
}
|
||
return model;
|
||
}*/
|
||
|
||
public async Task<CustomerVehicleModelDBM> GetFuelDetails(string chassisno)
|
||
{
|
||
CustomerVehicleModelDBM model = new CustomerVehicleModelDBM();
|
||
if (chassisno.Length > 12)
|
||
{
|
||
try
|
||
{
|
||
|
||
Task<string> str = getAuthCode();
|
||
string authkey = str.Result;
|
||
var clientVehicleType = new RestClient(ConfigurationManager.AppSettings["fuellevel"]);
|
||
clientVehicleType.Timeout = -1;
|
||
var requestVehicleType = new RestRequest(Method.POST);
|
||
ServicePointManager.Expect100Continue = true;
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
||
| SecurityProtocolType.Tls11
|
||
| SecurityProtocolType.Tls12
|
||
| SecurityProtocolType.Ssl3
|
||
| (SecurityProtocolType)3072;
|
||
|
||
//requestVehicleType.AddHeader("Content-Type", "application/json");
|
||
requestVehicleType.AddHeader("X-IBM-Client-Id", "EOS_USER");
|
||
requestVehicleType.AddHeader("Authorization", $"Bearer {authkey}");
|
||
requestVehicleType.AddHeader("Content-Type", "application/json");
|
||
|
||
var postData = new
|
||
{
|
||
chassisNo = chassisno// Replace with your actual parameter
|
||
};
|
||
|
||
// Add the JSON body using AddJsonBody()
|
||
requestVehicleType.AddJsonBody(postData);
|
||
IRestResponse responseVehicleType = clientVehicleType.Execute(requestVehicleType);
|
||
Console.WriteLine(responseVehicleType.Content);
|
||
Console.WriteLine(responseVehicleType.Content);
|
||
|
||
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)
|
||
{
|
||
var stringvehcileResult = responseVehicleType.Content.ToString();
|
||
// Get the fuel level percentage
|
||
var responseObject = JsonConvert.DeserializeObject<Response>(stringvehcileResult);
|
||
if (responseObject != null && responseObject.vehicleData != null && responseObject.vehicleData.Length > 0)
|
||
{
|
||
model.fuelLevelInLtr = responseObject.vehicleData[0].fuelLevelInLtr.ToString();
|
||
model.defLevelInLtr = responseObject.vehicleData[0].defLevelInLtr.ToString();
|
||
model.fuelLevelInPer = responseObject.vehicleData[0].fuelLevelInPer.ToString();
|
||
//Console.WriteLine("Fuel Level in Percentage: " + fuelLevelInPer);
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("no telematic details", Ex.Message, path, errorlogtf);
|
||
}
|
||
}
|
||
return model;
|
||
}
|
||
|
||
|
||
/*public async Task<string> getAuthCode()
|
||
{
|
||
string steval = "";
|
||
try
|
||
{
|
||
|
||
var clientVehicleType = new RestClient("https://partnerapi.vecv.net/service-gateway/genrateToken");
|
||
clientVehicleType.Timeout = -1;
|
||
var requestVehicleType = new RestRequest(Method.GET);
|
||
ServicePointManager.Expect100Continue = true;
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
||
| SecurityProtocolType.Tls11
|
||
| SecurityProtocolType.Tls12
|
||
| SecurityProtocolType.Ssl3
|
||
| (SecurityProtocolType)3072;
|
||
|
||
// string jsonAuthVariable = "{\"chassisNum\":\"" + dtcDta + "\",\n\"customerName\":\"\"" + customerName + ",\n\"casenumber\":\"\"" + casenumber + ",\n\"deviceId\":\"\"" + deviceId + "}";
|
||
requestVehicleType.AddHeader("Content-Type", "application/json");
|
||
requestVehicleType.AddHeader("client-id", "EOS_USER");
|
||
// requestVehicleType.AddParameter("application/json", jsonAuthVariable, ParameterType.RequestBody);
|
||
IRestResponse responseVehicleType = clientVehicleType.Execute(requestVehicleType);
|
||
|
||
Console.WriteLine(responseVehicleType.Content);
|
||
steval = responseVehicleType.Content;
|
||
JObject json = JObject.Parse(steval);
|
||
|
||
// Extract the token value
|
||
steval = json["token"].ToString();
|
||
|
||
|
||
}
|
||
catch (HttpRequestException e)
|
||
{
|
||
objLog.ErrorLogFile("Request error: {Message}", e.Message, path, errorlogtf);
|
||
// Additional logging or handling
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("no telematic details", Ex.Message, path, errorlogtf);
|
||
}
|
||
return steval;
|
||
|
||
}*/
|
||
|
||
public async Task<string> getAuthCode()
|
||
{
|
||
string steval = "";
|
||
try
|
||
{
|
||
|
||
var clientVehicleType = new RestClient("https://partnerapi.vecv.net/service-gateway/genrateToken");
|
||
clientVehicleType.Timeout = -1;
|
||
var requestVehicleType = new RestRequest(Method.GET);
|
||
ServicePointManager.Expect100Continue = true;
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
||
| SecurityProtocolType.Tls11
|
||
| SecurityProtocolType.Tls12
|
||
| SecurityProtocolType.Ssl3
|
||
| (SecurityProtocolType)3072;
|
||
|
||
// string jsonAuthVariable = "{\"chassisNum\":\"" + dtcDta + "\",\n\"customerName\":\"\"" + customerName + ",\n\"casenumber\":\"\"" + casenumber + ",\n\"deviceId\":\"\"" + deviceId + "}";
|
||
requestVehicleType.AddHeader("Content-Type", "application/json");
|
||
requestVehicleType.AddHeader("client-id", "EOS_USER");
|
||
// requestVehicleType.AddParameter("application/json", jsonAuthVariable, ParameterType.RequestBody);
|
||
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)
|
||
{
|
||
Console.WriteLine(responseVehicleType.Content);
|
||
steval = responseVehicleType.Content;
|
||
JObject json = JObject.Parse(steval);
|
||
|
||
// Extract the token value
|
||
steval = json["token"].ToString();
|
||
}
|
||
}
|
||
}
|
||
|
||
}
|
||
catch (HttpRequestException e)
|
||
{
|
||
objLog.ErrorLogFile("Request error: {Message}", e.Message, path, errorlogtf);
|
||
// Additional logging or handling
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("no telematic details", Ex.Message, path, errorlogtf);
|
||
}
|
||
return steval;
|
||
|
||
}
|
||
public string sendmailDataLake()
|
||
{
|
||
if (System.Configuration.ConfigurationManager.AppSettings["modelDataLakIsBlocked"] != "true")
|
||
{
|
||
string[] emailto = ConfigurationManager.AppSettings["EmailtoDataLake"].ToString().Split(',');
|
||
foreach (string ToEmail in emailto)
|
||
{
|
||
string body = "";
|
||
|
||
body = @"
|
||
<html>
|
||
<head> <style>
|
||
body {
|
||
font-family: Calibri, sans-serif;
|
||
font-size: 11pt;
|
||
}
|
||
table {
|
||
border-collapse: collapse;
|
||
width: 100%;
|
||
}
|
||
table, th, td {
|
||
border: 1px solid black;
|
||
padding: 5px;
|
||
text-align: center;
|
||
}
|
||
th {
|
||
background-color: #f2f2f2;
|
||
}
|
||
</style></head>
|
||
<body>
|
||
<p>Dear User,</p>
|
||
<p>Please pay attention !!!</p>
|
||
<p>Datalake query taking too much time</p>
|
||
<p>Regards,<br>Eicher On Road Support</p>
|
||
<p>Disclaimer : This is system generated E-Mail, Please do not reply on this mail.</p>
|
||
</body>
|
||
</html>"; // Replace placeholders with actual values
|
||
|
||
try
|
||
{
|
||
|
||
|
||
SmtpClient smtpClient = new SmtpClient(ConfigurationManager.AppSettings["Host"].ToString(), Convert.ToInt32(ConfigurationManager.AppSettings["Port"].ToString()))
|
||
{
|
||
Credentials = new NetworkCredential(ConfigurationManager.AppSettings["EmailUserName"].ToString(), ConfigurationManager.AppSettings["FromEmailPassword"].ToString()),
|
||
EnableSsl = true
|
||
};
|
||
|
||
// Create the email message
|
||
MailMessage mailMessage = new MailMessage
|
||
{
|
||
From = new MailAddress(ConfigurationManager.AppSettings["EmailUserName"].ToString()),
|
||
Subject = "Datalake error",
|
||
Body = body,
|
||
IsBodyHtml = true
|
||
};
|
||
|
||
mailMessage.To.Add(ToEmail);
|
||
|
||
// Send the email
|
||
smtpClient.Send(mailMessage);
|
||
Console.WriteLine("Email sent successfully.");
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("sendmailDataLake", Ex.Message, path, errorlogtf);
|
||
}
|
||
|
||
}
|
||
|
||
|
||
}
|
||
return "true";
|
||
}
|
||
|
||
|
||
public VanDealerListStateWise GetVanlatlngbydevicealias(string deviceAlias)
|
||
{
|
||
VanDealerListStateWise objVanDealerListStateWise = new VanDealerListStateWise();
|
||
DataSet dsTracking = new DataSet();
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[5];
|
||
|
||
nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("indevice_alias", deviceAlias);
|
||
dsTracking = NpgSqlHelper.ExecuteDataset(ConfigurationManager.ConnectionStrings["Vecv_Tracking"].ToString(), CommandType.StoredProcedure, ConfigurationManager.AppSettings["vecv_log_sp_get_current_log_devices_user_wise"], nSqlParam);
|
||
TrackingModel objlistTracking = new TrackingModel();
|
||
List<TrackingModel> listTracking = new List<TrackingModel>();
|
||
listTracking = dsTracking.Tables[0].AsEnumerable().Select(s => new TrackingModel
|
||
{
|
||
|
||
LogId = s.Field<Int32>("_log_id"),
|
||
DeviceAlias = s.Field<string>("_device_alias"),
|
||
Latitude = s.Field<string>("_latitude"),
|
||
Longitude = s.Field<string>("_longitude"),
|
||
// LogTime = s.Field<DateTime?>("_log_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_log_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_log_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
IsConnected = s.Field<string>("_device_status"),
|
||
Xcordinate = s.Field<string>("_x_coordinate"),
|
||
Ycordinate = s.Field<string>("_y_coordinate"),
|
||
Zcordinate = s.Field<string>("_z_coordinate"),
|
||
|
||
// CreationTime = s.Field<DateTime?>("_creation_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
DeviceStatus = s.Field<string>("_device_status")
|
||
}).ToList();
|
||
objlistTracking = listTracking.FirstOrDefault();
|
||
objVanDealerListStateWise.DealerVanLattitude = objlistTracking.Latitude;
|
||
objVanDealerListStateWise.DealerVanLongitude = objlistTracking.Longitude;
|
||
// objVanDealerListStateWise.DealerVanLattitude = objlistTracking.Latitude;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetVanlatlngbydevicealias", Ex.Message, path, errorlogtf);
|
||
}
|
||
return objVanDealerListStateWise;
|
||
}
|
||
public InsertOpenTicket GetTitanTicketDetail(InsertOpenTicket objmodel)
|
||
{
|
||
InsertOpenTicket model = new InsertOpenTicket();
|
||
DataSet ds1_ticket_info = new DataSet();
|
||
try
|
||
{
|
||
NpgsqlParameter[] nSqlParam2_ticket_info_cogent = new NpgsqlParameter[3];
|
||
nSqlParam2_ticket_info_cogent[0] = new NpgsqlParameter("inregistration_number", null);
|
||
nSqlParam2_ticket_info_cogent[1] = new NpgsqlParameter("inmobile_number", null);
|
||
nSqlParam2_ticket_info_cogent[2] = new NpgsqlParameter("inticket_number", objmodel.TicketId);
|
||
ds1_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_customer_open_ticket_details"], nSqlParam2_ticket_info_cogent);
|
||
model.TicketId = objmodel.TicketId;
|
||
model.AssignedTo = "van";
|
||
model.Priority = Convert.ToInt32(ds1_ticket_info.Tables[0].Rows[0]["priority"].ToString());
|
||
model.CustomerScore = ds1_ticket_info.Tables[0].Rows[0]["breakdown_location"].ToString();
|
||
model.BreakdownLocation = ds1_ticket_info.Tables[0].Rows[0]["breakdown_location"].ToString();
|
||
model.LastModifiedBy = objmodel.LastModifiedBy;
|
||
model.LastModifiedTime = objmodel.LastModifiedTime;
|
||
model.TicketStatus = 1;
|
||
model.Description = ds1_ticket_info.Tables[0].Rows[0]["description"].ToString();
|
||
model.BreakdownLongitude = ds1_ticket_info.Tables[0].Rows[0]["breakdown_longitude"].ToString();
|
||
model.BreakdownLattitude = ds1_ticket_info.Tables[0].Rows[0]["breakdown_lattitude"].ToString();
|
||
model.AssignedToUserId = objmodel.AssignedToUserId; ;
|
||
model.AssignedToUserLattitude = objmodel.AssignedToUserLattitude;
|
||
model.AssignedToUserLongitude = objmodel.AssignedToUserLongitude;
|
||
model.Token = objmodel.Token;
|
||
// model.EstimatedTimeForJobCompletion = ds1_ticket_info.Tables[0].Rows[0]["breakdown_location"].ToString();
|
||
// model.EstimatedTimeForJobCompletionSubmitTime != null ? Convert.ToDateTime(model.EstimatedTimeForJobCompletionSubmitTime).AddMinutes(-model.UtcMinute) : model.EstimatedTimeForJobCompletionSubmitTime =
|
||
// model.BreakdownLocationLandmark = ds1_ticket_info.Tables[0].Rows[0]["breakdown_location"].ToString();
|
||
model.RouteId = Convert.ToInt32(ds1_ticket_info.Tables[0].Rows[0]["route_id"].ToString());
|
||
model.DefaultSlaTime = Convert.ToInt32(ds1_ticket_info.Tables[0].Rows[0]["default_sla_time"].ToString());
|
||
|
||
//model.JobCompleteResponseTime = ds1_ticket_info.Tables[0].Rows[0]["breakdown_location"].ToString();
|
||
model.DefaultCol2 = ds1_ticket_info.Tables[0].Rows[0]["default_col_2"].ToString();
|
||
model.DefaultCol3 = ds1_ticket_info.Tables[0].Rows[0]["default_col_3"].ToString();
|
||
|
||
model.EstimateDistance = objmodel.EstimateDistance;
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("GetTitanTicketDetail", Ex.Message, path, errorlogtf);
|
||
}
|
||
return model;
|
||
}
|
||
|
||
public string updatetempvandetail(InsertOpenTicket model)
|
||
{
|
||
string strsuccess = "";
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
objAuthorization = new AuthenticationRepository();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[4];
|
||
// nSqlParam[0] = new NpgsqlParameter("inpayment_date", model.payment_date != null ? Convert.ToDateTime(model.payment_date).AddMinutes(UtcMinute) : model.payment_date);
|
||
nSqlParam[0] = new NpgsqlParameter("in_ticketid", model.TicketId);
|
||
nSqlParam[1] = new NpgsqlParameter("in_vanreg", model.VehicleRegistrationNumber);
|
||
nSqlParam[2] = new NpgsqlParameter("in_driver_name", model.DriverName);
|
||
nSqlParam[3] = new NpgsqlParameter("in_driver_no", model.DriverContactNo);
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_update_temp_driver_details"], nSqlParam);
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("updatetempvandetail", Ex.Message, path, errorlogtf);
|
||
}
|
||
return strsuccess;
|
||
}
|
||
|
||
|
||
/*public string getBatteryVoltage(string chassisNo)
|
||
{
|
||
string devicedetails = "";
|
||
// chassisNo = "MC2EZLRC0RA538217";
|
||
string APIRegistrationNo = string.Format(ConfigurationManager.AppSettings["EOSAPIFORDEVICETYPE"].ToString(), chassisNo.ToUpper());
|
||
string batteryvoltageurl = "";
|
||
|
||
try
|
||
{
|
||
|
||
|
||
//string APIRegistrationNo = string.Format(ConfigurationManager.AppSettings["EOSAPIFORDEVICETYPE"].ToString(), CHASSISNO.ToUpper(), "");
|
||
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;
|
||
CustomerVehicleModelDBM objVeh = new CustomerVehicleModelDBM();
|
||
|
||
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";
|
||
string packet_info = "";
|
||
// Accessing the vhvin property
|
||
string vhvin = doc.Root.Element(d + "zteldevicetype").Value;
|
||
string zimei = doc.Root.Element(d + "zimei").Value;
|
||
// vhvin = "TCU 350C";
|
||
//zimei = "352467113480185";
|
||
string fullDateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||
DateTime dateTime = DateTime.Parse(fullDateTime);
|
||
string timeBefore24Hours = DateTime.Now.AddHours(-24).ToString("yyyy-MM-dd HH:mm:ss");
|
||
string dateOnly = dateTime.ToString("yyyy-MM-dd").Replace("-", "");
|
||
string timeOnly = dateTime.ToString("HH:mm:ss").Replace(":", "");
|
||
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;
|
||
long startdate = Convert.ToInt64(stime2);
|
||
long enddate = Convert.ToInt64(stime);
|
||
var devicettypeval = "";
|
||
if (vhvin == "TCU 350A")
|
||
{
|
||
packet_info = "getLatestLocation_perbs4";
|
||
devicettypeval = "PER_BS4";
|
||
|
||
}
|
||
if (vhvin == "TCU 350C")
|
||
{
|
||
packet_info = "getLatestLocation_perbs6";
|
||
devicettypeval = "PER_BS6";
|
||
}
|
||
// Construct API URL
|
||
// startdate = 20250128073556;
|
||
// enddate= 20250129105159;
|
||
if (System.Configuration.ConfigurationManager.AppSettings["isBatteryVolatgeCall"] != "true")
|
||
{
|
||
string url = $"https://apiplatform.vecv.net/periodic-api-eos/{packet_info}/{zimei}/{startdate}/{enddate}/";
|
||
batteryvoltageurl = url;
|
||
using (HttpClient client = new HttpClient())
|
||
{
|
||
try
|
||
{
|
||
client.Timeout = TimeSpan.FromSeconds(10);
|
||
// Send GET request synchronously
|
||
HttpResponseMessage response = client.GetAsync(url).Result; // .Result blocks until the task completes
|
||
if (response.StatusCode == HttpStatusCode.OK)
|
||
{
|
||
// Ensure successful response
|
||
response.EnsureSuccessStatusCode();
|
||
|
||
// Read the response content as a string
|
||
string responseData = response.Content.ReadAsStringAsync().Result; // .Result blocks until the content is read
|
||
|
||
// Deserialize JSON response into C# object using Newtonsoft.Json
|
||
var deviceData = JsonConvert.DeserializeObject<DeviceData[]>(responseData);
|
||
|
||
// Output the parsed isProtechAPICall
|
||
if (deviceData != null && deviceData.Length > 0)
|
||
{
|
||
foreach (var data in deviceData)
|
||
{
|
||
if (vhvin == "TCU 350A")
|
||
{
|
||
packet_info = "getLatestLocation_perbs4";
|
||
|
||
}
|
||
if (vhvin == "TCU 350C")
|
||
{
|
||
packet_info = "getLatestLocation_perbs6";
|
||
}
|
||
|
||
if (devicettypeval == "PER_BS4")
|
||
{
|
||
devicedetails = data.vehicleBattery;
|
||
}
|
||
else
|
||
{
|
||
devicedetails = data.MainInputVoltage;
|
||
}
|
||
}
|
||
// batteryVoltage = Task.FromResult(strbatteryVoltage);
|
||
// ServiceLog.WriteLog(batteryVoltage.ToString());
|
||
|
||
//Console.WriteLine($"DeviceId: {data.DeviceId}");
|
||
//Console.WriteLine($"DateTime: {data.EDateTime}");
|
||
//Console.WriteLine($"Main Input Voltage: {data.MainInputVoltage}");
|
||
|
||
}
|
||
else
|
||
{
|
||
Console.WriteLine("No data found for the given parameters.");
|
||
}
|
||
}
|
||
}
|
||
catch (Exception ex)
|
||
{
|
||
objLog.ErrorLogFile("Battery voltage " + batteryvoltageurl, ex.InnerException.InnerException.Message.ToString(), path, errorlogtf);
|
||
Console.WriteLine($"Error calling API: {ex.Message}");
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
}
|
||
|
||
// response.Result;
|
||
return devicedetails;
|
||
}
|
||
|
||
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("batteryvoltage", Ex.Message, path, errorlogtf);
|
||
|
||
return devicedetails;
|
||
}
|
||
}*/
|
||
public string getBatteryVoltage(string chassisNo)
|
||
{
|
||
string devicedetails = "";
|
||
// chassisNo = "MC2EZLRC0RA538217";
|
||
string APIRegistrationNo = string.Format(ConfigurationManager.AppSettings["EOSAPIFORDEVICETYPE"].ToString(), chassisNo.ToUpper());
|
||
string batteryvoltageurl = "";
|
||
|
||
try
|
||
{
|
||
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");
|
||
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";
|
||
string packet_info = "";
|
||
// Accessing the vhvin property
|
||
string vhvin = doc.Root.Element(d + "zteldevicetype").Value;
|
||
string zimei = doc.Root.Element(d + "zimei").Value;
|
||
// vhvin = "TCU 350C";
|
||
//zimei = "352467113480185";
|
||
string fullDateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||
DateTime dateTime = DateTime.Parse(fullDateTime);
|
||
string timeBefore24Hours = DateTime.Now.AddHours(-24).ToString("yyyy-MM-dd HH:mm:ss");
|
||
string dateOnly = dateTime.ToString("yyyy-MM-dd").Replace("-", "");
|
||
string timeOnly = dateTime.ToString("HH:mm:ss").Replace(":", "");
|
||
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;
|
||
long startdate = Convert.ToInt64(stime2);
|
||
long enddate = Convert.ToInt64(stime);
|
||
var devicettypeval = "";
|
||
if (vhvin == "TCU 350A")
|
||
{
|
||
packet_info = "getLatestLocation_perbs4";
|
||
devicettypeval = "PER_BS4";
|
||
|
||
}
|
||
if (vhvin == "TCU 350C")
|
||
{
|
||
packet_info = "getLatestLocation_perbs6";
|
||
devicettypeval = "PER_BS6";
|
||
}
|
||
// Construct API URL
|
||
// startdate = 20250128073556;
|
||
// enddate= 20250129105159;
|
||
if (System.Configuration.ConfigurationManager.AppSettings["isBatteryVolatgeCall"] != "true")
|
||
{
|
||
string url = $"https://apiplatform.vecv.net/periodic-api-eos/{packet_info}/{zimei}/{startdate}/{enddate}/";
|
||
batteryvoltageurl = url;
|
||
|
||
var clientVehicleType1 = new RestClient(url);
|
||
clientVehicleType.Timeout = 10000;
|
||
// clientVehicleType.Timeout =-1;
|
||
var requestVehicleType1 = new RestRequest(Method.GET);
|
||
ServicePointManager.Expect100Continue = true;
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
||
| SecurityProtocolType.Tls11
|
||
| SecurityProtocolType.Tls12
|
||
| SecurityProtocolType.Ssl3
|
||
| (SecurityProtocolType)3072;
|
||
|
||
//requestVehicleType.AddParameter("chassisno", chassisno);
|
||
var username1 = ConfigurationManager.AppSettings["EOSUSERNAMEFORGETTINGTELEMATICDATA"].ToString();
|
||
var password1 = ConfigurationManager.AppSettings["EOSPASSWORDFORGETTINGTELEMATICDATA"].ToString();
|
||
|
||
// Add Basic Authentication
|
||
var credentials1 = Convert.ToBase64String(System.Text.Encoding.ASCII.GetBytes($"{username1}:{password1}"));
|
||
|
||
// Add Basic Authentication header
|
||
requestVehicleType1.AddHeader("Authorization", $"Basic {credentials}");
|
||
requestVehicleType1.AddHeader("Content-Type", "application/json");
|
||
IRestResponse responseVehicleType1 = clientVehicleType1.Execute(requestVehicleType1);
|
||
Console.WriteLine(responseVehicleType1.ResponseStatus);
|
||
|
||
if (responseVehicleType1.ResponseStatus.ToString() == "Error")
|
||
{
|
||
|
||
bool isSend = objTicketRepository.emailForError(responseVehicleType1.ErrorMessage.ToString(), clientVehicleType1.BaseUrl.ToString());
|
||
objLog.ErrorLogFile(clientVehicleType1.BaseUrl.ToString(), responseVehicleType1.ErrorMessage.ToString(), path, errorlogtf);
|
||
|
||
}
|
||
else
|
||
{
|
||
if (responseVehicleType1.ResponseStatus.ToString() == "TimedOut")
|
||
{
|
||
|
||
bool isSend = objTicketRepository.emailForError(responseVehicleType1.ErrorMessage.ToString(), clientVehicleType1.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)
|
||
{
|
||
var stringvehcileResult = responseVehicleType1.Content.ToString();
|
||
var deviceData = JsonConvert.DeserializeObject<DeviceData[]>(stringvehcileResult);
|
||
if (deviceData != null && deviceData.Length > 0)
|
||
{
|
||
foreach (var data in deviceData)
|
||
{
|
||
if (vhvin == "TCU 350A")
|
||
{
|
||
packet_info = "getLatestLocation_perbs4";
|
||
|
||
}
|
||
if (vhvin == "TCU 350C")
|
||
{
|
||
packet_info = "getLatestLocation_perbs6";
|
||
}
|
||
|
||
if (devicettypeval == "PER_BS4")
|
||
{
|
||
devicedetails = data.vehicleBattery;
|
||
}
|
||
else
|
||
{
|
||
devicedetails = data.MainInputVoltage;
|
||
}
|
||
}
|
||
// batteryVoltage = Task.FromResult(strbatteryVoltage);
|
||
// ServiceLog.WriteLog(batteryVoltage.ToString());
|
||
|
||
//Console.WriteLine($"DeviceId: {data.DeviceId}");
|
||
//Console.WriteLine($"DateTime: {data.EDateTime}");
|
||
//Console.WriteLine($"Main Input Voltage: {data.MainInputVoltage}");
|
||
|
||
}
|
||
else
|
||
{
|
||
Console.WriteLine("No data found for the given parameters.");
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
}
|
||
|
||
// response.Result;
|
||
}
|
||
}
|
||
}
|
||
return devicedetails;
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("batteryvoltage", Ex.Message, path, errorlogtf);
|
||
|
||
return devicedetails;
|
||
}
|
||
}
|
||
|
||
public string getticketidalias(string ticketid)
|
||
{
|
||
string ticketIdAlias = "";
|
||
DataSet ds = new DataSet();
|
||
try
|
||
{
|
||
// get contact details for sending sms.
|
||
NpgsqlParameter[] nSqlParam1_ticket_info = new NpgsqlParameter[2];
|
||
nSqlParam1_ticket_info[0] = new NpgsqlParameter("inticket_id", ticketid);
|
||
nSqlParam1_ticket_info[1] = new NpgsqlParameter("invehicle_reg", null);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_sms_api"], nSqlParam1_ticket_info);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
ticketIdAlias = ds.Tables[0].Rows[0]["_ticket_id_alias"].ToString() + ',' + ds.Tables[0].Rows[0]["vehicle_registration_number"].ToString();
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("TicketRepository UpdateOpenTicketWeb getticketidalias " + ticketid, Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
return ticketIdAlias;
|
||
}
|
||
|
||
public string getDelayReasonFlag(string ticketid)
|
||
{
|
||
string strmessage = "";
|
||
try
|
||
{
|
||
|
||
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("in_eos_ticket", ticketid);
|
||
|
||
DataSet ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_delay_reason_flag"], nSqlParam);
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
strmessage = Convert.ToString(ds.Tables[0].Rows[0]["sp_get_delay_reason_flag"]);
|
||
// strmessage = "success";//ds.Tables[0].Rows[0]["_ticket_id"].ToString(); // getting ticket id alias
|
||
// errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]) + ticketIdAlias;
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("usp_get_delay_reason_flag", Ex.Message, path, errorlogtf);
|
||
}
|
||
return strmessage;
|
||
}
|
||
public bool emailForError(string errror, string apiname)
|
||
{
|
||
bool strsuccess = false;
|
||
try
|
||
{
|
||
string[] recipients = ConfigurationManager.AppSettings["APIErrorEmailto"].ToString().Split(',');
|
||
|
||
string fromAddress = ConfigurationManager.AppSettings["EmailUserName"].ToString();// "your -email@example.com";
|
||
string smtpHost = ConfigurationManager.AppSettings["Host"].ToString();// "your-smtp-host";
|
||
int smtpPort = Convert.ToInt32(ConfigurationManager.AppSettings["Port"].ToString()); // Change this according to your SMTP server settings
|
||
string smtpUsername = ConfigurationManager.AppSettings["EmailUserName"].ToString();// "your-smtp-username";
|
||
string smtpPassword = ConfigurationManager.AppSettings["fromEmailPassword"].ToString();// "your-smtp-password";
|
||
|
||
using (MailMessage mail = new MailMessage())
|
||
{
|
||
mail.From = new MailAddress(fromAddress);
|
||
foreach (string recipient in recipients)
|
||
{
|
||
mail.To.Add(recipient);
|
||
}
|
||
mail.Subject = apiname + "Error";
|
||
mail.Body = errror;
|
||
mail.IsBodyHtml = true; // Set to false if the body is plain text
|
||
|
||
using (SmtpClient smtp = new SmtpClient(smtpHost, smtpPort))
|
||
{
|
||
smtp.Credentials = new NetworkCredential(smtpUsername, smtpPassword);
|
||
smtp.EnableSsl = true; // Set
|
||
//
|
||
// to false if your SMTP server does not support SSL
|
||
smtp.Send(mail);
|
||
}
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("emailForError", Ex.Message, path, errorlogtf);
|
||
}
|
||
return strsuccess;
|
||
}
|
||
|
||
|
||
public WhatupModel SaveDetailsWhatsup(WhatupModel model)
|
||
{
|
||
WhatupModel objModel = new WhatupModel();
|
||
|
||
try
|
||
{
|
||
|
||
objModel.Status = 0;
|
||
|
||
objAuthorization = new AuthenticationRepository();
|
||
|
||
model.MobileNumber = "91" + model.MobileNumber;
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
|
||
nSqlParam[0] = new NpgsqlParameter("inMobileNumber", model.MobileNumber);
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_whatup_details"], nSqlParam);
|
||
if (Convert.ToString(ds.Tables[0].Rows[0]["sp_insert_whatup_details"]) != "0")
|
||
{
|
||
objModel.Status = 1;
|
||
objModel.Message = "Success";
|
||
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = 0;
|
||
objModel.Message = "UnSuccessFull";
|
||
}
|
||
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = 0;
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("SaveDetailsWhatsup", Ex.Message, path, errorlogtf);
|
||
|
||
}
|
||
return objModel;
|
||
}
|
||
|
||
|
||
public string GetDetailsWhatsup(WhatupAPIModel model)
|
||
{
|
||
WhatupModel objModel = new WhatupModel();
|
||
string strlatlng = "";
|
||
try
|
||
{
|
||
|
||
objModel.Status = 0;
|
||
|
||
objAuthorization = new AuthenticationRepository();
|
||
|
||
model.mobileNumber = "91" + model.mobileNumber;
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
|
||
nSqlParam[0] = new NpgsqlParameter("inMobileNumber", model.mobileNumber);
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_whatup_details"], nSqlParam);
|
||
if (Convert.ToString(ds.Tables[0].Rows[0]["sp_get_whatup_detail"]) != "0")
|
||
{
|
||
|
||
strlatlng = Convert.ToString(ds.Tables[0].Rows[0]["sp_get_whatup_detail"]);
|
||
|
||
}
|
||
else
|
||
{
|
||
strlatlng = "not found";
|
||
}
|
||
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
strlatlng = "not found";
|
||
objLog.ErrorLogFile("GetDetailsWhatsup", Ex.Message, path, errorlogtf);
|
||
|
||
}
|
||
return strlatlng;
|
||
}
|
||
|
||
public WhatupModel SaveLocationDetailsWhatsup(WhatupModel model)
|
||
{
|
||
WhatupModel objModel = new WhatupModel();
|
||
|
||
try
|
||
{
|
||
|
||
objModel.Status = 0;
|
||
|
||
objAuthorization = new AuthenticationRepository();
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[3];
|
||
nSqlParam[0] = new NpgsqlParameter("inMobileNumber", model.MobileNumber);
|
||
nSqlParam[1] = new NpgsqlParameter("inlatitude", model.Latitude);
|
||
nSqlParam[2] = new NpgsqlParameter("inlongitude", model.Longitude);
|
||
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_insert_whatup_location_details"], nSqlParam);
|
||
if (Convert.ToString(ds.Tables[0].Rows[0]["sp_insert_whatup_location_details"]) != "0")
|
||
{
|
||
objModel.Status = 1;
|
||
objModel.Message = "Success";
|
||
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = 0;
|
||
objModel.Message = "UnSuccessFull";
|
||
}
|
||
|
||
}
|
||
else
|
||
{
|
||
objModel.Status = 0;
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
}
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objModel.Status = 0;
|
||
objModel.Message = Ex.Message;
|
||
objLog.ErrorLogFile("SaveLocationDetailsWhatsup", Ex.Message, path, errorlogtf);
|
||
|
||
}
|
||
return objModel;
|
||
}
|
||
|
||
/*public string sendWhatupMessage(WhatupAPIModel model)
|
||
{
|
||
WhatupAPIModel objWhatupAPIModel = new WhatupAPIModel();
|
||
WhatupModel objWhatupModel = new WhatupModel();
|
||
objWhatupModel.MobileNumber = model.mobileNumber;
|
||
string strsuccess = "";
|
||
|
||
try
|
||
{
|
||
|
||
|
||
|
||
var client = new RestClient(ConfigurationManager.AppSettings["WhatupUrl"].ToString()); // Base URL
|
||
var request = new RestRequest(ConfigurationManager.AppSettings["WhatupSubUrl"].ToString(), Method.POST); // Endpoint
|
||
|
||
ServicePointManager.Expect100Continue = true;
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
||
| SecurityProtocolType.Tls11
|
||
| SecurityProtocolType.Tls12
|
||
| SecurityProtocolType.Ssl3
|
||
| (SecurityProtocolType)3072;
|
||
request.AddHeader("Content-Type", "application/json");
|
||
|
||
// You can create a JSON string manually (not recommended), or better:
|
||
var body = new
|
||
{
|
||
templateId = ConfigurationManager.AppSettings["WhatupTemplateId"].ToString(),
|
||
mobileNumber = model.mobileNumber
|
||
};
|
||
|
||
// Add body as JSON (RestSharp v106 and below supports this)
|
||
request.RequestFormat = DataFormat.Json;
|
||
request.AddJsonBody(body);
|
||
|
||
// Synchronous execution (since .NET 4.5 doesn't support await easily)
|
||
IRestResponse response = client.Execute(request);
|
||
if(response.StatusCode == HttpStatusCode.OK)
|
||
{
|
||
strsuccess = "Success";
|
||
objWhatupAPIModel.Status = 1;
|
||
objWhatupAPIModel.Message = "Success";
|
||
|
||
TicketRepository objTicket = new TicketRepository(_connStr);
|
||
objWhatupModel = objTicket.SaveDetailsWhatsup(objWhatupModel);
|
||
return strsuccess;
|
||
}
|
||
else
|
||
{
|
||
strsuccess = "Error";
|
||
objWhatupAPIModel.Status = 0;
|
||
objWhatupAPIModel.Message = "error";// response.ErrorMessage;
|
||
}
|
||
Console.WriteLine(response.Content);
|
||
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("sendWhatupMessage", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
return strsuccess;
|
||
}*/
|
||
|
||
public string sendWhatupMessage(WhatupAPIModel model)
|
||
{
|
||
WhatupAPIModel objWhatupAPIModel = new WhatupAPIModel();
|
||
WhatupModel objWhatupModel = new WhatupModel();
|
||
objWhatupModel.MobileNumber = model.mobileNumber;
|
||
string strsuccess = "";
|
||
|
||
try
|
||
{
|
||
|
||
|
||
|
||
var client = new RestClient(ConfigurationManager.AppSettings["WhatupUrl"].ToString()); // Base URL
|
||
var request = new RestRequest(ConfigurationManager.AppSettings["WhatupSubUrl"].ToString(), Method.POST); // Endpoint
|
||
|
||
ServicePointManager.Expect100Continue = true;
|
||
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls
|
||
| SecurityProtocolType.Tls11
|
||
| SecurityProtocolType.Tls12
|
||
| SecurityProtocolType.Ssl3
|
||
| (SecurityProtocolType)3072;
|
||
request.AddHeader("Content-Type", "application/json");
|
||
|
||
// You can create a JSON string manually (not recommended), or better:
|
||
var body = new
|
||
{
|
||
templateId = ConfigurationManager.AppSettings["WhatupTemplateId"].ToString(),
|
||
mobileNumber = model.mobileNumber
|
||
};
|
||
|
||
// Add body as JSON (RestSharp v106 and below supports this)
|
||
request.RequestFormat = DataFormat.Json;
|
||
request.AddJsonBody(body);
|
||
|
||
// Synchronous execution (since .NET 4.5 doesn't support await easily)
|
||
IRestResponse response = client.Execute(request);
|
||
|
||
TicketRepository objTicketRepository = new TicketRepository(_connStr);
|
||
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);
|
||
|
||
}
|
||
|
||
if (response.StatusCode == HttpStatusCode.OK)
|
||
{
|
||
strsuccess = "Success";
|
||
objWhatupAPIModel.Status = 1;
|
||
objWhatupAPIModel.Message = "Success";
|
||
|
||
TicketRepository objTicket = new TicketRepository(_connStr);
|
||
objWhatupModel = objTicket.SaveDetailsWhatsup(objWhatupModel);
|
||
return strsuccess;
|
||
}
|
||
else
|
||
{
|
||
strsuccess = "Error";
|
||
objWhatupAPIModel.Status = 0;
|
||
objWhatupAPIModel.Message = "error";// response.ErrorMessage;
|
||
}
|
||
|
||
Console.WriteLine(response.Content);
|
||
}
|
||
}
|
||
|
||
|
||
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("sendWhatupMessage", Ex.Message, path, errorlogtf);
|
||
throw Ex;
|
||
}
|
||
return strsuccess;
|
||
}
|
||
|
||
|
||
public string sendEPSLeadDetailmail(EPSSalesDetails model)
|
||
{
|
||
if (System.Configuration.ConfigurationManager.AppSettings["IsEPSLeadDetailmailSend"] != "true")
|
||
{
|
||
|
||
|
||
string[] emailto = ConfigurationManager.AppSettings["EmailtoEPSDetails"].ToString().Split(',');
|
||
|
||
string body = "";
|
||
|
||
body = @"
|
||
<html>
|
||
<body style='font-family:Calibri, sans-serif; font-size:11pt;'>
|
||
<p>Hello Team,</p>
|
||
<p>Greetings!</p>
|
||
<p>This is to inform you that we have received a customer call related to a sales inquiry for Eicher Power Solutions (EPS).</p>
|
||
|
||
<table border='1' cellpadding='5' cellspacing='0' width='100%' style='border-collapse:collapse;'>
|
||
<tr style='background-color:#f2f2f2;'>
|
||
<th style='border:1px solid black; padding:5px; text-align:center;'>Customer Name</th>
|
||
<th style='border:1px solid black; padding:5px; text-align:center;'>Customer Mobile Number</th>
|
||
<th style='border:1px solid black; padding:5px; text-align:center;'>Location</th>
|
||
<th style='border:1px solid black; padding:5px; text-align:center;'>Quantity</th>
|
||
<th style='border:1px solid black; padding:5px; text-align:center;'>Product Type</th>
|
||
</tr>
|
||
<tr>
|
||
<td style='border:1px solid black; padding:5px; text-align:center;'>[Insert Customer Name]</td>
|
||
<td style='border:1px solid black; padding:5px; text-align:center;'>[Insert Customer No]</td>
|
||
<td style='border:1px solid black; padding:5px; text-align:center;'>[Insert Location]</td>
|
||
<td style='border:1px solid black; padding:5px; text-align:center;'>[Insert Quantity]</td>
|
||
<td style='border:1px solid black; padding:5px; text-align:center;'>[Insert Product Type]</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<p>Kindly take this lead forward and connect with the customer at the earliest.</p>
|
||
<p>Regards,<br>CC - EPS</p>
|
||
<p><strong>Disclaimer:</strong> This is a system-generated email. Please do not reply to this mail.</p>
|
||
</body>
|
||
</html>";
|
||
// Replace placeholders with actual values
|
||
body = body.Replace("[Insert Customer Name]", model.CustomerName)
|
||
.Replace("[Insert Customer No]", model.CustomerNumber)
|
||
.Replace("[Insert Location]", model.Location)
|
||
.Replace("[Insert Quantity]", model.Qunatity)
|
||
.Replace("[Insert Product Type]", model.ProductType);
|
||
|
||
|
||
string mailsub = "New Sales Inquiry Received – EPS Lead Notification";
|
||
SendEmailEPSSales(emailto, mailsub, body);
|
||
|
||
}
|
||
return "true";
|
||
}
|
||
|
||
|
||
public List<ConsolidatedReportModelClosed> ClosedConsolidatedDataReport(TicketRequestModel model)
|
||
{
|
||
TicketRequestModel objModel = new TicketRequestModel();
|
||
List<ConsolidatedReportModelClosed> objList = new List<ConsolidatedReportModelClosed>();
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
string filterval = "";
|
||
objAuthorization = new AuthenticationRepository();
|
||
|
||
if (objAuthorization.AuthenticateDevice(model.Token))
|
||
{
|
||
// get consolidated report record count.
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[8];
|
||
nSqlParam[0] = new NpgsqlParameter("inuser_id", model.UserId);
|
||
nSqlParam[1] = new NpgsqlParameter("instart_date", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[2] = new NpgsqlParameter("inend_date", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)));
|
||
nSqlParam[3] = new NpgsqlParameter("inlimit", model.Limit);
|
||
nSqlParam[4] = new NpgsqlParameter("inoff_set", model.OffSet);
|
||
nSqlParam[5] = new NpgsqlParameter("incondition", model.Condition);
|
||
nSqlParam[6] = new NpgsqlParameter("invehicle_type", model.VehicleType);
|
||
nSqlParam[7] = new NpgsqlParameter("inorganization", model.Organization);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_consolidated_data_closed"], nSqlParam);
|
||
|
||
|
||
objList = ds.Tables[0].AsEnumerable().Select(s => new ConsolidatedReportModelClosed
|
||
{
|
||
ticket_id = s.Field<string>("_ticket_id"),
|
||
customer_name = s.Field<string>("_customer_name"),
|
||
customer_contact_no = s.Field<string>("_customer_contact_no"),
|
||
vehicle_type = s.Field<string>("_vehicle_type"),
|
||
chassis_number = s.Field<string>("_chassis_number"),
|
||
//vehicle_instalation_date = Convert.ToDateTime(s.Field<string>("_vehicle_instalation_date")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
vehicle_instalation_date = s.Field<string>("_vehicle_instalation_date"),// String.IsNullOrEmpty(s.Field<string>("_vehicle_instalation_date")) ? "NA" : (Convert.ToDateTime(s.Field<string>("_vehicle_instalation_date")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateFormat"])),
|
||
breakdown_location = s.Field<string>("_breakdown_location"),
|
||
default_sla_time = s.Field<string>("_default_sla_time"),
|
||
//response = s.Field<string>("_response"),
|
||
response = s.Field<string>("_response") == null || Convert.ToInt32(s.Field<string>("_response")) <= 0 ? "0" : s.Field<string>("_response"),
|
||
eos_team_member_and_van = s.Field<string>("_eos_team_member_and_van"),
|
||
dealer_name = s.Field<string>("_dealer_name"),
|
||
dealer_contact_no = s.Field<string>("_dealer_contact_no"),
|
||
created_by = s.Field<string>("_created_by"),
|
||
creation_time = Convert.ToDateTime(s.Field<DateTime?>("_creation_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
state = s.Field<string>("_state"),
|
||
city = s.Field<string>("_city"),
|
||
month_name = s.Field<string>("_month_name"),
|
||
time_slot = s.Field<string>("_time_slot"),
|
||
open_call_hrs = s.Field<string>("_open_call_hrs"),
|
||
language_name = s.Field<string>("_language_name"),
|
||
region = s.Field<string>("_region"),
|
||
landmark = s.Field<string>("_landmark"),
|
||
dealer_code = s.Field<string>("_dealer_code"),
|
||
warranty = s.Field<string>("_warranty"),
|
||
vehicle_model = s.Field<string>("_vehicle_model"),
|
||
load_carried = s.Field<string>("_load_carried"),
|
||
type_of_load_carried = s.Field<string>("_type_of_load_carried"),
|
||
call_assigned_to = s.Field<string>("_call_assigned_to"),
|
||
owner_name = s.Field<string>("_owner_name"),
|
||
owner_contact_number = s.Field<string>("_owner_contact_number"),
|
||
customer_vehicle_regn_no = s.Field<string>("_customer_vehicle_regn_no"),
|
||
nature_of_problem = s.Field<string>("_nature_of_problem"),
|
||
closure_remarks = s.Field<string>("_closure_remarks"),
|
||
estimated_cost = s.Field<string>("_estimated_cost"),
|
||
estimated_time = s.Field<string>("_estimated_time"),
|
||
time_stamps_status_1 = s.Field<string>("_time_stamps_status_1") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_1")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_2 = s.Field<string>("_time_stamps_status_2") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_2")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_3 = s.Field<string>("_time_stamps_status_3") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_3")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_4 = s.Field<string>("_time_stamps_status_4") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_4")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
time_stamps_status_5 = s.Field<string>("_time_stamps_status_5") != null ? Convert.ToDateTime(s.Field<string>("_time_stamps_status_5")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
escalation_level_van_not_move_1 = s.Field<string>("_escalation_level_van_not_move_1"),
|
||
escalation_level_van_not_move_2 = s.Field<string>("_escalation_level_van_not_move_2"),
|
||
escalation_level_van_not_move_3 = s.Field<string>("_escalation_level_van_not_move_3"),
|
||
escalation_level_van_not_move_4 = s.Field<string>("_escalation_level_van_not_move_4"),
|
||
escalation_level_van_not_move_5 = s.Field<string>("_escalation_level_van_not_move_5"),
|
||
escalation_level_van_not_move_6 = s.Field<string>("_escalation_level_van_not_move_6"),
|
||
escalation_level_van_not_move_7 = s.Field<string>("_escalation_level_van_not_move_7"),
|
||
escalation_level_van_not_move_8 = s.Field<string>("_escalation_level_van_not_move_8"),
|
||
escalation_level_van_not_move_9 = s.Field<string>("_escalation_level_van_not_move_9"),
|
||
escalation_level_van_not_move_10 = s.Field<string>("_escalation_level_van_not_move_10"),
|
||
escalation_level_ticket_closer_1 = s.Field<string>("_escalation_level_ticket_closer_1"),
|
||
escalation_level_ticket_closer_2 = s.Field<string>("_escalation_level_ticket_closer_2"),
|
||
escalation_level_ticket_closer_3 = s.Field<string>("_escalation_level_ticket_closer_3"),
|
||
escalation_level_ticket_closer_4 = s.Field<string>("_escalation_level_ticket_closer_4"),
|
||
escalation_level_ticket_closer_5 = s.Field<string>("_escalation_level_ticket_closer_5"),
|
||
escalation_level_ticket_closer_6 = s.Field<string>("_escalation_level_ticket_closer_6"),
|
||
escalation_level_ticket_closer_7 = s.Field<string>("_escalation_level_ticket_closer_7"),
|
||
escalation_level_ticket_closer_8 = s.Field<string>("_escalation_level_ticket_closer_8"),
|
||
escalation_level_ticket_closer_9 = s.Field<string>("_escalation_level_ticket_closer_9"),
|
||
escalation_level_ticket_closer_10 = s.Field<string>("_escalation_level_ticket_closer_10"),
|
||
call_closure_status = s.Field<string>("_call_closure_status"),
|
||
feedback_taken = s.Field<string>("_feedback_taken"),
|
||
feedback_parameter_wise_score = s.Field<string>("_feedback_parameter_wise_score"),
|
||
feedback_ease_of_getting_call = s.Field<string>("_feedback_ease_of_getting_call"),
|
||
feedback_response_of_call_center = s.Field<string>("_feedback_response_of_call_center"),
|
||
feedback_timely_updation_by_dealer = s.Field<string>("_feedback_timely_updation_by_dealer"),
|
||
feedback_total_repair_time = s.Field<string>("_feedback_total_repair_time"),
|
||
feedback_eos_charges = s.Field<string>("_feedback_eos_charges"),
|
||
feedback_over_all_experience = s.Field<string>("_feedback_over_all_experience"),
|
||
other_remarks = s.Field<string>("_other_remarks"),
|
||
feedback_agent = s.Field<string>("_feedback_agent"),
|
||
how_did_you_come_to_know_of_eos = s.Field<string>("_how_did_you_come_to_know_of_eos"),
|
||
total_inbound_calls = s.Field<string>("_total_inbound_calls"),
|
||
total_outbound_calls = s.Field<string>("_total_outbound_calls"),
|
||
vehicle_name = s.Field<string>("_customer_vehicle_name"),
|
||
organization = s.Field<string>("organization_alias"),
|
||
call_status = s.Field<string>("_call_status"),
|
||
complaints = s.Field<string>("_complaints"),
|
||
suggestion = s.Field<string>("_suggestion"),
|
||
feedback_count = s.Field<Int32?>("_feedback_count").ToString(),
|
||
ticketid_alias = s.Field<string>("_ticket_id_alias"),
|
||
wm_name = s.Field<string>("_wm_name"),
|
||
DealerTicketOtherRemark = s.Field<string>("_other_remarks_for_dealer"),
|
||
KmCovered = s.Field<string>("_km_covered"),
|
||
estimated_distance = s.Field<string>("_estimated_distance"),
|
||
van_covered_distance = s.Field<string>("_van_covered_distance"),
|
||
trip_start_time = Convert.ToDateTime(s.Field<DateTime?>("_trip_start_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
trip_end_time = Convert.ToDateTime(s.Field<DateTime?>("_trip_end_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
|
||
_call_closed_within_24_hours = s.Field<string>("_call_closed_within_24_hours"),
|
||
_eicher_promise = s.Field<string>("_eicher_promise"),
|
||
opportunity_loss_remark = s.Field<string>("_opportunity_loss_remark"),
|
||
opportunity_loss = s.Field<string>("_opportunity_loss"),
|
||
remark_ticket_not_closed_24_hours = s.Field<string>("_remark_ticket_not_closed_24_hours"),
|
||
reopen_count = s.Field<int>("_reopen_count"),
|
||
remark_ticket_not_closed_24_hours_remarks = s.Field<string>("_remark_ticket_not_closed_24_hours_remarks"),
|
||
opportunity_lost_remarks = s.Field<string>("_opportunity_lost_remarks"),
|
||
ChassisNo = s.Field<string>("_vehicle_chassis_number"),
|
||
OdometerReading = s.Field<double>("_odometer_reading"),
|
||
//added for consolidate report
|
||
last_Updated_Time = s.Field<DateTime?>("_last_modified_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_last_modified_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
//added for feedback on 5-05-2020
|
||
are_you_satisfied = s.Field<bool?>("_are_you_satisfied") == true ? "Yes" : s.Field<bool?>("_are_you_satisfied") != null && s.Field<bool?>("_are_you_satisfied") == false ? "No" : null,
|
||
not_satisfied_option = s.Field<string>("_not_satisfied_selected_option"),
|
||
not_satisfied_reason = s.Field<string>("_not_satisfied_reason"),
|
||
response_time_reassignment = s.Field<double?>("_response_time_reassignment"),
|
||
//added on 14-12-2020
|
||
vehicle_warranty = s.Field<string>("_vehicle_warranty"),
|
||
vehicle_amc = s.Field<string>("_vehicle_amc"),
|
||
vehicle_emission_norms = s.Field<string>("_vehicle_emission_norms"),
|
||
vehicle_sales_date = s.Field<string>("_vehicle_sales_date"),
|
||
van_reached_punch_time = s.Field<DateTime?>("_van_reached_punch_time") == null ? "" : Convert.ToDateTime(s.Field<DateTime?>("_van_reached_punch_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]), //added on 23-12-2020
|
||
|
||
location_change_time = s.Field<DateTime?>("_location_change_time") != null ? Convert.ToDateTime(s.Field<DateTime?>("_location_change_time")).AddMinutes(Convert.ToInt16(model.UtcMinute)).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : null,
|
||
is_location_change = s.Field<string>("_is_location_change"),
|
||
dealer_change_reason = s.Field<string>("_dealer_change_reason"),
|
||
dealer_change_reason_other_remark = s.Field<string>("_dealer_change_reason_other_remark"),
|
||
vehicle_status = s.Field<string>("_vehicle_status"),
|
||
//------ added on 25-11-2020 start--------------
|
||
ticket_closed_reason = s.Field<string>("_ticket_closed_reason"),
|
||
fuel_type = s.Field<string>("_product_variant"),
|
||
breakdown_latitude = s.Field<string>("_brk_lat"),
|
||
breakdown_longitude = s.Field<string>("_brk_lng")
|
||
//---------- added on 25-11-2020 end --------------------
|
||
}).ToList();
|
||
objList.Where(x => x.trip_start_time == "01 Jan 0001 05:30:00" || x.trip_start_time == "01 Jan 0001 00:00:00").ToList().ForEach(x => { x.trip_start_time = "-"; });
|
||
objList.Where(x => x.trip_end_time == "01 Jan 0001 05:30:00" || x.trip_end_time == "01 Jan 0001 00:00:00").ToList().ForEach(x => { x.trip_end_time = "-"; });
|
||
// objModel.con = objList;
|
||
objModel.Status = "1";
|
||
}
|
||
else
|
||
{
|
||
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
|
||
objModel.Status = "0";
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("ConsolidatedDataReport", Ex.Message, path, errorlogtf);
|
||
objModel.Message = Ex.Message;
|
||
objModel.Status = "0";
|
||
}
|
||
return objList;
|
||
}
|
||
//Changes made by mayuri on 29-07-2025
|
||
public string sendEPSNewTicketmail(string ticketId)
|
||
{
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", ticketId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_EPS_Email_details"], nSqlParam);
|
||
EPSEmailSendModel objModel = new EPSEmailSendModel();
|
||
string emailids = "";
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objModel.TicketId = ds.Tables[0].Rows[0]["ticketId"].ToString();
|
||
objModel.Creation_time = ds.Tables[0].Rows[0]["creation_time"].ToString();
|
||
objModel.DealerCode = ds.Tables[0].Rows[0]["dealerCode"].ToString();
|
||
objModel.Description = ds.Tables[0].Rows[0]["nature_of_prblm"].ToString();
|
||
objModel.ContactNo = ds.Tables[0].Rows[0]["Contact"].ToString();
|
||
objModel.EngineNumber = ds.Tables[0].Rows[0]["engine_number"].ToString();
|
||
objModel.Product_type = ds.Tables[0].Rows[0]["product_type"].ToString();
|
||
emailids = ds.Tables[0].Rows[0]["EmailId"].ToString();
|
||
}
|
||
else
|
||
{
|
||
return "false";
|
||
}
|
||
if (System.Configuration.ConfigurationManager.AppSettings["IsEPSLeadDetailmailSend"] != "true")
|
||
{
|
||
|
||
|
||
string[] emailto = emailids.Split(',');
|
||
|
||
string body = "";
|
||
//<th style='border:1px solid black;color: #003366; padding:5px; text-align:center;'>EPS Ticket</th>
|
||
//<th style='border:1px solid black;color: #003366; padding:5px; text-align:center;'>Ticket Created At</th>
|
||
//<th style='border:1px solid black;color: #003366; padding:5px; text-align:center;'>Ticket Region/Dealer</th>
|
||
//<th style='border:1px solid black;color: #003366; padding:5px; text-align:center;'>Nature of Problem</th>
|
||
//<th style='border:1px solid black;color: #003366; padding:5px; text-align:center;'>Cx Contact Number</th>
|
||
//<th style='border:1px solid black;color: #003366; padding:5px; text-align:center;'>Engine Number</th>
|
||
//<th style='border:1px solid black;color: #003366; padding:5px; text-align:center;'>Product Type</th>
|
||
if (objModel.Product_type.ToLower() == "harvester")
|
||
{
|
||
|
||
|
||
body = @"
|
||
<html>
|
||
<body style='font-family:Calibri, sans-serif; font-size:10pt;'>
|
||
<p>Dear Team,</p>
|
||
<p>Greetings!</p>
|
||
<p>This is to inform you that a new ticket has been created with the following details:</p>
|
||
|
||
<table border='1' cellpadding='5' cellspacing='0' style='border-collapse:collapse; width:730px; table-layout:fixed;'>
|
||
<tr style='background-color:#f2f2f2;'>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:105px;'>EPS Ticket</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:120px;'>Ticket Created At</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:90px;'>Dealer Name</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:110px;'>Nature of Problem</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:110px;'>Cx Contact Number</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:105px;'>Engine Number</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:90px;'>Product Type</th>
|
||
</tr>
|
||
<tr>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[Insert ticket id]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[Insert Creation time]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[Dealer Code]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[NATURE_OF_PROBLEM]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[CX_CONTACT]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[ENGINE_NO]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[PRODUCT_TYPE]</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<p> Kindly take this forward on priority and initiate the necessary actions to resolve the issue promptly.
|
||
Your swift attention to this matter is appreciated.
|
||
</p>
|
||
|
||
<p>Please keep the relevant stakeholders informed about the progress.</p>
|
||
<p>Regards,<br>Eicher Power Solutions</p>
|
||
<p><strong>Disclaimer:</strong> This is a system-generated email. Please do not reply to this mail.</p>
|
||
</body>
|
||
</html>";
|
||
|
||
|
||
// Replace placeholders with actual values
|
||
body = body.Replace("[Insert ticket id]", objModel.TicketId)
|
||
.Replace("[Insert Creation time]", objModel.Creation_time)
|
||
.Replace("[Dealer Code]", objModel.DealerCode)
|
||
.Replace("[NATURE_OF_PROBLEM]", objModel.Description)
|
||
.Replace("[CX_CONTACT]", objModel.ContactNo)
|
||
.Replace("[ENGINE_NO]", objModel.EngineNumber)
|
||
.Replace("[PRODUCT_TYPE]", objModel.Product_type);
|
||
|
||
}
|
||
else
|
||
{
|
||
if (objModel.TicketId.ToLower().Contains("w"))
|
||
{
|
||
objModel.Region = "West";
|
||
|
||
}else if (objModel.TicketId.ToLower().Contains("s"))
|
||
{
|
||
objModel.Region = "South";
|
||
}else if (objModel.TicketId.ToLower().Contains("e"))
|
||
{
|
||
objModel.Region = "East";
|
||
}
|
||
else
|
||
{
|
||
objModel.Region = "West";
|
||
}
|
||
body = @"
|
||
<html>
|
||
<body style='font-family:Calibri, sans-serif; font-size:10pt;'>
|
||
<p>Dear Team,</p>
|
||
<p>Greetings!</p>
|
||
<p>This is to inform you that a new ticket has been created with the following details:</p>
|
||
|
||
<table border='1' cellpadding='5' cellspacing='0' style='border-collapse:collapse; width:730px; table-layout:fixed;'>
|
||
<tr style='background-color:#f2f2f2;'>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:105px;'>EPS Ticket</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:120px;'>Ticket Created At</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:90px;'>Ticket Region</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:110px;'>Nature of Problem</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:110px;'>Cx Contact Number</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:105px;'>Engine Number</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:90px;'>Product Type</th>
|
||
</tr>
|
||
<tr>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[Insert ticket id]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[Insert Creation time]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[Dealer Code]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[NATURE_OF_PROBLEM]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[CX_CONTACT]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[ENGINE_NO]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[PRODUCT_TYPE]</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<p> Kindly take this forward on priority and initiate the necessary actions to resolve the issue promptly.
|
||
Your swift attention to this matter is appreciated.
|
||
</p>
|
||
|
||
<p>Please keep the relevant stakeholders informed about the progress.</p>
|
||
<p>Regards,<br>Eicher Power Solutions</p>
|
||
<p><strong>Disclaimer:</strong> This is a system-generated email. Please do not reply to this mail.</p>
|
||
</body>
|
||
</html>";
|
||
|
||
|
||
// Replace placeholders with actual values
|
||
body = body.Replace("[Insert ticket id]", objModel.TicketId)
|
||
.Replace("[Insert Creation time]", objModel.Creation_time)
|
||
.Replace("[Dealer Code]", objModel.Region)
|
||
.Replace("[NATURE_OF_PROBLEM]", objModel.Description)
|
||
.Replace("[CX_CONTACT]", objModel.ContactNo)
|
||
.Replace("[ENGINE_NO]", objModel.EngineNumber)
|
||
.Replace("[PRODUCT_TYPE]", objModel.Product_type);
|
||
|
||
}
|
||
string mailsub = "New EPS Ticket Created – Ticket #[TicketId]";
|
||
mailsub = mailsub.Replace("[TicketId]", objModel.TicketId);
|
||
SendEmailEPSSales(emailto, mailsub, body);
|
||
|
||
}
|
||
return "true";
|
||
}
|
||
|
||
public string sendEPSClosureTicketmail(string ticketId)
|
||
{
|
||
try
|
||
{
|
||
DataSet ds = new DataSet();
|
||
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[1];
|
||
nSqlParam[0] = new NpgsqlParameter("inticket_id", ticketId);
|
||
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_EPS_Email_details_closed"], nSqlParam);
|
||
EPSEmailSendModel objModel = new EPSEmailSendModel();
|
||
string emailids = "";
|
||
if (ds.Tables[0].Rows.Count > 0)
|
||
{
|
||
objModel.TicketId = ds.Tables[0].Rows[0]["ticketId"].ToString();
|
||
objModel.Creation_time = ds.Tables[0].Rows[0]["creation_time"].ToString();
|
||
objModel.DealerCode = ds.Tables[0].Rows[0]["dealerCode"].ToString();
|
||
objModel.Description = ds.Tables[0].Rows[0]["nature_of_prblm"].ToString();
|
||
objModel.ContactNo = ds.Tables[0].Rows[0]["Contact"].ToString();
|
||
objModel.EngineNumber = ds.Tables[0].Rows[0]["engine_number"].ToString();
|
||
objModel.Product_type = ds.Tables[0].Rows[0]["product_type"].ToString();
|
||
emailids = ds.Tables[0].Rows[0]["EmailId"].ToString();
|
||
}
|
||
else
|
||
{
|
||
return "false";
|
||
}
|
||
if (System.Configuration.ConfigurationManager.AppSettings["IsEPSLeadDetailmailSend"] != "true")
|
||
{
|
||
|
||
|
||
string[] emailto = emailids.Split(',');
|
||
string body = "";
|
||
|
||
|
||
if (objModel.Product_type.ToLower() == "harvester")
|
||
{
|
||
body = @"
|
||
<html>
|
||
<body style='font-family:Calibri, sans-serif; font-size:10pt;'>
|
||
<p>Dear Team,</p>
|
||
<p>Greetings!</p>
|
||
<p>This is to confirm that the following ticket has been successfully resolved and closed:</p>
|
||
|
||
<table border='1' cellpadding='5' cellspacing='0' style='border-collapse:collapse; width:730px; table-layout:fixed;'>
|
||
<tr style='background-color:#f2f2f2;'>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:105px;'>EPS Ticket</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:120px;'>Ticket Created At</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:90px;'>Dealer Name</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:110px;'>Nature of Problem</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:110px;'>Cx Contact Number</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:105px;'>Engine Number</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:90px;'>Product Type</th>
|
||
</tr>
|
||
<tr>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[Insert ticket id]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[Insert Creation time]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[Dealer Code]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[NATURE_OF_PROBLEM]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[CX_CONTACT]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[ENGINE_NO]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[PRODUCT_TYPE]</td>
|
||
</tr>
|
||
</table>
|
||
|
||
|
||
|
||
<p> We appreciate the timely support and coordination extended to resolve this matter.</p>
|
||
<p>Regards,<br>Eicher Power Solutions</p>
|
||
<p><strong>Disclaimer:</strong> This is a system-generated email. Please do not reply to this mail.</p>
|
||
</body>
|
||
</html>";
|
||
|
||
|
||
|
||
|
||
|
||
|
||
// Replace placeholders with actual values
|
||
body = body.Replace("[Insert ticket id]", objModel.TicketId)
|
||
.Replace("[Insert Creation time]", objModel.Creation_time)
|
||
.Replace("[Dealer Code]", objModel.DealerCode)
|
||
.Replace("[NATURE_OF_PROBLEM]", objModel.Description)
|
||
.Replace("[CX_CONTACT]", objModel.ContactNo)
|
||
.Replace("[ENGINE_NO]", objModel.EngineNumber)
|
||
.Replace("[PRODUCT_TYPE]", objModel.Product_type);
|
||
}
|
||
else
|
||
{
|
||
if (objModel.TicketId.ToLower().Contains("w"))
|
||
{
|
||
objModel.Region = "West";
|
||
|
||
}
|
||
else if (objModel.TicketId.ToLower().Contains("s"))
|
||
{
|
||
objModel.Region = "South";
|
||
}
|
||
else if (objModel.TicketId.ToLower().Contains("e"))
|
||
{
|
||
objModel.Region = "East";
|
||
}
|
||
else
|
||
{
|
||
objModel.Region = "West";
|
||
}
|
||
body = @"
|
||
<html>
|
||
<body style='font-family:Calibri, sans-serif; font-size:10pt;'>
|
||
<p>Dear Team,</p>
|
||
<p>Greetings!</p>
|
||
<p>This is to confirm that the following ticket has been successfully resolved and closed:</p>
|
||
|
||
<table border='1' cellpadding='5' cellspacing='0' style='border-collapse:collapse; width:730px; table-layout:fixed;'>
|
||
<tr style='background-color:#f2f2f2;'>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:105px;'>EPS Ticket</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:120px;'>Ticket Created At</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:90px;'>Ticket Region</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:110px;'>Nature of Problem</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:110px;'>Cx Contact Number</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:105px;'>Engine Number</th>
|
||
<th style='font-size:10pt; border:1px solid black; color:#003366; padding:5px; text-align:center; width:90px;'>Product Type</th>
|
||
</tr>
|
||
<tr>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[Insert ticket id]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[Insert Creation time]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[Dealer Code]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[NATURE_OF_PROBLEM]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[CX_CONTACT]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[ENGINE_NO]</td>
|
||
<td style='font-size:10pt; border:1px solid black; padding:5px; text-align:center;'>[PRODUCT_TYPE]</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<p> We appreciate the timely support and coordination extended to resolve this matter.</p>
|
||
<p>Regards,<br>Eicher Power Solutions</p>
|
||
<p><strong>Disclaimer:</strong> This is a system-generated email. Please do not reply to this mail.</p>
|
||
</body>
|
||
</html>";
|
||
|
||
|
||
|
||
|
||
|
||
|
||
// Replace placeholders with actual values
|
||
body = body.Replace("[Insert ticket id]", objModel.TicketId)
|
||
.Replace("[Insert Creation time]", objModel.Creation_time)
|
||
.Replace("[Dealer Code]", objModel.Region)
|
||
.Replace("[NATURE_OF_PROBLEM]", objModel.Description)
|
||
.Replace("[CX_CONTACT]", objModel.ContactNo)
|
||
.Replace("[ENGINE_NO]", objModel.EngineNumber)
|
||
.Replace("[PRODUCT_TYPE]", objModel.Product_type);
|
||
}
|
||
|
||
string mailsub = "EPS Ticket Closure Confirmation – Ticket #[TicketId]";
|
||
mailsub = mailsub.Replace("[TicketId]", objModel.TicketId);
|
||
SendEmailEPSSales(emailto, mailsub, body);
|
||
|
||
}
|
||
}
|
||
catch (Exception Ex)
|
||
{
|
||
objLog.ErrorLogFile("eps Mail", Ex.Message, path, errorlogtf);
|
||
|
||
}
|
||
return "true";
|
||
}
|
||
|
||
|
||
#endregion
|
||
|
||
#endregion
|
||
|
||
}
|
||
|
||
}
|