EOS/Models/Report/AnalysisRepository.cs
Nidhi Bhargava f0c1ab20e1 code push
2025-09-04 16:25:07 +05:30

147 lines
6.8 KiB
C#

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();
/// <summary>
/// Represent string object contain log file path
/// </summary>
//string path = "~/Log/";
string path = System.Web.HttpContext.Current.Server.MapPath(ConfigurationManager.AppSettings["PathLog"]);
/// <summary>
/// getting time zone id from AppSetting in web.config file
/// </summary>
private static string _TimeZoneId = ConfigurationManager.AppSettings["TimeZoneId"].ToString();
/// <summary>
/// getting rest api url from AppSetting in web.config file
/// </summary>
private static string _RestClientUrl = ConfigurationManager.AppSettings["RestfulApiUrl"].ToString();
/// <summary>
/// getting web api token from AppSetting in web.config file
/// </summary>
private static string _securityToken = ConfigurationManager.AppSettings["RESTfulSecurityToken"].ToString();
/// <summary>
/// Represent string object contain log status
/// </summary>
string logtf = (ConfigurationManager.AppSettings["Log"]);
/// <summary>
/// Represent string object contain Error log status
/// </summary>
string errorlogtf = (ConfigurationManager.AppSettings["ErrorLog"]);
/// <summary>
/// getting user's utc minutes from session
/// </summary>
private static string _timeOffSetMinutes = null;
/// <summary>
/// getting login user's id
/// </summary>
private static string _LoginUserId = null;
/// <summary>
/// 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
/// </summary>
/// <param name="objAnalysis">Contains IsClosedTickets, IsOpenTicket, IsVan, IsDealer, FromDate, ToDate and State</param>
/// <returns></returns>
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<Analysis>(request).Data;
}
catch (Exception ex)
{
objLog.ErrorLogFile("GetOwnerList", ex.Message, path, errorlogtf);
throw ex;
}
}
#region Route wise breakdown report
/// <summary>
/// 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
/// </summary>
/// <param name="objAnalysis">Contains IsClosedTickets, IsOpenTicket, IsVan, IsDealer, FromDate, ToDate and State</param>
/// <returns></returns>
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<Analysis>(request).Data;
}
catch (Exception ex)
{
objLog.ErrorLogFile("GetOwnerList", ex.Message, path, errorlogtf);
throw ex;
}
}
/// <summary>
/// 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
/// </summary>
/// <param name="objAnalysis">Contains IsClosedTickets, IsOpenTicket, IsVan, IsDealer, FromDate, ToDate and State</param>
/// <returns></returns>
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<Analysis>(request).Data;
}
catch (Exception ex)
{
objLog.ErrorLogFile("GetOwnerList", ex.Message, path, errorlogtf);
throw ex;
}
}
#endregion
}
}