162 lines
7.1 KiB
C#
162 lines
7.1 KiB
C#
using DBHelper;
|
|
using ExcelHelper;
|
|
using LoggingHelper;
|
|
using Npgsql;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Net.Http;
|
|
using System.Security.Cryptography;
|
|
using System.Text;
|
|
using System.Web;
|
|
using System.Web.Http;
|
|
using VECV_WebApi.Models.EmailServices;
|
|
using VECV_WebApi.Models.Ticket;
|
|
|
|
namespace VECV_WebApi.Controllers.Ticket
|
|
{
|
|
public class LiveTabTrackingController : ApiController
|
|
{
|
|
#region Global Variable
|
|
|
|
/// <summary>
|
|
/// making object of LoggingUtility class available to this class
|
|
/// </summary>
|
|
LoggingUtility objLog = new LoggingUtility();
|
|
|
|
/// <summary>
|
|
/// making the data-log file path available to this class
|
|
/// </summary>
|
|
string path = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["PathLog"]);
|
|
|
|
/// <summary>
|
|
/// making 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 Ticket Repository object available to this class
|
|
/// </summary>
|
|
TicketRepository objTicketRepository;
|
|
|
|
/// <summary>
|
|
/// making the Database connection string available to this class
|
|
/// </summary>
|
|
private string _connStr = ConfigurationManager.ConnectionStrings["Vecv_GoData"].ToString();
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
#region APIs
|
|
|
|
public List<LiveTrackingDetailsModel> Post([FromBody] LiveTrackingDetailsModel model)
|
|
{
|
|
try
|
|
{
|
|
string strsuccess = "";
|
|
LiveTrackingDetailsModel objTicketDetail = new LiveTrackingDetailsModel();
|
|
List<LiveTrackingDetailsModel> objlsttracking = new List<LiveTrackingDetailsModel>();
|
|
objTicketRepository = new TicketRepository(_connStr);
|
|
objTicketDetail = objTicketRepository.getTicketDetailLiveTabTracking(model);
|
|
objlsttracking.Add(objTicketDetail);
|
|
return objlsttracking;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
// write error log into file
|
|
objLog.ErrorLogFile("GetTicketDetailOnDeviceAlias_Controller", Ex.Message, path, errorlogtf);
|
|
throw Ex;
|
|
}
|
|
}
|
|
|
|
|
|
public string Post(string vanlatlng,[FromBody] LiveTrackingDetailsModel model)
|
|
{
|
|
try
|
|
{
|
|
string strvanlatlng = "";
|
|
|
|
objTicketRepository = new TicketRepository(_connStr);
|
|
strvanlatlng = objTicketRepository.gevanlatlngbydevicealias(model.TicketId_Alias);
|
|
|
|
return strvanlatlng;
|
|
}
|
|
catch (Exception Ex)
|
|
{
|
|
// write error log into file
|
|
objLog.ErrorLogFile("GetTicketDetailOnDeviceAlias_Controller", Ex.Message, path, errorlogtf);
|
|
throw Ex;
|
|
}
|
|
}
|
|
|
|
|
|
public string Post(string ticketId, string LiveTracking, [FromBody] LiveTrackingDetailsModel model)
|
|
{
|
|
string status = "";
|
|
// string encryptkey = EncryptQueryString(model.TicketId, "tracking", "track");
|
|
objTicketRepository = new TicketRepository(_connStr);
|
|
// strvanlatlng = objTicketRepository.gevanlatlngbydevicealias(model.TicketId_Alias);
|
|
string encryptedText = objTicketRepository.Encrypt(model.TicketId, "Tracking", "YourSaltValue");
|
|
Console.WriteLine($"Encrypted: {encryptedText}");
|
|
// string encryptedTextval = objTicketRepository.sendmail();
|
|
return encryptedText;
|
|
}
|
|
|
|
public string Post(string ticketId, string LiveTracking, string smssend, [FromBody] LiveTrackingDetailsModel model)
|
|
{
|
|
string status = "";
|
|
string msgestimatedVanReachTime = System.Web.Configuration.WebConfigurationManager.AppSettings["msgLiveTrackingLink"].ToString();
|
|
if (System.Configuration.ConfigurationManager.AppSettings["livetrackingsmsIsBlocked"] != "true")
|
|
{
|
|
NpgsqlParameter[] nSqlParam1 = new NpgsqlParameter[1];
|
|
nSqlParam1[0] = new NpgsqlParameter("inticket_id", model.TicketId);
|
|
DataSet ds3_ticket_info = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_contact_details_for_live_trackingsms_api"], nSqlParam1);
|
|
if (ds3_ticket_info.Tables.Count > 0)
|
|
{
|
|
if (ds3_ticket_info.Tables[0].Rows.Count > 0)
|
|
{
|
|
objTicketRepository = new TicketRepository(_connStr);
|
|
string strurl = objTicketRepository.Encrypt(model.TicketId, "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)}";
|
|
string url = System.Web.Configuration.WebConfigurationManager.AppSettings["SmsUrl"].ToString();
|
|
//smsSentUrl= smsSentUrl.Replace("%3D","=");
|
|
string msgelivetracking = System.Web.Configuration.WebConfigurationManager.AppSettings["msgLiveTrackingLinkSMS"].ToString();
|
|
msgelivetracking = string.Format(msgelivetracking,
|
|
ds3_ticket_info.Tables[0].Rows[0]["_site_incharge_name"].ToString() + " %26",
|
|
ds3_ticket_info.Tables[0].Rows[0]["_site_incharge_no"].ToString() + ") %26",
|
|
ds3_ticket_info.Tables[0].Rows[0]["_wm_name"].ToString() + " %26",
|
|
ds3_ticket_info.Tables[0].Rows[0]["_wm_no"].ToString(),
|
|
ds3_ticket_info.Tables[0].Rows[0]["_dealer_name"].ToString(),
|
|
smsSentUrl);
|
|
//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, model.TechnicianMobileNumber, msgelivetracking);
|
|
GlobalRepository objGlobalRepository = new GlobalRepository(_connStr);
|
|
objGlobalRepository.SendMessage(OwnerSms);
|
|
status = "success";
|
|
}
|
|
}
|
|
}
|
|
return status;
|
|
}
|
|
#endregion
|
|
|
|
|
|
}
|
|
}
|