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 } }