Example #1
0
 /// <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));
     }
 }
Example #2
0
        /// <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);
        }
Example #3
0
        /// <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);
        }
Example #4
0
        /// <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);
        }
Example #5
0
        /// <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);
        }
Example #6
0
        /// <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);
        }
Example #7
0
        /// <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);
        }