using LoggingHelper;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using GODATA.RoleServices;
using GODATA.AuthenticationServices;
using RestSharp;
using Newtonsoft.Json;
using Kendo.Mvc.UI;
using Kendo.Mvc.Extensions;
using GODATA.Models.Ticket;
using GODATA.Models.Report;
using GODATA.Models.FilterKendoGrid;
using ExcelHelper;
using ExportToExcel;
using System.Data;
using System.Text;
using System.IO;
using GODATA.Models;
using System.Reflection;
using GODATA.Models.UserInventory;
using GODATA.Models.Tracking;
namespace GODATA.Controllers
{
///
/// Class which contains all the methods to convert a Model List to Datatable.
///
public static class ListToDatatableHelper
{
///
/// Converts a list to data-table
///
/// type of list
/// list
/// data-table
public static DataTable ToDataTable(this IList data)
{
DataTable dataTable = new DataTable(typeof(TSource).Name);
PropertyInfo[] props = typeof(TSource).GetProperties(BindingFlags.Public | BindingFlags.Instance);
foreach (PropertyInfo prop in props)
{
dataTable.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ??
prop.PropertyType);
}
foreach (TSource item in data)
{
var values = new object[props.Length];
for (int i = 0; i < props.Length; i++)
{
values[i] = props[i].GetValue(item, null);
}
dataTable.Rows.Add(values);
}
return dataTable;
}
}
///
/// Contains all the methods to show and export reports
///
[GODATA.MvcApplication.SessionExpire]
public class ReportController : Controller
{
#region Global Variables
///
/// Global variable for Ticket administration CCE portal repository.
///
private TicketAdministrationRepository objTicketAdministrationRepository = null;
///
/// Global variable for Ticket administration CCE portal repository.
///
private UserInventoryRepository objUserInventoryRepository = null;
///
/// Global variable for Report repository to access methods of report repository.
///
private ReportRepository objReportRepository = null;
///
/// Represent object of LoggingUtility class
///
LoggingUtility objLog = new LoggingUtility();
///
/// Represent string object contain log file path
///
//string path = "~/Log/";
string path = System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["PathLog"]);
///
/// Represent string object contain log status
///
string logtf = (ConfigurationManager.AppSettings["Log"]);
///
/// Represent string object contain Error log status
///
string errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]);
///
/// getting application name from AppSetting in web.config file
///
private static string _appName = ConfigurationManager.AppSettings["ApplicationName"].ToString();
///
/// getting web api token from AppSetting in web.config file
///
private static string _securityToken = ConfigurationManager.AppSettings["RESTfulSecurityToken"].ToString();
///
/// getting web api Utc Minute from AppSetting in web.config file
///
private static string _UtcMinute = ConfigurationManager.AppSettings["UtcMinute"].ToString();
///
/// getting user's utc minutes from session
///
private static string _timeOffSetMinutes = null;
///
/// getting user's utc minutes from session
///
private static int _UtcMinutes;
///
/// getting login user's id
///
private static string _LoginUserId = null;
///
/// getting login user's name
///
private static string _LoginUserName = null;
private static string _LoginUserRole = null;
///
/// getting time zone id from AppSetting in web.config file
///
private static string _TimeZoneId = ConfigurationManager.AppSettings["TimeZoneId"].ToString();
///
/// getting rest api url from AppSetting in web.config file
///
private static string _RestClientUrl = ConfigurationManager.AppSettings["RestfulApiUrl"].ToString();
///
/// getting total count of rows of a grid in one page from AppSetting in web.config file
///
private static int _pageSize = Convert.ToInt16(ConfigurationManager.AppSettings["reportPageSize"]);
///
/// URI to Path to Excel Export location.
///
private static string _exportLocation = ConfigurationManager.AppSettings["excelExportPath"].ToString();
///
/// Absolute Path on server in which excel files are saved
///
private static string _excelExportPathOnServer = ConfigurationManager.AppSettings["excelExportPathOnServer"].ToString();
///
/// getting date time format from AppSetting in web.config file
///
private static string _dateTimeFormat = ConfigurationManager.AppSettings["dateTimeFormat"].ToString();
///
/// Global variable for Page Size, offset.
///
int lPageSise = Convert.ToInt32(ConfigurationManager.AppSettings["reportPageSize"]);
#endregion
#region Private Methods
///
/// To generate transpose of a datatable
///
/// input Table
/// transpose of input datatable
private DataTable GenerateTransposedTable(DataTable inputTable)
{
DataTable outputTable = new DataTable();
// Add columns by looping rows
// Header row's first column is same as in inputTable
outputTable.Columns.Add(inputTable.Columns[0].ColumnName.ToString());
// Header row's second column onwards, 'inputTable's first column taken
foreach (DataRow inRow in inputTable.Rows)
{
string newColName = inRow[0].ToString();
outputTable.Columns.Add(newColName);
}
// Add rows by looping columns
for (int rCount = 0; rCount <= inputTable.Columns.Count - 1; rCount++)
{
DataRow newRow = outputTable.NewRow();
// First column is inputTable's Header row's second column
newRow[0] = inputTable.Columns[rCount].ColumnName.ToString();
for (int cCount = 0; cCount <= inputTable.Rows.Count - 1; cCount++)
{
string colValue = inputTable.Rows[cCount][rCount].ToString();
newRow[cCount + 1] = colValue;
}
outputTable.Rows.Add(newRow);
}
return outputTable;
}
private bool DataTableToCSV(DataTable dt, string fileName)
{
try
{
StringBuilder sb = new StringBuilder();
IEnumerable columnNames = dt.Columns.Cast().
Select(column => column.ColumnName);
sb.AppendLine(string.Join(",", columnNames));
foreach (DataRow row in dt.Rows)
{
IEnumerable fields = row.ItemArray.Select(field => field.ToString());
sb.AppendLine(string.Join(",", fields));
}
//File(fileName, sb.ToString());
System.IO.File.WriteAllText(fileName, sb.ToString());
return true;
}
catch (Exception ex)
{
return false;
}
}
#endregion
#region open and close ticket report
#region Report Ticket_Open
///
/// Get Open Ticket Report view
///
/// return view
public ActionResult Ticket_Open()
{
objLog.AddLogFile("Reports_Ticket_Open", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
//Getting login user's id, name and utc minutes from session
_LoginUserId = Session["UserId"].ToString();
_LoginUserName = Session["UserName"].ToString();
_timeOffSetMinutes = Session["UtcMinute"].ToString();
_LoginUserRole = Session["UserRole"].ToString();
ViewBag.SecurityToken = _securityToken;
ViewBag.Userid = _LoginUserId;
ViewBag.UserName = _LoginUserName;
ViewBag.UtcMinutes = _timeOffSetMinutes;
ViewBag.UserRole = _LoginUserRole;
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
return View();
}
catch (Exception ex)
{
objLog.ErrorLogFile("Reports_Ticket_Open", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
///
/// Show grid of open tickets
///
/// String representation of login user id
/// String representation of start date
/// String representation of end date
/// String representation of limit of pages
/// String representation of offset
/// String representation of ticket status
/// return partial view of open tickets
public ActionResult Ticket_Open_Grid(string userId, string startDate, string endDate, string ticketStatus)
{
objLog.AddLogFile("Reports_Ticket_Open_Grid", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
objReportRepository = new ReportRepository();
string fromDate = "01 jan 1900";
string toDate = DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]);
if (startDate != "" && endDate != "")
{
fromDate = startDate + " " + DateTime.Now.ToString(ConfigurationManager.AppSettings["startTimeFormat"]);
toDate = endDate + " " + DateTime.Now.ToString(ConfigurationManager.AppSettings["endTimeFormat"]);
}
//Get list of open ticket
List oTicketOpenFullList = objReportRepository.GetOpenTicketsList(userId, fromDate, toDate, _pageSize, 0, ticketStatus, null,null);
List oList = new List();
foreach (var item in oTicketOpenFullList)
{
oList.AddRange(item.TicketList);
}
//List oTicketOpenCount = objReportRepository.GetOpenTicketsList(userId, fromDate, toDate, _pageSize, 0, "count");
//Int32 totalCount = 0;
//foreach (var item in oTicketOpenCount)
//{
// totalCount = item.TicketCount;
//}
ViewBag.pageSize = _pageSize;
//ViewBag.total = totalCount;
ViewBag.ticketStatus = ticketStatus;
ViewBag.startDate = fromDate;
ViewBag.endDate = toDate;
ViewBag.userId = userId;
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
return PartialView(oList);
}
catch (Exception ex)
{
objLog.ErrorLogFile("Reports_Ticket_Open_Grid", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
/////
///// Server side paging
/////
/////
/////
/////
/////
/////
/////
/////
//public ActionResult Ticket_Open_Pager([DataSourceRequest]DataSourceRequest request, string userId, string startDate, string endDate, string ticketStatus, int total)
//{
// objLog.AddLogFile("Ticket_Open_Pager", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
// try
// {
// objReportRepository = new ReportRepository();
// List oTicketOpenFullList = objReportRepository.GetOpenTicketsList(userId, startDate, endDate, request.PageSize, request.PageSize * (request.Page - 1), ticketStatus, null);
// List oList = new List();
// foreach (var item in oTicketOpenFullList)
// {
// oList.AddRange(item.TicketList);
// }
// // List model = objBSS_Repository.GetDailyDo_Rev_A_Cell_Level(circleId, date, request.PageSize, request.PageSize * (request.Page - 1));
// DataSourceResult result = oList.ToDataSourceResult(request);
// result.Total = total;
// result.Data = oList;
// return Json(result);
// }
// catch (Exception ex)
// {
// throw ex;
// }
//}
#endregion
#region Report Ticket_Close
///
/// Get Close Ticket Report view
///
/// return view
public ActionResult Ticket_Close()
{
objLog.AddLogFile("Reports_Ticket_Close", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
//Getting login user's id, name and utc minutes from session
_LoginUserId = Session["UserId"].ToString();
_LoginUserName = Session["UserName"].ToString();
_timeOffSetMinutes = Session["UtcMinute"].ToString();
_LoginUserRole = Session["UserRole"].ToString();
ViewBag.SecurityToken = _securityToken;
ViewBag.Userid = _LoginUserId;
ViewBag.UserName = _LoginUserName;
ViewBag.UtcMinutes = _timeOffSetMinutes;
ViewBag.UserRole = _LoginUserRole;
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
return View();
}
catch (Exception ex)
{
objLog.ErrorLogFile("Reports_Ticket_Close", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
///
/// Show grid of close tickets
///
/// String representation of login user id
/// String representation of start date
/// String representation of end date
/// String representation of ticket status
/// return partial view of close tickets
public ActionResult Ticket_Close_Grid(string userId, string startDate, string endDate, string ticketStatus, string regionTag, string dealerTag, string emmisionTag, string vehicleTag, string customerTag,string tstatus,string TicketType)
{
objLog.AddLogFile("Reports_Ticket_Close_Grid", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
objReportRepository = new ReportRepository();
//Adding time to start date and end date
string fromDate = startDate + " " + DateTime.Now.ToString(ConfigurationManager.AppSettings["startTimeFormat"]);
string toDate = endDate + " " + DateTime.Now.ToString(ConfigurationManager.AppSettings["endTimeFormat"]);
string query = null;
//Getting list of close ticket list
List oTicketOpenFullList = objReportRepository.GetOpenTicketsList(userId, fromDate, toDate, _pageSize, 0, ticketStatus, null, TicketType);
//Fetching ticket list from close ticket list
List oList = new List();
foreach (var item in oTicketOpenFullList)
{
oList.AddRange(item.TicketList);
}
string strticketstatus = "";
if (ticketStatus.ToLower() == "close")
{
strticketstatus = "Closed";
}
string ticketStatusTag = "Closed";
string filterdataval = filterdata(regionTag, dealerTag, emmisionTag, vehicleTag, customerTag, tstatus);
// filterData = "TicketStatusAlias~eq~'Closed'~and~((ticketid_alias)~contains~'E1'~or~ticketid_alias~contains~'E2')~and~((vehicle_emission_norms)~eq~'BS III'~or~vehicle_emission_norms~eq~'BS VI'~or~vehicle_emission_norms~eq~'BS IV')~and~((VehicleTagging)~eq~'BUS'~or~VehicleTagging~eq~'HD')";
// get query from filter object,
// filterData = "TicketStatusAlias~eq~'Closed'~and~" + stremmisionTagval1 +")";
// filterData = "TicketStatusAlias~eq~'" + strticketstatus + "'~and~" + stremmisionTagval1 + ")";
query = FilterKendoGrid.CreateFilterQuery(filterdataval);
//string strdata = "TicketStatusAlias~eq~'Closed'~and~(vehicle_emission_norms~contains~'BS II'~or~vehicle_emission_norms~contains~'BS IV')";
//Server side paging, Get total count of tickets
// List oTicketCloseCount = objReportRepository.GetOpenTicketsList(userId, fromDate, toDate, _pageSize, 0, "count", null);
List oTicketCloseCount = objReportRepository.GetOpenTicketsList(userId, startDate, endDate, _pageSize, 0, "count", query, TicketType);
Int32 totalCount = 0;
foreach (var item in oTicketCloseCount)
{
totalCount = item.TicketCount;
}
ViewBag.pageSize = _pageSize;
ViewBag.total = totalCount;
ViewBag.ticketStatus = ticketStatus;
ViewBag.startDate = fromDate;
ViewBag.endDate = toDate;
ViewBag.userId = userId;
ViewBag.regionTag = regionTag;
ViewBag.dealerTag = dealerTag;
ViewBag.emmisionTag = emmisionTag;
ViewBag.vehicleTag = vehicleTag;
ViewBag.customerTag = customerTag;
ViewBag.tstatus = tstatus;
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
return PartialView(oList);
}
catch (Exception ex)
{
objLog.ErrorLogFile("Reports_Ticket_Close_Grid", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
///
/// Server side paging on close ticket report
///
/// data source request
/// login user id
/// from data
/// to date
/// ticket status
/// total rows to be get
/// return list of close tickets
///
/// Server side paging on close ticket report
///
/// data source request
/// login user id
/// from data
/// to date
/// ticket status
/// total rows to be get
/// return list of close tickets
public ActionResult Ticket_Close_Pager([DataSourceRequest] DataSourceRequest request, string userId, string startDate, string endDate, string ticketStatus, int total, string regionTag, string dealerTag, string emmisionTag, string vehicleTag, string customerTag,string tstatus)
{
objLog.AddLogFile("Ticket_Close_Pager", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
string query = null;
if (request.Filters.Count > 0)
{
string strticketstatus = "";
if (ticketStatus.ToLower() == "close")
{
strticketstatus = "Closed";
}
string ticketStatusTag = "Closed";
string filterdataval= filterdata(regionTag, dealerTag, emmisionTag, vehicleTag, customerTag, tstatus);
// filterData = "TicketStatusAlias~eq~'Closed'~and~((ticketid_alias)~contains~'E1'~or~ticketid_alias~contains~'E2')~and~((vehicle_emission_norms)~eq~'BS III'~or~vehicle_emission_norms~eq~'BS VI'~or~vehicle_emission_norms~eq~'BS IV')~and~((VehicleTagging)~eq~'BUS'~or~VehicleTagging~eq~'HD')";
// get query from filter object,
// filterData = "TicketStatusAlias~eq~'Closed'~and~" + stremmisionTagval1 +")";
// filterData = "TicketStatusAlias~eq~'" + strticketstatus + "'~and~" + stremmisionTagval1 + ")";
query = FilterKendoGrid.CreateFilterQuery(filterdataval);
//string strdata = "TicketStatusAlias~eq~'Closed'~and~(vehicle_emission_norms~contains~'BS II'~or~vehicle_emission_norms~contains~'BS IV')";
}
objReportRepository = new ReportRepository();
//Getting list of close ticket list
List oTicketOpenFullList = objReportRepository.GetOpenTicketsList(userId, startDate, endDate, request.PageSize, request.PageSize * (request.Page - 1), ticketStatus, query,null);
//Fetching ticket list from close ticket list
List oList = new List();
foreach (var item in oTicketOpenFullList)
{
oList.AddRange(item.TicketList);
}
//Server side paging, Get total count of tickets
List oTicketCloseCount = objReportRepository.GetOpenTicketsList(userId, startDate, endDate, request.PageSize, request.PageSize * (request.Page - 1), "count", query,null);
Int32 totalCount = 0;
foreach (var item in oTicketCloseCount)
{
totalCount = item.TicketCount;
}
DataSourceResult result = oList.ToDataSourceResult(request);
//check if filters are applied than total count fetched from server
if (query == null) { result.Total = total; } else { result.Total = totalCount; }
//send data to kendo grid
result.Data = oList;
return Json(result);
}
catch (Exception ex)
{
objLog.ErrorLogFile("Ticket_Close_Pager", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
public string filterdata(string strregionTag, string strdealerTag, string stremmisionTag, string strvehicleTag, string strcustomerTag, string strticketstatus)
{
string strregionTagval = "";
if (strregionTag == null || strregionTag == "")
{
}
else
{
//strregionTagval = "(ticketid_alias)~contains~";
strregionTagval = "(ticketid_alias)~contains~";
string source = strregionTag;
string[] names = source.Split(',');
for (int i = 0; i < names.Length; i++)
{
// names[i] = "'" + names[i].Trim() + "'";
string strresult = names[i].Trim().Substring(0, 1);
string strlastresult = names[i].Trim().Substring(names[i].Length - 1, 1);
var finalregion = strresult + strlastresult;
strregionTagval += "'" + finalregion + "'~or~ticketid_alias~contains~";
}
int positionemission = strregionTagval.LastIndexOf("~or~ticketid_alias~contains~");
strregionTagval = strregionTagval.Substring(0, positionemission);
strregionTagval = strregionTagval + ")~and~";
}
string strdealerTagval = "";
if (strdealerTag == null || strdealerTag == "")
{
}
else
{
strdealerTagval = "(DealerDealerName)~eq~";
string source = strdealerTag;
string[] names = source.Split(',');
for (int i = 0; i < names.Length; i++)
{
strdealerTagval += "'" + names[i].Trim() + "'~or~DealerDealerName~eq~";
}
int positionemission = strdealerTagval.LastIndexOf("~or~DealerDealerName~eq~");
strdealerTagval = strdealerTagval.Substring(0, positionemission);
strdealerTagval = strdealerTagval + ")~and~";
// strdealerTag = string.Join(",", names);
}
string stremmisionTagval = "";
if (stremmisionTag == null || stremmisionTag == "")
{
}
else
{
stremmisionTagval = "(vehicle_emission_norms)~eq~";
string source = stremmisionTag;
string[] names = source.Split(',');
for (int i = 0; i < names.Length; i++)
{
// names[i] = "'" + names[i].Trim() + "'";
stremmisionTagval += "'" + names[i].Trim() + "'~or~vehicle_emission_norms~eq~";
}
int positionemission = stremmisionTagval.LastIndexOf("~or~vehicle_emission_norms~eq~");
stremmisionTagval = stremmisionTagval.Substring(0, positionemission);
stremmisionTagval = stremmisionTagval + ")~and~";
// strvehicleTag = string.Join(",", names);
}
string stremmisionTagval1 = "";
if (stremmisionTagval1 == null || stremmisionTagval1 == "")
{
}
else
{
stremmisionTagval1 = "(vehicle_emission_norms)~eq~";
string source = stremmisionTag;
string[] names = source.Split(',');
for (int i = 0; i < names.Length; i++)
{
// names[i] = "'" + names[i].Trim() + "'";
stremmisionTagval1 += "'" + names[i].Trim() + "'~or~vehicle_emission_norms~eq~";
}
int positionemission = stremmisionTagval1.LastIndexOf("~or~vehicle_emission_norms~eq~");
stremmisionTagval1 = stremmisionTagval1.Substring(0, positionemission);
// stremmisionTagval = stremmisionTagval + ")~and~";
// strvehicleTag = string.Join(",", names);
}
if (strcustomerTag == null || strcustomerTag == "")
{
}
else
{
string source = strcustomerTag;
string[] names = source.Split(',');
for (int i = 0; i < names.Length; i++)
{
names[i] = "'" + names[i].Trim() + "'";
}
// strcustomerTag = string.Join(",", names);
}
string strverticle = "";
if (strvehicleTag == null || strvehicleTag == "")
{
}
else
{
strverticle = "(VehicleTagging)~eq~";
string source = strvehicleTag;
string[] names = source.Split(',');
for (int i = 0; i < names.Length; i++)
{
// names[i] = "'" + names[i].Trim() + "'";
strverticle += "'" + names[i].Trim() + "'~or~VehicleTagging~eq~";
}
int positionver = strverticle.LastIndexOf("~or~VehicleTagging~eq~");
strverticle = strverticle.Substring(0, positionver);
strverticle = strverticle + ")~and~";
// strvehicleTag = string.Join(",", names);
}
// var customerId =(Request.Params["filter[filters][0][value]"]).ToString();
// ModifyFilters((IList)request.Filters);
var filterData = (System.Web.HttpContext.Current.Request.Params["filter"]);
string strfinal = strregionTagval + strdealerTagval + stremmisionTagval + strverticle;
if (strfinal == "" || strfinal == null)
{
filterData = "TicketStatusAlias~eq~'" + strticketstatus +"'";
}
else {
int position = strfinal.LastIndexOf("~and~");
strfinal = strfinal.Substring(0, position);
filterData = "TicketStatusAlias~eq~'" + strticketstatus + "'~and~" + strfinal + "";
}
return filterData;
}
///
/// Export to excel Open and Close Ticket Report
///
/// Login user id
/// From Date
/// To Date
/// Ticket Status(Open or Close)
/// Returns excel file
[HttpPost]
public string Ticket_Close_Open_ExportToExcel(string UserId, string startDate, string endDate, string ticketStatus)
{
objLog.AddLogFile("Ticket_Close_Open_ExportToExcel", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
string filename = null;
string templatePath = null;
objReportRepository = new ReportRepository();
string fromDate = "01 jan 1900";
string toDate = DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]);
if (startDate != "" && endDate != "")
{
fromDate = startDate + " " + DateTime.Now.ToString(ConfigurationManager.AppSettings["startTimeFormat"]);
toDate = endDate + " " + DateTime.Now.ToString(ConfigurationManager.AppSettings["endTimeFormat"]);
}
//string fromDate = startDate + " " + DateTime.Now.ToString(ConfigurationManager.AppSettings["startTimeFormat"]);
//string toDate = endDate + " " + DateTime.Now.ToString(ConfigurationManager.AppSettings["endTimeFormat"]);
//Get list of ticket
List oTicketOpenFullList = objReportRepository.GetOpenTicketsList(UserId, fromDate, toDate, 100000, 0, ticketStatus, null,null);
//Fetching ticket list from close ticket list
List oList = new List();
foreach (var item in oTicketOpenFullList)
{
oList.AddRange(item.TicketList);
}
DataTable OpenTicketTable = oList.ToDataTable();
//Server side paging, Get total count of tickets
Int32 OpenTicketTableColumnCount = OpenTicketTable.Columns.Count - 1;
for (var count = OpenTicketTableColumnCount; count >= 20; count--)
{
OpenTicketTable.Columns.RemoveAt(count);
}
if (ticketStatus.ToLower().Trim() == "open")
{
OpenTicketTable.Columns.RemoveAt(OpenTicketTable.Columns.Count - 4);
OpenTicketTable.Columns.RemoveAt(OpenTicketTable.Columns.Count - 4);
OpenTicketTable.Columns.RemoveAt(OpenTicketTable.Columns.Count - 4);
OpenTicketTable.Columns.RemoveAt(OpenTicketTable.Columns.Count - 4);
//OpenTicketTable.Columns.RemoveAt(14);
}
else
{
OpenTicketTable.Columns.RemoveAt(17);
OpenTicketTable.Columns.RemoveAt(2);
}
// getting required dataset
DataSet ds = new DataSet();
ds.Tables.Add(OpenTicketTable);
////Give column names
ds.Tables[0].Columns[0].ColumnName = "Ticket Id";
ds.Tables[0].Columns[1].ColumnName = "Ticket Status";
ds.Tables[0].Columns[2].ColumnName = "Ticket Creation Time";
ds.Tables[0].Columns[3].ColumnName = "Customer Name";
ds.Tables[0].Columns[4].ColumnName = "Customer Contact No.";
ds.Tables[0].Columns[5].ColumnName = "Vehicle Registration No.";
ds.Tables[0].Columns[6].ColumnName = "Vehicle Type";
ds.Tables[0].Columns[7].ColumnName = "Default SLA Time (In Min)";
ds.Tables[0].Columns[8].ColumnName = "Response(In min)";
ds.Tables[0].Columns[9].ColumnName = "EOS Team Member/Van Reg No.";
ds.Tables[0].Columns[10].ColumnName = "Dealer Name";
ds.Tables[0].Columns[11].ColumnName = "Dealer Contact No.";
ds.Tables[0].Columns[12].ColumnName = "Language";
ds.Tables[0].Columns[13].ColumnName = "Pre Closure Time";
ds.Tables[0].Columns[14].ColumnName = "Chassis Number";
ds.Tables[0].Columns[15].ColumnName = "Odometer Reading";
if (ticketStatus == "close")
{
ds.Tables[0].Columns.RemoveAt(1);
}
//================================ Excel Functionality ===================================//
ExcelUtility objExcelUtility = new ExcelHelper.ExcelUtility();
List workbokkMapping = new List();
if (ticketStatus == "open")
{
filename = "OpenTicket_" + DateTime.Now.ToString("ddMMMyyyyhhmmss") + ".xlsx";
workbokkMapping.Add(new WorkbookMappingModel { DataTableName = ds.Tables[0].TableName, WorkSheetName = "Open Ticket", StartColumnName = "A", StartRowNumber = 2, WorkSheetNumber = 1, AutoFit = false });
templatePath = Server.MapPath(ConfigurationManager.AppSettings["OpenTicketReportTemplate"].ToString());
}
else
{
filename = "CloseTicket_" + DateTime.Now.ToString("ddMMMyyyyhhmmss") + ".xlsx";
workbokkMapping.Add(new WorkbookMappingModel { DataTableName = ds.Tables[0].TableName, WorkSheetName = "Close Ticket", StartColumnName = "A", StartRowNumber = 2, WorkSheetNumber = 1, AutoFit = false });
templatePath = Server.MapPath(ConfigurationManager.AppSettings["CloseTicketReportTemplate"].ToString());
}
string pathToExcelFile = _exportLocation + filename;
string saveAs = Server.MapPath(_excelExportPathOnServer + filename);
ExcelHelper.StatusModel result = objExcelUtility.ExportToExcel(ds, templatePath, workbokkMapping, saveAs, false);
//ExcelHelper.StatusModel result = objExcelUtility.ExportToExcel(ds, workbokkMapping, saveAs, false);
//================================ Excel Functionality End ===================================//
// returning path to generated Excel file
if (result.Status == 1) { return pathToExcelFile; }
else { return "error"; }
}
catch (Exception ex)
{
objLog.ErrorLogFile("Ticket_Close_Open_ExportToExcel", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
[HttpPost]
public string Ticket_Close_Open_NewExportToExcel(string UserId, string startDate, string endDate, string ticketStatus)
{
objLog.AddLogFile("Ticket_Close_Open_ExportToExcel", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
string filename = null;
string templatePath = null;
objReportRepository = new ReportRepository();
string fromDate = "01 jan 1900";
string toDate = DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]);
if (startDate != "" && endDate != "")
{
fromDate = startDate + " " + DateTime.Now.ToString(ConfigurationManager.AppSettings["startTimeFormat"]);
toDate = endDate + " " + DateTime.Now.ToString(ConfigurationManager.AppSettings["endTimeFormat"]);
}
//Get list of ticket
List oTicketOpenFullList = objReportRepository.GetOpenTicketsList(UserId, fromDate, toDate, 100000, 0, ticketStatus, null,null);
//Fetching ticket list from close ticket list
List oList = new List();
foreach (var item in oTicketOpenFullList)
{
oList.AddRange(item.TicketList);
}
DataTable OpenTicketTable = oList.ToDataTable();
//Server side paging, Get total count of tickets
Int32 OpenTicketTableColumnCount = OpenTicketTable.Columns.Count - 1;
//--------- *** changes on 13-10-2020 start ***----------------------------------------------------------
if (ticketStatus.ToLower().Trim() == "close")
{
for (var count = OpenTicketTableColumnCount; count >= 35; count--) //modified count on 25-11-2020 //modified count from 34 to 35 on 23-12-2020
{
OpenTicketTable.Columns.RemoveAt(count);
}
if (ticketStatus.ToLower().Trim() == "open")
{
OpenTicketTable.Columns.RemoveAt(OpenTicketTable.Columns.Count - 4);
OpenTicketTable.Columns.RemoveAt(OpenTicketTable.Columns.Count - 4);
OpenTicketTable.Columns.RemoveAt(OpenTicketTable.Columns.Count - 4);
OpenTicketTable.Columns.RemoveAt(OpenTicketTable.Columns.Count - 4);
//OpenTicketTable.Columns.RemoveAt(14);
}
else
{
OpenTicketTable.Columns.RemoveAt(17);
OpenTicketTable.Columns.RemoveAt(2);
}
// getting required dataset
DataSet ds = new DataSet();
ds.Tables.Add(OpenTicketTable);
//----------------------------------- *** changed code ***--------------------------------------
//ds.Tables[0].Columns[0].ColumnName = "Ticket Id";
//ds.Tables[0].Columns[1].ColumnName = "Ticket Status";
//ds.Tables[0].Columns[2].ColumnName = "Customer Name";
//ds.Tables[0].Columns[3].ColumnName = "Customer Contact No.";
//ds.Tables[0].Columns[4].ColumnName = "Vehicle Registration No.";
//ds.Tables[0].Columns[5].ColumnName = "Vehicle Type";
//ds.Tables[0].Columns[6].ColumnName = "Default SLA Time (In Min)";
//ds.Tables[0].Columns[7].ColumnName = "Response(In min)";
//ds.Tables[0].Columns[8].ColumnName = "EOS Team Member/Van Reg No.";
//ds.Tables[0].Columns[9].ColumnName = "Dealer Name";
//ds.Tables[0].Columns[10].ColumnName = "Dealer Contact No.";
//ds.Tables[0].Columns[11].ColumnName = "Language";
//ds.Tables[0].Columns[12].ColumnName = "Pre Closure Time";
//ds.Tables[0].Columns[16].ColumnName = "Chassis No";
//ds.Tables[0].Columns[17].ColumnName = "Odometer Reading";
//// added van/breakdown lat lng
//ds.Tables[0].Columns[18].ColumnName = "Van Latitude At Trip Start";
//ds.Tables[0].Columns[19].ColumnName = "Van Longitude At Trip Start";
//ds.Tables[0].Columns[20].ColumnName = "Van Latitude At Van Reached";
//ds.Tables[0].Columns[21].ColumnName = "Van Longitude At Van Reached";
//ds.Tables[0].Columns[22].ColumnName = "Van Latitude At Trip End";
//ds.Tables[0].Columns[23].ColumnName = "Van Longitude At Trip End";
//ds.Tables[0].Columns[24].ColumnName = "Breakdown Location Latitude";
//ds.Tables[0].Columns[25].ColumnName = "Breakdown Location Longitude";
//ds.Tables[0].Columns[26].ColumnName = "Ticket Closed Reason"; //change the column name on 25-11-2020
//ds.Tables[0].Columns[27].ColumnName = "Vehicle Warranty";
//ds.Tables[0].Columns[28].ColumnName = "Vehicle Amc";
//ds.Tables[0].Columns[29].ColumnName = "Vehicle Emission Norms";
//ds.Tables[0].Columns[30].ColumnName = "Vehicle Sales Date";
//ds.Tables[0].Columns[31].ColumnName = "Ticket Closed Reason"; //change the column name on 25-11-2020 //change the column name on 23-12-2020
//ds.Tables[0].Columns[32].ColumnName = "Van Reached Punch Time"; //change the column name on 23-12-2020
//----------------------------------- *** changed code ***--------------------------------------
//----------------------------------- *** changed code ***--------------------------------------
ds.Tables[0].Columns[0].ColumnName = "Ticket Id";
ds.Tables[0].Columns[1].ColumnName = "Ticket Status";
ds.Tables[0].Columns[2].ColumnName = "Customer Name";
ds.Tables[0].Columns[3].ColumnName = "Customer Contact No.";
ds.Tables[0].Columns[4].ColumnName = "Vehicle Registration No.";
ds.Tables[0].Columns[5].ColumnName = "Vehicle Type";
ds.Tables[0].Columns[6].ColumnName = "Default SLA Time (In Min)";
ds.Tables[0].Columns[7].ColumnName = "Response(In min)";
ds.Tables[0].Columns[8].ColumnName = "EOS Team Member/Van Reg No.";
ds.Tables[0].Columns[9].ColumnName = "Dealer Name";
ds.Tables[0].Columns[10].ColumnName = "Dealer Contact No.";
ds.Tables[0].Columns[11].ColumnName = "Language";
ds.Tables[0].Columns[12].ColumnName = "Pre Closure Time";
ds.Tables[0].Columns[16].ColumnName = "Chassis No";
ds.Tables[0].Columns[17].ColumnName = "Odometer Reading";
ds.Tables[0].Columns[18].ColumnName = "Van Reach By Call Center"; //added on 19-01-2021
// added van/breakdown lat lng
ds.Tables[0].Columns[19].ColumnName = "Van Latitude At Trip Start";
ds.Tables[0].Columns[20].ColumnName = "Van Longitude At Trip Start";
ds.Tables[0].Columns[21].ColumnName = "Van Latitude At Van Reached";
ds.Tables[0].Columns[22].ColumnName = "Van Longitude At Van Reached";
ds.Tables[0].Columns[23].ColumnName = "Van Latitude At Trip End";
ds.Tables[0].Columns[24].ColumnName = "Van Longitude At Trip End";
ds.Tables[0].Columns[25].ColumnName = "Breakdown Location Latitude";
ds.Tables[0].Columns[26].ColumnName = "Breakdown Location Longitude";
//------------------- added on 23-12-2020 start----------------------------------
ds.Tables[0].Columns[27].ColumnName = "Vehicle Warranty";
ds.Tables[0].Columns[28].ColumnName = "Vehicle Amc";
ds.Tables[0].Columns[29].ColumnName = "Vehicle Emission Norms";
ds.Tables[0].Columns[30].ColumnName = "Vehicle Sales Date";
ds.Tables[0].Columns[31].ColumnName = "Ticket Closed Reason"; //change the column name on 25-11-2020
//------------------- added on 23-12-2020 end----------------------------------
//----------------------------------- *** changed code ***--------------------------------------
if (ticketStatus == "close")
{
ds.Tables[0].Columns.RemoveAt(1);
//ds.Tables[0].Columns.RemoveAt(25); // added on 13-10-2020
}
//================================ Excel Functionality ===================================//
ExcelUtility objExcelUtility = new ExcelHelper.ExcelUtility();
List workbokkMapping = new List();
if (ticketStatus == "open")
{
filename = "OpenTicket_" + DateTime.Now.ToString("ddMMMyyyyhhmmss") + ".xlsx";
workbokkMapping.Add(new WorkbookMappingModel { DataTableName = ds.Tables[0].TableName, WorkSheetName = "Open Ticket", StartColumnName = "A", StartRowNumber = 2, WorkSheetNumber = 1, AutoFit = false });
templatePath = Server.MapPath(ConfigurationManager.AppSettings["OpenTicketReportTemplate"].ToString());
}
else
{
filename = "CloseTicket_" + DateTime.Now.ToString("ddMMMyyyyhhmmss") + ".xlsx";
workbokkMapping.Add(new WorkbookMappingModel { DataTableName = ds.Tables[0].TableName, WorkSheetName = "Close Ticket", StartColumnName = "A", StartRowNumber = 2, WorkSheetNumber = 1, AutoFit = false });
templatePath = Server.MapPath(ConfigurationManager.AppSettings["CloseTicketReportTemplate"].ToString());
}
string pathToExcelFile = _exportLocation + filename;
string saveAs = Server.MapPath(_excelExportPathOnServer + filename);
//commented on 24-07-2020(excel download same as consolidate report)
bool isCreated = CreateExcelFile.CreateExcelDocument(ds, saveAs);
if (isCreated == true) { return _exportLocation + filename; }
else { return "error"; }
}
else
{
for (var count = OpenTicketTableColumnCount; count >= 21; count--) //change the count from 20 from 21 on 23-12-2020
{
OpenTicketTable.Columns.RemoveAt(count);
}
if (ticketStatus.ToLower().Trim() == "open")
{
OpenTicketTable.Columns.RemoveAt(OpenTicketTable.Columns.Count - 4);
OpenTicketTable.Columns.RemoveAt(OpenTicketTable.Columns.Count - 4);
OpenTicketTable.Columns.RemoveAt(OpenTicketTable.Columns.Count - 4);
OpenTicketTable.Columns.RemoveAt(OpenTicketTable.Columns.Count - 4);
//OpenTicketTable.Columns.RemoveAt(14);
}
else
{
OpenTicketTable.Columns.RemoveAt(17);
OpenTicketTable.Columns.RemoveAt(2);
}
// getting required dataset
DataSet ds = new DataSet();
ds.Tables.Add(OpenTicketTable);
////Give column names
//changes done on 13-10-2020
//----------------------------------- *** existing code ***--------------------------------------
ds.Tables[0].Columns[0].ColumnName = "Ticket Id";
ds.Tables[0].Columns[1].ColumnName = "Ticket Status";
ds.Tables[0].Columns[2].ColumnName = "Ticket Creation Time";
ds.Tables[0].Columns[3].ColumnName = "Customer Name";
ds.Tables[0].Columns[4].ColumnName = "Customer Contact No.";
ds.Tables[0].Columns[5].ColumnName = "Vehicle Registration No.";
ds.Tables[0].Columns[6].ColumnName = "Vehicle Type";
ds.Tables[0].Columns[7].ColumnName = "Default SLA Time (In Min)";
ds.Tables[0].Columns[8].ColumnName = "Response(In min)";
ds.Tables[0].Columns[9].ColumnName = "EOS Team Member/Van Reg No.";
ds.Tables[0].Columns[10].ColumnName = "Dealer Name";
ds.Tables[0].Columns[11].ColumnName = "Dealer Contact No.";
ds.Tables[0].Columns[12].ColumnName = "Language";
ds.Tables[0].Columns[13].ColumnName = "Pre Closure Time";
ds.Tables[0].Columns[14].ColumnName = "Chassis Number";
ds.Tables[0].Columns[15].ColumnName = "Odometer Reading";
ds.Tables[0].Columns[16].ColumnName = "Van Reach By Call Center"; //added on 19-01-2021
//----------------------------------- *** existing code ***--------------------------------------
if (ticketStatus == "close")
{
ds.Tables[0].Columns.RemoveAt(1);
}
//================================ Excel Functionality ===================================//
ExcelUtility objExcelUtility = new ExcelHelper.ExcelUtility();
List workbokkMapping = new List();
if (ticketStatus == "open")
{
filename = "OpenTicket_" + DateTime.Now.ToString("ddMMMyyyyhhmmss") + ".xlsx";
workbokkMapping.Add(new WorkbookMappingModel { DataTableName = ds.Tables[0].TableName, WorkSheetName = "Open Ticket", StartColumnName = "A", StartRowNumber = 2, WorkSheetNumber = 1, AutoFit = false });
templatePath = Server.MapPath(ConfigurationManager.AppSettings["OpenTicketReportTemplate"].ToString());
}
else
{
filename = "CloseTicket_" + DateTime.Now.ToString("ddMMMyyyyhhmmss") + ".xlsx";
workbokkMapping.Add(new WorkbookMappingModel { DataTableName = ds.Tables[0].TableName, WorkSheetName = "Close Ticket", StartColumnName = "A", StartRowNumber = 2, WorkSheetNumber = 1, AutoFit = false });
templatePath = Server.MapPath(ConfigurationManager.AppSettings["CloseTicketReportTemplate"].ToString());
}
string pathToExcelFile = _exportLocation + filename;
string saveAs = Server.MapPath(_excelExportPathOnServer + filename);
//commented on 24-07-2020(excel download same as consolidate report)
bool isCreated = CreateExcelFile.CreateExcelDocument(ds, saveAs);
if (isCreated == true) { return _exportLocation + filename; }
else { return "error"; }
}
}
catch (Exception ex)
{
objLog.ErrorLogFile("Ticket_Close_Open_ExportToExcel", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
#endregion
#region Show Ticket Details, Activities, feedback
///
/// Get Full details of ticket
///
/// selected ticket's id
/// ticket status open or close
/// returns list type partial view
public ActionResult Ticket_GetOpencloseTicketFullDetails(string ticketId, string ticketStatus)
{
objLog.AddLogFile("Ticket_GetOpencloseTicketFullDetails", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
objTicketAdministrationRepository = new TicketAdministrationRepository();
List oCloseTicketList = new List();
ViewBag.CloseTicketHistory = null;
if (ticketStatus == "close")
{
//Get close ticket list
oCloseTicketList = objTicketAdministrationRepository.GetCloseTicketHistory("", "", ticketId);
ViewBag.CloseTicketHistory = oCloseTicketList;
}
//Get ticket details
List oTicketDetails = new List();
oTicketDetails = objTicketAdministrationRepository.Restful_GetOpenCloseTicketDetails(ticketId, ticketStatus);
//Global variables
int RouteId = 0; string routeName = "";
//Getting details of vehicle and customer from ticket details list
foreach (var item in oTicketDetails)
{
RouteId = item.RouteId;
}
//Get route name
List oRouteList = objTicketAdministrationRepository.GetRoutesList();
var oRouteName = oRouteList.Where(w => w.Id.Equals(RouteId));
foreach (var item11 in oRouteName)
{
routeName = item11.Name;
}
ViewBag.Route = routeName;
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
return PartialView(oTicketDetails);
}
catch (Exception ex)
{
objLog.ErrorLogFile("Ticket_GetOpencloseTicketFullDetails", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
///
/// Get caller/driver details of ticket
///
/// contact no. of caller/driver
/// vehicle's registration no. of caller/driver
/// return json of list type
public ActionResult Ticket_GetOpencloseTicketDriverDetails(string CustomerContactNo, string VRegistrationNo)
{
objLog.AddLogFile("Ticket_GetOpencloseTicketDriverDetails", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
objTicketAdministrationRepository = new TicketAdministrationRepository();
//Get customer details
List oCustomerList = objTicketAdministrationRepository.GetCustomerDetails("", CustomerContactNo, "");
//List itemCustomer = oCustomerList.Where(w => w.CustomerMobile1.Equals(CustomerContactNo)).ToList();
List itemCustomer = oCustomerList.Where(w => w.VehicleRegistrationNumber.Equals(VRegistrationNo)).ToList();
itemCustomer = itemCustomer.Where(w => w.CustomerVehicleIsOwnwer.Equals(false)).ToList();
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
return Json(new { success = true, list = itemCustomer }, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
objLog.ErrorLogFile("Ticket_GetOpencloseTicketDriverDetails", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
///
/// Get details of Vehicle's Owner
///
/// Vehicle's registration no.
/// return list type json
public ActionResult Ticket_GetOpencloseTicketOwnerDetails(string VRegistrationNo)
{
objLog.AddLogFile("Ticket_GetOpencloseTicketOwnerDetails", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
objTicketAdministrationRepository = new TicketAdministrationRepository();
//Get owner details
List oCustomerOwnerDetailsList = objTicketAdministrationRepository.GetCustomerOwnerDetails(VRegistrationNo);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
return Json(new { success = true, list = oCustomerOwnerDetailsList }, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
objLog.ErrorLogFile("Ticket_GetOpencloseTicketOwnerDetails", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
///
/// Get caller/driver's Vehicle details
///
/// vehicle's registration no.
/// return list type json
public ActionResult Ticket_GetOpencloseTicketVehicleDetails(string VRegistrationNo)
{
objLog.AddLogFile("Ticket_GetOpencloseTicketVehicleDetails", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
objTicketAdministrationRepository = new TicketAdministrationRepository();
string VModelNo = ""; string VModelTagging = ""; string VModelTaggingName = "";
//Get vehicle details
List oVehicleDetailsList = objTicketAdministrationRepository.GetVehicleDetailsRegistrationNoWise(VRegistrationNo);
foreach (var item12 in oVehicleDetailsList)
{
VModelNo = item12.ModelNumber;
}
//Get vehicle's product varient(model tagging)
List oVehicleModelList = objTicketAdministrationRepository.GetVehicleModelList();
var oVModelTaggingList = oVehicleModelList.Where(w => w.VehicleTypeId.Equals(VModelNo));
foreach (var item13 in oVModelTaggingList)
{
VModelTagging = item13.VehicleTypeTagging;
VModelTaggingName = item13.VehicleTypeName;
}
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
return Json(new { success = true, list = oVehicleDetailsList, vehicleModelTagging = VModelTagging, vehicleModelTaggingName = VModelTaggingName }, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
objLog.ErrorLogFile("Ticket_GetOpencloseTicketVehicleDetails", ex.Message, path, errorlogtf);
objLog.AddLogFile(DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
throw ex;
}
}
#region get tracking device alias wise for open ticket report
///
/// Get tracking list device alias wise for open ticket report
///
/// device alias of van whom to ticket is assigned
/// ticket creation time
/// return tracking list
public JsonResult Report_GetTrackingHistoryDeviceAliasWise(string deviceAlias, DateTime creationTime)
{
objLog.AddLogFile("Report_GetTrackingHistoryDeviceAliasWise", DateTime.Now.ToString(ConfigurationManager.AppSettings["dateTimeFormat"]), path, logtf);
try
{
objTicketAdministrationRepository = new TicketAdministrationRepository();
//Get vehicle details
List oTrackingDetailsList = objTicketAdministrationRepository.GetTrackingListDeviceAliasWise(deviceAlias, creationTime);
//.GroupBy(g => g.Latitude).Select(s => s.FirstOrDefault()).ToList();
List