using LoggingHelper;
using RestSharp;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Web;
namespace GODATA.Models.Report
{
public class AnalysisRepository
{
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"]);
///
/// 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 web api token from AppSetting in web.config file
///
private static string _securityToken = ConfigurationManager.AppSettings["RESTfulSecurityToken"].ToString();
///
/// Represent string object contain log status
///
string logtf = (ConfigurationManager.AppSettings["Log"]);
///
/// Represent string object contain Error log status
///
string errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]);
///
/// getting user's utc minutes from session
///
private static string _timeOffSetMinutes = null;
///
/// getting login user's id
///
private static string _LoginUserId = null;
///
/// Getting All Records based on From date , TO Date,state,EOS Van, Dealer, OpenTicket And Close Ticket if state is null no result of state is come
///
/// Contains IsClosedTickets, IsOpenTicket, IsVan, IsDealer, FromDate, ToDate and State
///
public Analysis GetAllRecords(Analysis objAnalysis)
{
try
{
_LoginUserId = HttpContext.Current.Session["UserId"].ToString();
_timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString();
var client = new RestSharp.RestClient(_RestClientUrl);
var request = new RestRequest("Api/Report?type=geo", Method.POST);
request.AddParameter("Token", _securityToken);
request.AddParameter("UtcMinute", _timeOffSetMinutes);
request.AddParameter("UserId", _LoginUserId);
request.AddParameter("IsClosedTickets", objAnalysis.IsClosedTickets);
request.AddParameter("IsOpenTicket", objAnalysis.IsOpenTicket);
request.AddParameter("IsVan", objAnalysis.IsVan);
request.AddParameter("IsDealer", objAnalysis.IsDealer);
request.AddParameter("FromDate", objAnalysis.FromDate + " " + DateTime.Now.ToString(ConfigurationManager.AppSettings["startTimeFormat"]));
request.AddParameter("ToDate", objAnalysis.ToDate + " " + DateTime.Now.ToString(ConfigurationManager.AppSettings["endTimeFormat"]));
request.AddParameter("State", objAnalysis.State);
return client.Execute(request).Data;
}
catch (Exception ex)
{
objLog.ErrorLogFile("GetOwnerList", ex.Message, path, errorlogtf);
throw ex;
}
}
#region Route wise breakdown report
///
/// Getting All Records based on From date , TO Date,state,EOS Van, Dealer, OpenTicket And Close Ticket if state is null no result of state is come
///
/// Contains IsClosedTickets, IsOpenTicket, IsVan, IsDealer, FromDate, ToDate and State
///
public Analysis GetAllRouteWiseBreakdownRecords(Analysis objAnalysis)
{
try
{
_LoginUserId = HttpContext.Current.Session["UserId"].ToString();
_timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString();
var client = new RestSharp.RestClient(_RestClientUrl);
var request = new RestRequest("Api/Report?type=georoutewise", Method.POST);
request.AddParameter("Token", _securityToken);
request.AddParameter("UserId", _LoginUserId);
request.AddParameter("FromDate", objAnalysis.FromDate + " " + DateTime.Now.ToString(ConfigurationManager.AppSettings["startTimeFormat"]));
request.AddParameter("ToDate", objAnalysis.ToDate + " " + DateTime.Now.ToString(ConfigurationManager.AppSettings["endTimeFormat"]));
request.AddParameter("RouteId", objAnalysis.RouteId);
return client.Execute(request).Data;
}
catch (Exception ex)
{
objLog.ErrorLogFile("GetOwnerList", ex.Message, path, errorlogtf);
throw ex;
}
}
///
/// Getting All Records based on From date , TO Date,state,EOS Van, Dealer, OpenTicket And Close Ticket if state is null no result of state is come
///
/// Contains IsClosedTickets, IsOpenTicket, IsVan, IsDealer, FromDate, ToDate and State
///
public Analysis GetRouteWiseBreakdownKpiData(Analysis objAnalysis)
{
try
{
_LoginUserId = HttpContext.Current.Session["UserId"].ToString();
_timeOffSetMinutes = HttpContext.Current.Session["UtcMinute"].ToString();
var client = new RestSharp.RestClient(_RestClientUrl);
var request = new RestRequest("Api/Report?type=countgeokpi", Method.POST);
request.AddParameter("Token", _securityToken);
request.AddParameter("UserId", _LoginUserId);
request.AddParameter("FromDate", objAnalysis.FromDate + " " + DateTime.Now.ToString(ConfigurationManager.AppSettings["startTimeFormat"]));
request.AddParameter("ToDate", objAnalysis.ToDate + " " + DateTime.Now.ToString(ConfigurationManager.AppSettings["endTimeFormat"]));
request.AddParameter("RouteId", objAnalysis.RouteId);
return client.Execute(request).Data;
}
catch (Exception ex)
{
objLog.ErrorLogFile("GetOwnerList", ex.Message, path, errorlogtf);
throw ex;
}
}
#endregion
}
}