public async Task <DsResponse> LoadData(DsRequest request) { DsResponse response = null; try { var httpResponse = request.Mode switch { "Winrate" => await Http.PostAsJsonAsync("api/stats/winrate", request), "Timeline" => await Http.PostAsJsonAsync("api/stats/timeline", request), "MVP" => await Http.PostAsJsonAsync("api/stats/mvp", request), "DPS" => await Http.PostAsJsonAsync("api/stats/dps", request), "Synergy" => await Http.PostAsJsonAsync("api/stats/synergy", request), "AntiSynergy" => await Http.PostAsJsonAsync("api/stats/antisynergy", request), "Duration" => await Http.PostAsJsonAsync("api/stats/duration", request), "Standard" => await Http.PostAsJsonAsync("api/stats/teamstandard", request), _ => await Http.PostAsJsonAsync("api/stats/winrate", request) }; if (httpResponse.IsSuccessStatusCode) { return(request.Mode switch { "Winrate" => await httpResponse.Content.ReadFromJsonAsync <DsResponse>(), "Timeline" => await httpResponse.Content.ReadFromJsonAsync <TimelineResponse>(), "MVP" => await httpResponse.Content.ReadFromJsonAsync <DsResponse>(), "Duration" => await httpResponse.Content.ReadFromJsonAsync <TimelineResponse>(), "Standard" => await httpResponse.Content.ReadFromJsonAsync <DsResponse>(), _ => await httpResponse.Content.ReadFromJsonAsync <DsResponse>() }); }
public static ConfigBase GetChartConfig(DsResponse response) { var config = GetBarConfig(); config.Options.Title.Text = response.Interest; List <double> pointData = new List <double>(); foreach (var item in response.Items) { config.Data.Labels.Add(item.Label); pointData.Add(item.Count == 0 ? 0 : Math.Round((double)item.Wins * 100.0 / (double)item.Count, 2)); } var pointDataset = new BarDataset <double>(pointData) { Label = "global", BorderColor = DSData.CMDRcolor[response.Interest], BorderWidth = 2, }; config.Data.Datasets.Add(pointDataset); return(config); }
public static async Task <DsResponse> GetMvp(sc2dsstatsContext context, DsRequest request) { var data = await GetMVPData(context, request); var response = new DsResponse() { Interest = request.Interest, Count = data.Select(s => s.Id).Distinct().Count(), Items = new List <DsResponseItem>() }; response.AvgDuration = (int)((double)data.Sum(s => s.Duration) / (double)data.Count); foreach (var cmdr in Enum.GetValues <DSData.Commander>()) { var cmdrreps = (request.Interest == "ALL") switch { true => data.Where(x => x.Race == (byte)cmdr), false => data.Where(x => x.OppRace == (byte)cmdr) }; response.Items.Add(new DsResponseItem() { Label = cmdr.ToString(), Count = cmdrreps.Count(), Wins = cmdrreps.Where(x => x.MVP == true).Count() }); } return(response); }
private void button2_Click(object sender, EventArgs e) { DsResponse dsRes = null; DsRequest dsReq = new DsRequest(); Hashtable ht = new Hashtable(); try { dsReq = new DsRequest(); ht = new Hashtable(); dsReq.CommandId = "POS320401.SetUserInfo"; dsReq.CommandType = "C"; dsReq.htParam = ht; using (TS.Biz.BizPOS320401 objNTx = new TS.Biz.BizPOS320401()) { dsRes = objNTx.SetTestTransaction(dsReq); } dataGridView1.DataSource = dsRes.DtResult; } catch (Exception ex) { } finally { dsRes = null; dsReq = null; ht = null; } }
public static async Task <DsResponse> GetSynergy(sc2dsstatsContext context, DsRequest request) { var timestrings = DSData.Timestrings(request.Timespan); var results = context.DsTimeResults .Include(i => i.Teammates) .AsNoTracking() .Where(x => x.Player == request.Player && timestrings.Contains(x.Timespan) && x.Cmdr == request.Interest); var synresults = await results.ToListAsync(); int tcount = synresults.Sum(s => s.Count); var response = new DsResponse() { Interest = request.Interest, Count = tcount, AvgDuration = (int)(synresults.Sum(s => s.Duration) / tcount), Items = new List <DsResponseItem>() }; foreach (var cmdr in DSData.cmdrs) { var teammates = synresults.SelectMany(s => s.Teammates).Where(x => x.Cmdr == cmdr); int count = teammates.Sum(s => s.Count); response.Items.Add(new DsResponseItem() { Label = cmdr, Count = count / 6, Wins = teammates.Sum(s => s.Wins) }); } return(response); }
public DsResponse CommonTrn(DsRequest dsReq) { DsResponse dsRes = new DsResponse(dsReq); switch (dsReq.CommandType) { case "C": dsRes.objResult = IBatisNet2Helper.Instance.Insert(dsReq.CommandId, dsReq.htParam); break; case "U": dsRes.objResult = IBatisNet2Helper.Instance.Update(dsReq.CommandId, dsReq.htParam); break; case "D": dsRes.objResult = IBatisNet2Helper.Instance.Delete(dsReq.CommandId, dsReq.htParam); break; case "SP": ; break; case null: case "": case "R": default: dsRes.DtResult = IBatisNet2Helper.Instance.QueryForDataTable(dsReq.CommandId, dsReq.htParam); break; } return(dsRes); }
private async Task SetLeaverQuit(DsRequest request, DsResponse response) { // response.CountResponse = await GetCountResponse(request); response.CountResponse = new DsCountResponse() { FilteredCount = response.Count, Leaver = await GetLeaver(request), Quits = await GetQuits(request) }; }
public static bool AddChartDataSet(ConfigBase config, DsRequest request, DsResponse response) { return(request.ChartType switch { "Bar" => AddBarDataSet(config as BarConfig, request, response, false), "Line" => AddLineDataSet(config as LineConfig, request, response as TimelineResponse, true), "Radar" => AddRadarDataSet(config as RadarConfig, request, response, true), "Pie" => AddPieDataSet(config as PieConfig, request, response), _ => false });
public async Task LoadData(DsRequest Request, bool resetChart = true) { await semaphoreSlim.WaitAsync(); try { if (isLoading == false) { isLoading = true; await InvokeAsync(() => StateHasChanged()); } response = await dataService.LoadData(Request); if (response != null) { Request.Responses.Add(response); isDataAvailable = true; if (resetChart) { SetChartData(); if (Request.doReloadSelected && Request.CmdrsSelected != null) { var cmdrsSelected = Request.CmdrsSelected.Where(x => x.Selected && x.Name != Request.Interest); if (cmdrsSelected.Any()) { foreach (var cmdr in cmdrsSelected) { var cmdrrequest = new DsRequest(Request.Mode, Request.Timespan, Request.Player, cmdr.Name); var cmdrresponse = await dataService.LoadData(cmdrrequest); ChartService.AddChartDataSet(_config, cmdrrequest, cmdrresponse); chartComponent.Update(); } } } } } else { Info = "Failed loading data :("; } } catch (Exception e) { logger.LogError($"failed loading data: {e.Message}"); } finally { semaphoreSlim.Release(); } isLoading = false; await InvokeAsync(() => StateHasChanged()); }
public DsResponse CommonTrn(DsRequest dsReq) { DsResponse dsRes = null; using (DacCommon objTrn = new DacCommon()) { dsRes = objTrn.CommonTrn(dsReq); } return(dsRes); }
public static async Task <DsResponse> GetDpsFromTimeResults(sc2dsstatsContext context, DsRequest request) { var timestrings = DSData.Timestrings(request.Timespan); var results = context.DsTimeResults.AsNoTracking().Where(x => x.Player == request.Player && timestrings.Contains(x.Timespan)); if (request.Interest == "ALL") { results = results.Where(x => x.Opp == String.Empty); } else { results = results.Where(x => x.Cmdr == request.Interest); } var dpsresults = await results.ToListAsync(); int count = dpsresults.Sum(s => s.Count); var response = new DsResponse() { Interest = request.Interest, Count = request.Player ? count : count / 6, AvgDuration = (int)(dpsresults.Sum(s => s.Duration) / count), Items = new List <DsResponseItem>() }; foreach (var cmdr in DSData.cmdrs) { var cmdrresults = (request.Interest == "ALL") switch { true => dpsresults.Where(x => x.Cmdr == cmdr).ToList(), false => dpsresults.Where(x => x.Opp == cmdr).ToList(), }; var army = cmdrresults.Sum(s => s.Army); var kills = cmdrresults.Sum(s => s.Kills); var dpv = army / kills; response.Items.Add(new DsResponseItem() { Label = cmdr, Count = (int)(dpv * 10000), Wins = 10000 }); } return(response); }
public static async Task <DsResponse> GetWinrateFromTimeResults(sc2dsstatsContext context, DsRequest request) { var timestrings = DSData.Timestrings(request.Timespan); var results = context.DsTimeResults.AsNoTracking().Where(x => x.Player == request.Player && timestrings.Contains(x.Timespan)); if (request.Interest == "ALL") { results = results.Where(x => x.Opp == String.Empty); } else { results = results.Where(x => x.Cmdr == request.Interest); } var timeresults = await results.ToListAsync(); int tcount = timeresults.Sum(s => s.Count); var response = new DsResponse() { Interest = request.Interest, Count = timeresults.Sum(s => s.Count) / 6, AvgDuration = tcount == 0 ? 0 : (int)(timeresults.Sum(s => s.Duration) / tcount), Items = new List <DsResponseItem>() }; foreach (var cmdr in DSData.cmdrs) { var cmdrresults = (request.Interest == "ALL") switch { true => timeresults.Where(x => x.Cmdr == cmdr).ToList(), false => timeresults.Where(x => x.Opp == cmdr).ToList(), }; int count = cmdrresults.Sum(s => s.Count); response.Items.Add(new DsResponseItem() { Label = cmdr, Count = count, Wins = cmdrresults.Sum(s => s.Wins) }); } return(response); }
public DsResponse SetCommonTx(DsRequest dsR) { DsResponse dsRes = null; try { dsRes.dtResult = IBatisNet2Helper.Instance.QueryForDataTable("POS320401.GetUserInfo", dsR.htParam); dsRes.objResult = dsRes.dtResult.Rows.Count; } catch (Exception ex) { throw ex; } finally { } return(dsRes); }
public DsResponse SetTestTransaction(DsRequest dsReq) { try { DsResponse dsRes = null; Hashtable ht = null; IBatisNet2Helper.Instance.BeginTransaction(); using (DacCommon objTx = new DacCommon()) { ht = new Hashtable(); ht.Add("USER_ID", "Test11"); dsReq.htParam = ht; dsRes = objTx.CommonTrn(dsReq); dsReq.htParam["USER_ID"] = "Test12"; dsRes = objTx.CommonTrn(dsReq); dsReq.htParam["USER_ID"] = "Test11"; dsRes = objTx.CommonTrn(dsReq); ; } IBatisNet2Helper.Instance.CommitTransaction(); return(dsRes); } catch (Exception ex) { IBatisNet2Helper.Instance.RollBackTransaction(); throw ex; } }