namespace VECV_WebApi.Models.Reports
{
#region Namespaces
using DBHelper;
using LoggingHelper;
using Npgsql;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using VECV_WebApi.Models.Authorization;
using VECV_WebApi.Models.Tracking;
using VECV_WebApi.Models.ServiceEngineer;
#endregion
#region Repository Class
///
/// This clas contain reports releted method
///
public class ReportsRepository
{
#region Global Variables
///
/// making object of LoggingUtility class available to this class
///
LoggingUtility objLog = new LoggingUtility();
///
/// making the data-log file path available to this class
///
string path = HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["PathLog"]);
///
/// making error log file path available to this class
///
string errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]);
///
/// making the Database connection string available to this class
///
private string _connStr = ConfigurationManager.ConnectionStrings["Vecv_GoData"].ToString();
///
/// making Authentication Repository object available to this class
///
AuthenticationRepository objAuthorization;
#endregion
#region Contructors
///
/// Default constructor intialize connection string of tracking database
///
public ReportsRepository(string connString)
{
this._connStr = connString;
}
#endregion
#region API Methods
///
/// To get EOS call count report data
///
/// date range and user info
/// status and EOS call count report data
public EosallCountRequestModel GetEosCallCountDetail(EosallCountRequestModel model)
{
List objList = new List();
EosallCountRequestModel objModel = new EosallCountRequestModel();
try
{
objAuthorization = new AuthenticationRepository();
if (objAuthorization.AuthenticateDevice(model.Token))
{
DataSet ds = new DataSet();
NpgsqlParameter[] nSqlParam = new NpgsqlParameter[8];
nSqlParam[0] = new NpgsqlParameter("inuser_id ", model.UserId);
nSqlParam[1] = new NpgsqlParameter("instart_date ", model.FromDate);
nSqlParam[2] = new NpgsqlParameter("inend_date ", model.ToDate);
nSqlParam[3] = new NpgsqlParameter("instate ", model.State);
nSqlParam[4] = new NpgsqlParameter("incity ", model.City);
nSqlParam[5] = new NpgsqlParameter("indealer_id ", model.DealerId);
nSqlParam[6] = new NpgsqlParameter("inlimit ", model.Limit);
nSqlParam[7] = new NpgsqlParameter("inoff_set ", model.Offset);
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_eos_call_count"], nSqlParam);
if (ds.Tables[0].Rows.Count > 0)
{
objList = ds.Tables[0].AsEnumerable().Select(s => new EosCallCountModel
{
MonthName = s.Field("_month_name").Trim(),
NoOfCalls = s.Field("total_record_count"),
Top23Reach2Hrs = s.Field("top_23_toatal_record_reach_within_2hrs"),
NonTop23Reach2Hrs = s.Field("non_top_23_toatal_record_reach_within_2hrs"),
ArtTop23 = s.Field("top_23_avg_time"),
ArtNonTop23 = s.Field("non_top_23_avg_time"),
Top23CallsClosed24Hrs = s.Field("top_23_closer_less_then_24hrs"),
NonTop23CallsClosed24Hrs = s.Field("non_top_23_closer_less_then_24hrs")
}).ToList();
}
objModel.Status = "1";
objModel.EosList = objList;
}
else
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
}
return objModel;
}
catch (Exception Ex)
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
objLog.ErrorLogFile("GetEosCallCountDetail", Ex.Message, path, errorlogtf);
return objModel;
}
}
///
/// To get hd lmd bus contribution report data
///
/// date range and user info
/// hd lmd bus contribution report data
public EosallCountRequestModel GetHdLmdBusContributionDetail(EosallCountRequestModel model)
{
EosallCountRequestModel objModel = new EosallCountRequestModel();
try
{
objAuthorization = new AuthenticationRepository();
if (objAuthorization.AuthenticateDevice(model.Token))
{
DataSet ds = new DataSet();
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("instate ", model.State);
nSqlParam[4] = new NpgsqlParameter("incity ", model.City);
nSqlParam[5] = new NpgsqlParameter("indealer_id ", model.DealerId);
nSqlParam[6] = new NpgsqlParameter("inlimit ", model.Limit);
nSqlParam[7] = new NpgsqlParameter("inoff_set ", model.Offset);
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_hd_lmd_and_bus_contribution"], nSqlParam);
if (ds.Tables[0].Rows.Count > 0)
{
//Get Hd,LMD,BUS call contribution list.
objModel.HdLmdBusContributionList = ds.Tables[0].AsEnumerable().Select(s => new HdLmdBusContribution
{
MonthName = s.Field("_month_name").Trim(),
BusCalls = s.Field("_bus_ticket_count"),
BusPer = s.Field("_bus_percent"),
HDCalls = s.Field("_hd_ticket_count"),
HdPer = s.Field("_hd_percent"),
LMDCalls = s.Field("_lmd_ticket_count"),
LmdPer = s.Field("_lmd_percent"),
TotalCalls = s.Field("total_record_count"),
BusPer_ = s.Field("_bus_ticket_count") > 0 ? s.Field("_bus_percent").ToString() : "-",
HdPer_ = s.Field("_hd_ticket_count") > 0 ? s.Field("_hd_percent").ToString() : "-",
LmdPer_ = s.Field("_lmd_ticket_count") > 0 ? s.Field("_lmd_percent").ToString() : "-"
}).ToList();
//Get HD,LMD,BUS Call Closed List.
objModel.HdLmdBusclosedList = ds.Tables[0].AsEnumerable().Select(s => new HdLmdBusCallClosedPercentage
{
MonthName = s.Field("_month_name").Trim(),
BusBeyond24Hrs = s.Field("_bus_closer_greater_then_24hrs_count"),
BusTotal = s.Field("_bus_closer_greater_then_24hrs_count") //== null
// ? 0 : s.Field("_bus_closer_greater_then_24hrs_count")
+ s.Field("_bus_closer_less_then_24hrs_count"),//== null ? 0 : s.Field("_bus_closer_less_then_24hrs_count"),
BusWithIn24Hrs = s.Field("_bus_closer_less_then_24hrs_count"),
BusWithIn24HrsPer = s.Field("_bus_percent_closer_less_then_24hrs"),
HdBeyond24Hrs = s.Field("_hd_closer_greater_then_24hrs_count"),
HdTotal = s.Field("_hd_closer_greater_then_24hrs_count")// == null
//? 0 : s.Field("_hd_closer_greater_then_24hrs_count")
+ s.Field("_hd_closer_less_then_24hrs_count"),//== null ? 0 : s.Field("_hd_closer_less_then_24hrs_count"),
HdWithIn24Hrs = s.Field("_hd_closer_less_then_24hrs_count"),
HdWithIn24HrsPer = s.Field("_hd_percent_closer_less_then_24hrs"),
LmdBeyond24Hrs = s.Field("_lmd_closer_greater_then_24hrs_count"),
LmdTotal = s.Field("_lmd_closer_greater_then_24hrs_count") //== null
//? 0 : s.Field("_lmd_closer_greater_then_24hrs_count")
+ s.Field("_lmd_closer_less_then_24hrs_count"),//== null ? 0 : s.Field("_lmd_closer_less_then_24hrs_count"),
LmdWithIn24Hrs = s.Field("_lmd_closer_less_then_24hrs_count"),
LmdWithIn24HrsPer = s.Field("_lmd_percent_closer_less_then_24hrs"),
BusWithIn24HrsPer_ = s.Field("_bus_closer_less_then_24hrs_count") > 0 ? s.Field("_bus_percent_closer_less_then_24hrs").ToString() : "-",
HdWithIn24HrsPer_ = s.Field("_hd_closer_less_then_24hrs_count") > 0 ? s.Field("_hd_percent_closer_less_then_24hrs").ToString() : "-",
LmdWithIn24HrsPer_ = s.Field("_lmd_closer_less_then_24hrs_count") > 0 ? s.Field("_lmd_percent_closer_less_then_24hrs").ToString() : "-"
}).ToList();
}
objModel.Status = "1";
}
else
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
}
return objModel;
}
catch (Exception Ex)
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
objLog.ErrorLogFile("GetHdLmdBusContributionDetail", Ex.Message, path, errorlogtf);
return objModel;
}
}
///
/// To get Dealer wise call detail report data
///
/// date range and user info
/// Dealer wise call detail report data
public EosallCountRequestModel GetDealerWiseCallDetail(EosallCountRequestModel model)
{
EosallCountRequestModel objModel = new EosallCountRequestModel();
try
{
objAuthorization = new AuthenticationRepository();
if (objAuthorization.AuthenticateDevice(model.Token))
{
DataSet ds = new DataSet();
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("instate ", model.State);
nSqlParam[4] = new NpgsqlParameter("incity_name", model.City);
nSqlParam[5] = new NpgsqlParameter("indealer_id ", model.DealerId);
nSqlParam[6] = new NpgsqlParameter("inlimit ", model.Limit);
nSqlParam[7] = new NpgsqlParameter("inoff_set ", model.Offset);
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_dealer_wise_call_details"], nSqlParam);
if (ds.Tables[0].Rows.Count > 0)
{
//Get Dealer Wise call Details list.
objModel.DealerWiseCallDetailList = ds.Tables[0].AsEnumerable().Select(s => new DealerWiseCallDetail
{
BusCall = s.Field("_bus_ticket_count"),
BusCallWithIn24Hrs = s.Field("_bus_closer_less_then_24hrs_count"),
BusCallWithIn24HrsPer = s.Field("_bus_percent_closer_less_then_24hrs"),
DealerName = s.Field("dealer_dealer_name").Trim(),
HdCall = s.Field("_hd_ticket_count"),
HdCallWithIn24Hrs = s.Field("_hd_closer_less_then_24hrs_count"),
HdCallWithIn24HrsPer = s.Field("_hd_percent_closer_less_then_24hrs"),
LmdCall = s.Field("_lmd_ticket_count"),
LmdCallWithIn24Hrs = s.Field("_lmd_closer_less_then_24hrs_count"),
LmdCallWithIn24HrsPer = s.Field("_lmd_percent_closer_less_then_24hrs"),
TotalCall = s.Field("total_record_count"),
TotalCallWithIn24Hrs = s.Field("_total_closer_less_then_24hrs"),
TotalCallWithIn24HrsPer = s.Field("_total_percent_closer_less_then_24hrs"),
BusCallWithIn24HrsPer_ = s.Field("_bus_closer_less_then_24hrs_count") > 0 ? s.Field("_bus_percent_closer_less_then_24hrs").ToString() : "-",
HdCallWithIn24HrsPer_ = s.Field("_hd_closer_less_then_24hrs_count") > 0 ? s.Field("_hd_percent_closer_less_then_24hrs").ToString() : "-",
LmdCallWithIn24HrsPer_ = s.Field("_lmd_closer_less_then_24hrs_count") > 0 ? s.Field("_lmd_percent_closer_less_then_24hrs").ToString() : "-",
TotalCallWithIn24HrsPer_ = s.Field("_total_closer_less_then_24hrs") > 0 ? s.Field("_total_percent_closer_less_then_24hrs").ToString() : "-",
}).ToList();
}
objModel.Status = "1";
}
else
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
}
return objModel;
}
catch (Exception Ex)
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
objLog.ErrorLogFile("GetDealerWiseCallDetail", Ex.Message, path, errorlogtf);
return objModel;
}
}
///
/// To get Time Slot Clouser detail report data
///
/// date range and user info
/// Time Slot Clouser detail report data
public EosallCountRequestModel GetTimeSlotClouserDetail(EosallCountRequestModel model)
{
EosallCountRequestModel objModel = new EosallCountRequestModel();
try
{
objAuthorization = new AuthenticationRepository();
if (objAuthorization.AuthenticateDevice(model.Token))
{
DataSet ds = new DataSet();
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("instate ", model.State);
nSqlParam[4] = new NpgsqlParameter("incity ", model.City);
nSqlParam[5] = new NpgsqlParameter("indealer_id ", model.DealerId);
nSqlParam[6] = new NpgsqlParameter("inlimit ", model.Limit);
nSqlParam[7] = new NpgsqlParameter("inoff_set ", model.Offset);
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_time_slot_wise"], nSqlParam);
if (ds.Tables[0].Rows.Count > 0)
{
objModel.TimeSlotClouserDetailList = ds.Tables[0].AsEnumerable().Select(s => new TimeSlotClouser
{
TimeSlot = s.Field("_time_slot_wise").Trim(),
Less24Hrs = s.Field("_less_then_24hrs"),
Less24HrsPer = s.Field("_less_then_24hrs_percent"),
Calls24HrsTo48Hrs = s.Field("_between_24_to_48hrs"),
Calls24HrsTo48HrsPer = s.Field("_between_24_to_48hrs_percent"),
Calls48HrsTo72Hrs = s.Field("_between_48_to_72hrs"),
Calls48HrsTo72HrsPer = s.Field("_between_48_to_72hrs_percent"),
Calls72HrsTo96Hrs = s.Field("_between_72_to_96hrs"),
Calls72HrsTo96HrsPer = s.Field("_between_72_to_96hrs_percent"),
Greater96Hrs = s.Field("_greater_then_96hrs"),
Greater96HrsPer = s.Field("_greater_then_96hrs_percent"),
GrandTotal = s.Field("_record_count1"),
}).ToList();
}
objModel.Status = "1";
}
else
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
}
return objModel;
}
catch (Exception Ex)
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
objLog.ErrorLogFile("GetTimeSlotClouserDetail", Ex.Message, path, errorlogtf);
return objModel;
}
}
///
/// To get Reason for Call closed > 24hrs report data
///
/// date rabge and user info
/// status and Reason for Call closed > 24hrs report data
public EosallCountRequestModel GetReasonCallCloseBeyond24HrsDetail(EosallCountRequestModel model)
{
EosallCountRequestModel objModel = new EosallCountRequestModel();
try
{
objAuthorization = new AuthenticationRepository();
if (objAuthorization.AuthenticateDevice(model.Token))
{
DataSet ds = new DataSet();
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("instate ", model.State);
nSqlParam[4] = new NpgsqlParameter("incity ", model.City);
nSqlParam[5] = new NpgsqlParameter("indealer_id ", model.DealerId);
nSqlParam[6] = new NpgsqlParameter("inlimit ", model.Limit);
nSqlParam[7] = new NpgsqlParameter("inoff_set ", model.Offset);
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_greater_then_24hrs_closer_reason"], nSqlParam);
if (ds.Tables[0].Rows.Count > 0)
{
//Get Reason Call Closed Beyond 24Hrs List
objModel.ReasonCallClosedBeyond24HrsList = ds.Tables[0].AsEnumerable().Select(s => new ReasonCallClosedBeyond24Hrs
{
DealerName = s.Field("dealer_dealer_name").Trim(),
FIP = s.Field("FIP"),
GearBoxProblem = s.Field("Gear Box Problem"),
Major = s.Field("Major"),
MajorDiffrentialProblem = s.Field("Major Differential Problem"),
MajorEngineProblem = s.Field("Major Engine Problem"),
Other = s.Field("Other"),
PaymentApproaval = s.Field("Payment Approval"),
SparePartsNotAvailable = s.Field("Spare Parts Not Available"),
TechnicianNotAvailable = s.Field("Technician Not Available"),
Total = s.Field("FIP") + s.Field("Gear Box Problem") + s.Field("Major") + s.Field("Major Differential Problem") +
s.Field("Major Engine Problem") + s.Field("Payment Approval") + s.Field("Spare Parts Not Available") + s.Field("Technician Not Available") + s.Field("Other")
}).ToList();
}
objModel.Status = "1";
}
else
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
}
return objModel;
}
catch (Exception Ex)
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
objLog.ErrorLogFile("GetReasonCallCloseBeyond24HrsDetail", Ex.Message, path, errorlogtf);
return objModel;
}
}
///
/// To get Opportunity loss report
///
/// date range and user info
/// Opportunity loss report
public EosallCountRequestModel GetOpportunityLossReport(EosallCountRequestModel model)
{
EosallCountRequestModel objModel = new EosallCountRequestModel();
try
{
objAuthorization = new AuthenticationRepository();
if (objAuthorization.AuthenticateDevice(model.Token))
{
DataSet ds = new DataSet();
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("instate ", model.State);
nSqlParam[4] = new NpgsqlParameter("incity ", model.City);
nSqlParam[5] = new NpgsqlParameter("indealer_id ", model.DealerId);
nSqlParam[6] = new NpgsqlParameter("inlimit ", model.Limit);
nSqlParam[7] = new NpgsqlParameter("inoff_set ", model.Offset);
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_opportunity_loss_reason"], nSqlParam);
if (ds.Tables[0].Rows.Count > 0)
{
//Get Eos Opportunity Loss
objModel.EosOpportunityLoss = ds.Tables[0].AsEnumerable().Select(s => new EosOpportunityLoss
{
DealerTakingTooMuchTime = s.Field("dealer_taking_too_much_time"),
EosChargesHigh = s.Field("eos_charges_is_high"),
GrandTotal = s.Field("_total_count"),
LocalTechCome = s.Field("local_tech_came_himself_and_repair_the_vehicle"),
Other = s.Field("other"),
Region = s.Field("region").Trim(),
}).ToList();
}
objModel.Status = "1";
}
else
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
}
return objModel;
}
catch (Exception Ex)
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
objLog.ErrorLogFile("GetOpportunityLossReport", Ex.Message, path, errorlogtf);
return objModel;
}
}
///
/// To get Toll Free no Source report
///
/// date range and user info
/// status and Toll Free no Source report
public EosallCountRequestModel GetTollFreeNoSourceReport(EosallCountRequestModel model)
{
EosallCountRequestModel objModel = new EosallCountRequestModel();
try
{
objAuthorization = new AuthenticationRepository();
if (objAuthorization.AuthenticateDevice(model.Token))
{
DataSet ds = new DataSet();
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("instate ", model.State);
nSqlParam[4] = new NpgsqlParameter("incity ", model.City);
nSqlParam[5] = new NpgsqlParameter("indealer_id ", model.DealerId);
nSqlParam[6] = new NpgsqlParameter("inlimit ", model.Limit);
nSqlParam[7] = new NpgsqlParameter("inoff_set ", model.Offset);
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_toll_free_no_source"], nSqlParam);
if (ds.Tables[0].Rows.Count > 0)
{
// Get Eos Toll Free Call Source report.
objModel.EosTollFreeCallSource = ds.Tables[0].AsEnumerable().Select(s => new EosTollFreeCallSource
{
AlreadyAware = s.Field("already_aware"),
CoDriver = s.Field("co_driver"),
Dealer = s.Field("_dealer"),
GrandTotal = s.Field("_total_count"),
Internet = s.Field("_internet"),
Maanger = s.Field("_manage"),
MonthName = s.Field("month").Trim(),
Other = s.Field("_other"),
Owner = s.Field("_owner"),
ServiceBook = s.Field("service_book"),
SMS = s.Field("_sms"),
VehicleSticker = s.Field("vehicle_sticker"),
}).ToList();
}
objModel.Status = "1";
}
else
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
}
return objModel;
}
catch (Exception Ex)
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
objLog.ErrorLogFile("GetTollFreeNoSourceReport", Ex.Message, path, errorlogtf);
return objModel;
}
}
///
/// To get LMD & HD - Call Closure % report
///
/// date range and user info
/// status and LMD & HD - Call Closure % report
public EosallCountRequestModel GetHdLmdBusCallCloserReport(EosallCountRequestModel model)
{
EosallCountRequestModel objModel = new EosallCountRequestModel();
try
{
objAuthorization = new AuthenticationRepository();
if (objAuthorization.AuthenticateDevice(model.Token))
{
DataSet ds = new DataSet();
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("instate ", model.State);
nSqlParam[4] = new NpgsqlParameter("incity ", model.City);
nSqlParam[5] = new NpgsqlParameter("indealer_id ", model.DealerId);
nSqlParam[6] = new NpgsqlParameter("inlimit ", model.Limit);
nSqlParam[7] = new NpgsqlParameter("inoff_set ", model.Offset);
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_hd_lmd_bus_call_closer"], nSqlParam);
if (ds.Tables[0].Rows.Count > 0)
{
//Get Hd Lmd Bus Call CLoser details
objModel.HdLmdBusCallCLoser = ds.Tables[0].AsEnumerable().Select(s => new HdLmdBusCallCLoser
{
CallCountBeyond24Hrs = s.Field("_closer_greater_then_24hrs_count"),
CallCountLess24Hrs = s.Field("_closer_less_then_24hrs_count"),
CallPercentageBeyond24Hrs_ = s.Field("_closer_greater_then_24hrs_count_bus_percent") > 0 ? s.Field("_closer_greater_then_24hrs_count_bus_percent").ToString() : "-",
CallPercentageBeyond24Hrs = s.Field("_closer_greater_then_24hrs_count_bus_percent"),
CallPercentageLess24Hrs = s.Field("_closer_less_then_24hrs_count_precent"),
CallPercentageLess24Hrs_ = s.Field("_closer_less_then_24hrs_count_precent") > 0 ? s.Field("_closer_less_then_24hrs_count_precent").ToString() : "-",
Product = s.Field("_vehicle_type").Trim(),
TotalCallCount = s.Field("_total_count")
}).ToList();
}
objModel.Status = "1";
}
else
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
}
return objModel;
}
catch (Exception Ex)
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
objLog.ErrorLogFile("GetHdLmdBusCallCloserReport", Ex.Message, path, errorlogtf);
return objModel;
}
}
///
/// To get Reason for Call closed beyond 24hrs report
///
/// date range and user info
/// status and Reason for Call closed beyond 24hrs report
public EosallCountRequestModel GetReasonWiseCallClosedBeyond24Hrs(EosallCountRequestModel model)
{
EosallCountRequestModel objModel = new EosallCountRequestModel();
try
{
objAuthorization = new AuthenticationRepository();
if (objAuthorization.AuthenticateDevice(model.Token))
{
DataSet ds = new DataSet();
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("instate ", model.State);
nSqlParam[4] = new NpgsqlParameter("incity ", model.City);
nSqlParam[5] = new NpgsqlParameter("indealer_id ", model.DealerId);
nSqlParam[6] = new NpgsqlParameter("inlimit ", model.Limit);
nSqlParam[7] = new NpgsqlParameter("inoff_set ", model.Offset);
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_reason_call_closed_beyond_24hrs"], nSqlParam);
if (ds.Tables[0].Rows.Count > 0)
{
// get Reason Wise Call Closed Beyond 24 Hrs.
objModel.ReasonWiseCallClosedBeyond24Hrs = ds.Tables[0].AsEnumerable().Select(s => new ReasonWiseCallClosedBeyond24Hrs
{
Buses = s.Field("bus"),
HD = s.Field("hd"),
LMD = s.Field("lmd"),
Reason = s.Field("reason_name").Trim(),
}).ToList();
}
objModel.Status = "1";
}
else
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
}
return objModel;
}
catch (Exception Ex)
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
objLog.ErrorLogFile("GetReasonWiseCallClosedBeyond24Hrs", Ex.Message, path, errorlogtf);
return objModel;
}
}
///
/// To get Eos call Count details.
///
/// date range and user info
/// status and Eos call Count details
public EosallCountRequestModel GetEosFeedBackCallFeedBackParameter(EosallCountRequestModel model)
{
EosallCountRequestModel objModel = new EosallCountRequestModel();
try
{
objAuthorization = new AuthenticationRepository();
if (objAuthorization.AuthenticateDevice(model.Token))
{
DataSet dsCurrent = new DataSet();
DataSet dsPreviouse = new DataSet();
DataSet dsCurrentEos = new DataSet();
DataSet dsPreviouseEos = new DataSet();
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("instate ", model.State);
nSqlParam[4] = new NpgsqlParameter("incity ", model.City);
nSqlParam[5] = new NpgsqlParameter("indealer_id ", model.DealerId);
nSqlParam[6] = new NpgsqlParameter("inlimit ", model.Limit);
nSqlParam[7] = new NpgsqlParameter("inoff_set ", model.Offset);
dsCurrent = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_call_feedback_rating"], nSqlParam);
dsCurrentEos = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_call_feedback_rating_percentage"], nSqlParam);
nSqlParam[1] = new NpgsqlParameter("instart_date ", model.FromDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)).AddYears(-1));
nSqlParam[2] = new NpgsqlParameter("inend_date ", model.ToDate.AddMinutes(Convert.ToInt32(-model.UtcMinute)).AddYears(-1));
dsPreviouse = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_call_feedback_rating"], nSqlParam);
dsPreviouseEos = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_call_feedback_rating_percentage"], nSqlParam);
if (dsCurrent.Tables[0].Rows.Count > 0)
{
//get Current Year Eos Feedback details
objModel.CurrentYearEosFeedback = dsCurrent.Tables[0].AsEnumerable().Select(s => new EosCallFeedBackParameter
{
Category = "EOS",
EasyGettingCall = s.Field("_feedback_ease_of_getting_call"),
EosCharges = s.Field("_feedback_eos_charges"),
MonthName = s.Field("_month_name").Trim(),
OverAllExperience = s.Field("_feedback_over_all_experience"),
RepairTime = s.Field("_feedback_total_repair_time"),
ResponseOfCall = s.Field("_feedback_response_of_call_center"),
TimelyUpdation = s.Field("_feedback_timely_updation_by_dealer")
}).ToList();
}
//get Previous Year Eos Feedback details
if (dsPreviouse.Tables[0].Rows.Count > 0)
{
objModel.PreviousYearEosFeedback = dsPreviouse.Tables[0].AsEnumerable().Select(s => new EosCallFeedBackParameter
{
Category = "EOS",
EasyGettingCall = s.Field("_feedback_ease_of_getting_call"),
EosCharges = s.Field("_feedback_eos_charges"),
MonthName = s.Field("_month_name").Trim(),
OverAllExperience = s.Field("_feedback_over_all_experience"),
RepairTime = s.Field("_feedback_total_repair_time"),
ResponseOfCall = s.Field("_feedback_response_of_call_center"),
TimelyUpdation = s.Field("_feedback_timely_updation_by_dealer")
}).ToList();
}
//get Current Year Eos Feedback Rating details
if (dsCurrentEos.Tables[0].Rows.Count > 0)
{
objModel.CurrentYearEosFeedbackRating = dsCurrentEos.Tables[0].AsEnumerable().Select(s => new EosCallFeedBackRating
{
MonthName = s.Field("_month_name").Trim(),
Eos = s.Field("month_feedback_percentage")
}).ToList();
}
//get Previous Year Eos Feedback Rating details
if (dsPreviouseEos.Tables[0].Rows.Count > 0)
{
objModel.PreviousYearEosFeedbackRating = dsPreviouseEos.Tables[0].AsEnumerable().Select(s => new EosCallFeedBackRating
{
MonthName = s.Field("_month_name").Trim(),
Eos = s.Field("month_feedback_percentage")
}).ToList();
}
objModel.Status = "1";
}
else
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
}
return objModel;
}
catch (Exception Ex)
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
objLog.ErrorLogFile("GetReasonWiseCallClosedBeyond24Hrs", Ex.Message, path, errorlogtf);
return objModel;
}
}
///
/// To get data for Geo Analysis Report.
///
/// date range and user info
/// status and data for Geo Analysis Report
public EosallCountRequestModel GeoAnalysis(EosallCountRequestModel model)
{
EosallCountRequestModel objModel = new EosallCountRequestModel();
ServiceEngineerRepository objDealerVan = new ServiceEngineerRepository(_connStr);
VanModel objModelVan = new VanModel();
Analysis objAnalysis = new Analysis();
List objAnalysisModel = new List();
try
{
DataSet dsOpenTickets = new DataSet();
DataSet dsClosedTickets = new DataSet();
DataSet dsDealerVan = new DataSet();
objAuthorization = new AuthenticationRepository();
if (objAuthorization.AuthenticateDevice(model.Token))
{
objModelVan.UserId = (Int64)model.UserId;
// Get Dealer Details for geo analysis report.
if (model.IsDealer.Trim().ToUpper() == "TRUE")
{
dsDealerVan = objDealerVan.GetVanDetailUserIdWise(objModelVan);
objAnalysisModel = dsDealerVan.Tables[0].AsEnumerable().Select(s => new GeoAnalysisTicketModel
{
Id = s.Field("dealer_id"),
DealerName = s.Field("dealer_dealer_name"),
City = s.Field("dealer_city"),
State = s.Field("dealer_state"),
DefaultLattitude = s.Field("dealer_dealer_default_lattitude"),
DefaultLongitude = s.Field("dealer_dealer_default_longitude"),
OrganizationName = s.Field("_organization_name"),
DealerContact = s.Field("dealer_contact_number1")
}).ToList();
objAnalysisModel.RemoveAll(item => String.IsNullOrEmpty(item.DealerName));
objAnalysis.lsDealerDetl = objAnalysisModel;
}
// Get VAN Details for geo analysis report.
if (model.IsVan.Trim().ToUpper() == "TRUE")
{
dsDealerVan = objDealerVan.GetVanDetailUserIdWise(objModelVan);
objAnalysisModel = dsDealerVan.Tables[0].AsEnumerable().Select(s => new GeoAnalysisTicketModel
{
Id = s.Field("van_id"),
DefaultLattitude = s.Field("van_van_default_lattitude"),
DefaultLongitude = s.Field("van_van_default_longitude"),
City = s.Field("van_city"),
State = s.Field("van_state"),
VanVanModelNo = s.Field("van_van_model"),
VanRegistrationNumber = s.Field("van_registration_number"),
VanVanRegisteredAs = s.Field("van_van_registered_as"),
OrganizationName = s.Field("_organization_name"),
ServiceEnggName = s.Field("_service_engineer_name"),
ServiceEnggContactNumber = s.Field("service_engineer_contact_number"),
DealerName = s.Field("dealer_dealer_name"),
DealerContact = s.Field("dealer_contact_number1")
}).ToList();
objAnalysisModel.RemoveAll(item => String.IsNullOrEmpty(item.ServiceEnggName));
objAnalysis.lsEOSVAN = objAnalysisModel;
}
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("instate", model.State);
// Get OpenTicket Details for geo analysis report.
if (model.IsOpenTicket.Trim().ToUpper() == "TRUE")
{
dsOpenTickets = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_geo_open_tickets"], nSqlParam);
objAnalysisModel = dsOpenTickets.Tables[0].AsEnumerable().Select(s => new GeoAnalysisTicketModel
{
Id = s.Field("_ticket_id"),
CustomerName = s.Field("_customer_name"),
CustomerContactNumber = s.Field("_customer_contact_no"),
CreationTime = s.Field("_creation_time") != null ? Convert.ToDateTime(s.Field("_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
DealerName = s.Field("_dealer_name"),
AssignTo = s.Field("_assigned_to"),
SlaMet = s.Field("sla_met").ToString(),
ServiceEnggName = s.Field("_van_dealer_name"),
DealerContact = s.Field("_dealer_contact_number1"),
TicketStatusAlias = s.Field("_ticket_status_alias"),
VehicleModelTagging = s.Field("_customer_vehicle_model_tagging"),
DefaultLattitude = s.Field("_breakdown_lattitude"),
DefaultLongitude = s.Field("_breakdown_longitude"),
State = s.Field("_state_name"),
TicketIdAlias = s.Field("_ticket_id_alias")
}).ToList();
objAnalysis.lsOpenTicket = objAnalysisModel;
}
// Get Closed Tickets Details for geo analysis report.
if (model.IsClosedTickets.Trim().ToUpper() == "TRUE")
{
dsClosedTickets = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_geo_closed_tickets"], nSqlParam);
objAnalysisModel = dsClosedTickets.Tables[0].AsEnumerable().Select(s => new GeoAnalysisTicketModel
{
Id = s.Field("_ticket_id"),
CustomerName = s.Field("_customer_name"),
CustomerContactNumber = s.Field("_customer_contact_no"),
CreationTime = s.Field("_creation_time") != null ? Convert.ToDateTime(s.Field("_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
DealerName = s.Field("_dealer_name"),
AssignTo = s.Field("_assigned_to"),
SlaMet = s.Field("sla_met").ToString(),
ServiceEnggName = s.Field("_van_dealer_name"),
DealerContact = s.Field("_dealer_contact_number1"),
TicketStatusAlias = s.Field("_ticket_status_alias"),
VehicleModelTagging = s.Field("_customer_vehicle_model_tagging"),
DefaultLattitude = s.Field("_breakdown_lattitude"),
DefaultLongitude = s.Field("_breakdown_longitude"),
State = s.Field("_state_name"),
TicketIdAlias = s.Field("_ticket_id_alias")
}).ToList();
objAnalysis.lsCloseTicket = objAnalysisModel;
}
objModel.GeoAnalysisModelReport = objAnalysis;
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;
}
///
/// To get data for Geo Analysis Report Route Wise.
///
/// date range and Route Id
/// status and data for Geo Analysis Report
public EosallCountRequestModel GeoRouteAnalysis(EosallCountRequestModel model)
{
EosallCountRequestModel objModel = new EosallCountRequestModel();
ServiceEngineerRepository objDealerVan = new ServiceEngineerRepository(_connStr);
VanModel objModelVan = new VanModel();
Analysis objAnalysis = new Analysis();
List objAnalysisModel = new List();
try
{
DataSet dsClosedTickets = new DataSet();
objAuthorization = new AuthenticationRepository();
if (objAuthorization.AuthenticateDevice(model.Token))
{
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("inroute_id", model.RouteId);
// Get Closed Tickets Details for geo analysis report.
dsClosedTickets = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_geo_closed_tickets_by_route_wise"], nSqlParam);
objAnalysisModel = dsClosedTickets.Tables[0].AsEnumerable().Select(s => new GeoAnalysisTicketModel
{
TicketIdAlias = s.Field("_ticket_id_alias"),
AssignTo = s.Field("_assigned_to"),
CreationTime = s.Field("_creation_time") != null ? Convert.ToDateTime(s.Field("_creation_time")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]) : Convert.ToDateTime(s.Field("_creation_time")).ToString(ConfigurationManager.AppSettings["DateTimeFormat"]),
Route = s.Field("_route_alias"),
VanRegistrationNumber = s.Field("_van_dealer_name"),
State = s.Field("_state_name"),
City = s.Field("_city_name"),
CustomerName = s.Field("_customer_name"),
CustomerContactNumber = s.Field("_customer_contact_no"),
DealerName = s.Field("_dealer_name"),
DealerContact = s.Field("_dealer_contact_number1"),
VehicleModelTagging = s.Field("_customer_vehicle_model_tagging"),
SlaMet = s.Field("sla_met").ToString(),
ServiceEnggName = s.Field("_van_dealer_name"),
TicketStatusAlias = s.Field("_ticket_status_alias"),
DefaultLattitude = s.Field("_breakdown_lattitude"),
DefaultLongitude = s.Field("_breakdown_longitude"),
Id = s.Field("_ticket_id"),
}).ToList();
objAnalysis.lsCloseTicket = objAnalysisModel;
objModel.GeoAnalysisModelReport = objAnalysis;
objModel.Status = "1";
}
else
{
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
objModel.Status = "0";
}
}
catch (Exception Ex)
{
objLog.ErrorLogFile("GetCloseTicketDetailByRouteWise", Ex.Message, path, errorlogtf);
objModel.Message = Ex.Message;
objModel.Status = "0";
}
return objModel;
}
///
/// To get data for Average Response Time / Average Closure Time For Geo Analysis Report.
///
/// date range and Route Id
/// status and data for Geo Analysis Report
public EosallCountRequestModel CountGeoRouteAnalysis(EosallCountRequestModel model)
{
EosallCountRequestModel objModel = new EosallCountRequestModel();
ServiceEngineerRepository objDealerVan = new ServiceEngineerRepository(_connStr);
VanModel objModelVan = new VanModel();
Analysis objAnalysis = new Analysis();
List objAnalysisModel = new List();
try
{
DataSet dsClosedTickets = new DataSet();
objAuthorization = new AuthenticationRepository();
if (objAuthorization.AuthenticateDevice(model.Token))
{
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("inroute_id", model.RouteId);
// Get Closed Tickets Details for geo analysis report.
dsClosedTickets = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_geo_analysis_kpi_count"], nSqlParam);
objAnalysisModel = dsClosedTickets.Tables[0].AsEnumerable().Select(s => new GeoAnalysisTicketModel
{
Key = s.Field("_key"),
KeyName = s.Field("_key_name"),
KeyValue = s.Field("_key_value"),
}).ToList();
objAnalysis.lsCloseTicket = objAnalysisModel;
objModel.GeoAnalysisModelReport = objAnalysis;
objModel.Status = "1";
}
else
{
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
objModel.Status = "0";
}
}
catch (Exception Ex)
{
objLog.ErrorLogFile("CountGeoRouteAnalysis", Ex.Message, path, errorlogtf);
objModel.Message = Ex.Message;
objModel.Status = "0";
}
return objModel;
}
///
/// To get dealer wise decline report.
///
/// date range and user info
/// status and dealer wise decline report
public EosallCountRequestModel GetDeclinedReport(EosallCountRequestModel model)
{
EosallCountRequestModel objModel = new EosallCountRequestModel();
try
{
objAuthorization = new AuthenticationRepository();
if (objAuthorization.AuthenticateDevice(model.Token))
{
DataSet ds = new DataSet();
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("instate ", model.State);
nSqlParam[4] = new NpgsqlParameter("incity ", model.City);
nSqlParam[5] = new NpgsqlParameter("indealer_id ", model.DealerId);
nSqlParam[6] = new NpgsqlParameter("inlimit ", model.Limit);
nSqlParam[7] = new NpgsqlParameter("inoff_set ", model.Offset);
ds = NpgSqlHelper.ExecuteDataset(_connStr, CommandType.StoredProcedure, ConfigurationManager.AppSettings["usp_get_report_dealer_wise_declined_ticket"], nSqlParam);
if (ds.Tables[0].Rows.Count > 0)
{
objModel.DeclinedReportsDealerWise = ds.Tables[0].AsEnumerable().Select(s => new DeclinedReports
{
DealerName = s.Field("_dealer_name"),
TicketId = s.Field("_tickets_closed_id"),
CreationDate = s.Field("_ticket_creation_date") != null ? Convert.ToDateTime(s.Field("_ticket_creation_date")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["DateFormat"]) : Convert.ToDateTime(s.Field("_ticket_creation_date")).ToString(ConfigurationManager.AppSettings["DateFormat"]),
CreationTime = s.Field("_ticket_creation_date") != null ? Convert.ToDateTime(s.Field("_ticket_creation_date")).AddMinutes(model.UtcMinute).ToString(ConfigurationManager.AppSettings["TimeFormat"]) : Convert.ToDateTime(s.Field("_ticket_creation_date")).ToString(ConfigurationManager.AppSettings["TimeFormat"]),
VehicleRegNo = s.Field("_vehicle_registration_number"),
DealerId = s.Field("_dealer_dealer_id"),
ServiceEngg = s.Field("_dealer_van_name"),
VehicleModelTag = s.Field("_vehicle_model_tagging"),
DeclinedReason = s.Field("_remarks"),
VanRegNo = s.Field("_registration_number"),
Organization = s.Field("_organization_organization_region"),
TicketIdAlias = s.Field("_ticket_id_alias")
}).ToList();
}
objModel.Status = "1";
}
else
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["DeviceConfigurationTokenMessage"].ToString();
}
return objModel;
}
catch (Exception Ex)
{
objModel.Status = "0";
objModel.Message = ConfigurationManager.AppSettings["PwdErrorMsg"].ToString() + Ex.Message;
objLog.ErrorLogFile("GetReasonWiseCallClosedBeyond24Hrs", Ex.Message, path, errorlogtf);
return objModel;
}
}
///