/// <summary> /// 訪問WebAPI /// </summary> /// <param name="postData"></param> /// <param name="action"></param> /// <returns></returns> private async Task <HttpResponseMessage> GetReportAsync(AfterParameters postData, string action) { try { using (HttpClient client = new HttpClient()) { //Timeout時間5秒 client.Timeout = new System.TimeSpan(0, 0, TimeOut); // 指定 authorization header client.DefaultRequestHeaders.Add("authorization", "token {api token}"); // 準備寫入的 data //BeforeParameters postData = new BeforeParameters() { IdentityId = "test", UserId = "686026" }; // 將 data 轉為 json string json = JsonConvert.SerializeObject(postData); // 將轉為 string 的 json 依編碼並指定 content type 存為 httpcontent HttpContent contentPost = new StringContent(json, Encoding.UTF8, "application/json"); // 發出 post 並取得結果 // ReportUri = "http://localhost:19487/api/ReportAfter/"; HttpResponseMessage response = client.PostAsync(ReportUri + action, contentPost).Result; // 將回應結果內容取出並轉為 string 再透過 linqpad 輸出 //result = response.Content.ReadAsStringAsync().Result; //var result = JsonConvert.DeserializeObject<AgencyHeader>(sss.Result); return(response); } } catch (Exception ex) { return(new HttpResponseMessage(System.Net.HttpStatusCode.BadRequest)); } }
/// <summary> /// 後台終端報表 /// </summary> /// <param name="afterParameters"></param> /// <returns></returns> public DataSet GetSourceReport(AfterParameters afterParameters) { var response = GetReportAsync(afterParameters, "GetSourceReport"); var dataStr = response.Result.Content.ReadAsStringAsync().Result; var backData = JsonConvert.DeserializeObject <List <SourceReport> >(dataStr); //轉換前端Model List <ReportSource> reportSources = ConvertReport.ConvertReportSourceModel(backData); DataTable totalDataTable = new DataTable(); totalDataTable.Columns.Add(new DataColumn("totalCount", typeof(Int32))); var row = totalDataTable.NewRow(); row["totalCount"] = backData.Count; totalDataTable.Rows.Add(row); //分頁排序&分頁 reportSources = reportSources.OrderBy(o => o.group_name).ToList(); reportSources = reportSources.Skip((afterParameters.PageNum - 1) * afterParameters.PageSize).Take(afterParameters.PageSize).ToList(); DataSet ds = new DataSet(); ds.Tables.Add(totalDataTable); ds.Tables.Add(reportSources.ToDataTable <ReportSource>()); return(ds); }
/// <summary> /// 後台代理報表 /// </summary> /// <param name="afterParameters"></param> /// <returns></returns> public DataSet GetIntegratedReport(AfterParameters afterParameters) { var response = GetReportAsync(afterParameters, "GetIntegratedReport"); var dataStr = response.Result.Content.ReadAsStringAsync().Result; var backData = JsonConvert.DeserializeObject <List <IntegratedReport> >(dataStr); //轉換前端Model List <ReportIntegrated> reportIntegrateds = ConvertReport.ConvertReportIntegratedModel(backData); //DataTable totalDataTable = new DataTable(); //totalDataTable.Columns.Add(new DataColumn("totalCount", typeof(Int32))); //var row = totalDataTable.NewRow(); //row["totalCount"] = backData.Count; //totalDataTable.Rows.Add(row); DataSet ds = new DataSet(); if (reportIntegrateds.Count == 0) { reportIntegrateds.Add(new ReportIntegrated()); } ds.Tables.Add(reportIntegrateds.ToDataTable <ReportIntegrated>()); return(ds); }
/// <summary> /// 後台代理報表 /// </summary> /// <param name="afterParameters"></param> /// <returns></returns> public DataSet GetAgencyHender(AfterParameters afterParameters) { var response = GetReportAsync(afterParameters, "GetAgencyHender"); var dataStr = response.Result.Content.ReadAsStringAsync().Result; var backData = JsonConvert.DeserializeObject <List <AgentsReport> >(dataStr); //轉換前端Model List <ReportAgent> reportAgents = ConvertReport.ConvertReportAgentModel(backData); DataTable totalDataTable = new DataTable(); totalDataTable.Columns.Add(new DataColumn("totalCount", typeof(Int32))); var row = totalDataTable.NewRow(); row["totalCount"] = backData.Count; totalDataTable.Rows.Add(row); //分頁排序&分頁 reportAgents = reportAgents.OrderByDescending(o => o.TotalBettingAccount).ToList(); DataSet ds = new DataSet(); ds.Tables.Add(totalDataTable); ds.Tables.Add(reportAgents.ToDataTable <ReportAgent>()); return(ds); }
/// <summary> /// 等級報表 /// </summary> /// <param name="afterParameters"></param> /// <returns></returns> public string GetUserProfit(AfterParameters afterParameters) { var response = GetReportAsync(afterParameters, "GetUserProfit"); var dataStr = response.Result.Content.ReadAsStringAsync().Result; var backData = JsonConvert.DeserializeObject <string>(dataStr); return(backData); }
/// <summary> /// 平台彩種報表 /// </summary> /// <param name="afterParameters"></param> /// <returns></returns> public DataSet GetPlatformLotteryReport(AfterParameters afterParameters) { var response = GetReportAsync(afterParameters, "GetPlatformLotteryReport"); var dataStr = response.Result.Content.ReadAsStringAsync().Result; var backData = JsonConvert.DeserializeObject <List <LotteryReport> >(dataStr); //轉換前端Model List <ReportLottery> reportLotterys = ConvertReport.ConvertReportLotteryModel(backData); DataTable totalDataTable = new DataTable(); totalDataTable.Columns.Add(new DataColumn("totalCount", typeof(Int32))); var row = totalDataTable.NewRow(); row["totalCount"] = backData.Count; totalDataTable.Rows.Add(row); //分頁排序&分頁 switch (afterParameters.OrderBy) { case "profits_money desc": reportLotterys = reportLotterys.OrderByDescending(o => o.ProfitMoney).ToList(); break; case "profits_money asc": reportLotterys = reportLotterys.OrderBy(o => o.ProfitMoney).ToList(); break; case "profits_rates desc": reportLotterys = reportLotterys.OrderByDescending(o => o.ProfitRate).ToList(); break; //盈率递增 case "profits_rates asc": reportLotterys = reportLotterys.OrderBy(o => o.ProfitRate).ToList(); break; default: reportLotterys = reportLotterys.OrderByDescending(o => o.BetMoney).ToList(); break; } reportLotterys = reportLotterys.Skip((afterParameters.PageNum - 1) * afterParameters.PageSize).Take(afterParameters.PageSize).ToList(); DataSet ds = new DataSet(); ds.Tables.Add(totalDataTable); ds.Tables.Add(reportLotterys.ToDataTable <ReportLottery>()); return(ds); }
/// <summary> /// 會員報表-會員報表歷史 /// </summary> /// <param name="afterParameters"></param> /// <returns></returns> public DataSet GetUsersHistory(AfterParameters afterParameters) { var response = GetReportAsync(afterParameters, "GetUsersHistory"); var dataStr = response.Result.Content.ReadAsStringAsync().Result; var backData = JsonConvert.DeserializeObject <List <UsersHistoryReport> >(dataStr); //轉換前端Model List <ReportHistory> reportMembers = ConvertReport.ConvertReportHistoryMemberModel(backData); DataTable totalDataTable = new DataTable(); totalDataTable.Columns.Add(new DataColumn("totalCount", typeof(Int32))); var row = totalDataTable.NewRow(); row["totalCount"] = backData.Count; totalDataTable.Rows.Add(row); DataSet ds = new DataSet(); ds.Tables.Add(totalDataTable); ds.Tables.Add(reportMembers.ToDataTable <ReportHistory>()); return(ds); }