public IActionResult Add([FromBody] HeritageGameAnalysisDto item) { //set bad reqeust if contact data is not provided in body if (item == null) { return(BadRequest()); } CalculateRouteValues(item); var heritageGameAnalysis = _mapper.Map <HeritageGameAnalysis> (item); heritageGameAnalysis.CreatedOn = DateTime.Now; heritageGameAnalysis.ModifiedOn = DateTime.Now; _context.HeritageGameAnalyses.Add(heritageGameAnalysis); _context.SaveChanges(); item = _mapper.Map <HeritageGameAnalysisDto> (heritageGameAnalysis); return(Ok(item)); }
private void CalculateRouteValues(HeritageGameAnalysisDto gameAnalysis) { gameAnalysis.Route1 = (gameAnalysis.Vi1 + gameAnalysis.PiA - (1 - gameAnalysis.Ai3 - gameAnalysis.Ai4) * gameAnalysis.CiA).ToString() + ", 0, " + (gameAnalysis.Vi3A - gameAnalysis.Ai3 * gameAnalysis.CiA).ToString() + ", " + (gameAnalysis.Vi4A - gameAnalysis.Ai4 * gameAnalysis.CiA).ToString() + ", " + (gameAnalysis.Vi5A - gameAnalysis.PiA).ToString(); gameAnalysis.Route2 = (gameAnalysis.Vi1 - (1 - gameAnalysis.Ai3 - gameAnalysis.Ai4) * gameAnalysis.CiA).ToString() + ", 0, " + (gameAnalysis.Vi3A - gameAnalysis.Ai3 * gameAnalysis.CiA).ToString() + ", " + (gameAnalysis.Vi4A - gameAnalysis.Ai4 * gameAnalysis.CiA).ToString() + ", " + "0"; gameAnalysis.Route3 = (gameAnalysis.Vi1 + gameAnalysis.PiA - (1 - gameAnalysis.Ai3) * gameAnalysis.CiA).ToString() + ", 0, " + (gameAnalysis.Vi3A - gameAnalysis.Ai3 * gameAnalysis.CiA).ToString() + ", " + gameAnalysis.Vi4A.ToString() + ", " + (gameAnalysis.Vi5B - gameAnalysis.PiA).ToString(); gameAnalysis.Route4 = (gameAnalysis.Vi1 - (1 - gameAnalysis.Ai3) * gameAnalysis.CiA).ToString() + ", 0, " + (gameAnalysis.Vi3A - gameAnalysis.Ai3 * gameAnalysis.CiA).ToString() + ", " + gameAnalysis.Vi4A.ToString() + ", " + "0"; gameAnalysis.Route5 = (gameAnalysis.Vi1 + gameAnalysis.PiA - (1 - gameAnalysis.Ai4) * gameAnalysis.CiA).ToString() + ", 0, " + gameAnalysis.Vi3A.ToString() + ", " + (gameAnalysis.Vi4B - gameAnalysis.Ai4 * gameAnalysis.CiA).ToString() + ", " + (gameAnalysis.Vi5A - gameAnalysis.PiA).ToString(); gameAnalysis.Route6 = (gameAnalysis.Vi1 - (1 - gameAnalysis.Ai4) * gameAnalysis.CiA).ToString() + ", 0, " + gameAnalysis.Vi3A.ToString() + ", " + (gameAnalysis.Vi4B - gameAnalysis.Ai4 * gameAnalysis.CiA).ToString() + ", " + "0"; gameAnalysis.Route7 = (gameAnalysis.Vi1 + gameAnalysis.PiA - 1 * gameAnalysis.CiA).ToString() + ", 0, " + gameAnalysis.Vi3A.ToString() + ", " + gameAnalysis.Vi4B.ToString() + ", " + (gameAnalysis.Vi5B - gameAnalysis.PiA).ToString(); gameAnalysis.Route8 = (gameAnalysis.Vi1 - 1 * gameAnalysis.CiA).ToString() + ", 0, " + gameAnalysis.Vi3A.ToString() + ", " + gameAnalysis.Vi4B.ToString() + ", " + "0"; gameAnalysis.Route9 = (gameAnalysis.Vi1 + (1 - gameAnalysis.Ai2 - gameAnalysis.Ai3 - gameAnalysis.Ai4) * gameAnalysis.PiB - (1 - gameAnalysis.Ai2 - gameAnalysis.Ai3 - gameAnalysis.Ai4) * gameAnalysis.CiB).ToString() + ", " + (gameAnalysis.Ai2 * gameAnalysis.PiB - gameAnalysis.Ai2 * gameAnalysis.CiB - gameAnalysis.Ii).ToString() + ", " + (gameAnalysis.Vi3B + gameAnalysis.Ai3 * gameAnalysis.PiB - gameAnalysis.Ai3 * gameAnalysis.CiB).ToString() + ", " + (gameAnalysis.Vi4A + gameAnalysis.Ai4 * gameAnalysis.PiB - gameAnalysis.Ai4 * gameAnalysis.CiB).ToString() + ", " + (gameAnalysis.Vi5A - gameAnalysis.PiB).ToString(); gameAnalysis.Route10 = (gameAnalysis.Vi1 - (1 - gameAnalysis.Ai2 - gameAnalysis.Ai3 - gameAnalysis.Ai4) * gameAnalysis.CiB).ToString() + ", " + (-1 * gameAnalysis.Ai2 * gameAnalysis.CiB - gameAnalysis.Ii).ToString() + ", " + (gameAnalysis.Vi3B - gameAnalysis.Ai3 * gameAnalysis.CiB).ToString() + ", " + (gameAnalysis.Vi4A - gameAnalysis.Ai4 * gameAnalysis.CiB).ToString() + ", " + "0"; gameAnalysis.Route11 = (gameAnalysis.Vi1 + (1 - gameAnalysis.Ai2 - gameAnalysis.Ai3) * gameAnalysis.PiB - (1 - gameAnalysis.Ai2 - gameAnalysis.Ai3) * gameAnalysis.CiB).ToString() + ", " + (gameAnalysis.Ai2 * gameAnalysis.PiB - gameAnalysis.Ai2 * gameAnalysis.CiB - gameAnalysis.Ii).ToString() + ", " + (gameAnalysis.Vi3B + gameAnalysis.Ai3 * gameAnalysis.PiB - gameAnalysis.Ai3 * gameAnalysis.CiB).ToString() + ", " + gameAnalysis.Vi4A.ToString() + ", " + (gameAnalysis.Vi5B - gameAnalysis.PiB).ToString(); gameAnalysis.Route12 = (gameAnalysis.Vi1 - (1 - gameAnalysis.Ai2 - gameAnalysis.Ai3) * gameAnalysis.CiB).ToString() + ", " + (-1 * gameAnalysis.Ai2 * gameAnalysis.CiB - gameAnalysis.Ii).ToString() + ", " + (gameAnalysis.Vi3B - gameAnalysis.Ai3 * gameAnalysis.CiB).ToString() + ", " + gameAnalysis.Vi4A.ToString() + ", " + "0"; gameAnalysis.Route13 = (gameAnalysis.Vi1 + (1 - gameAnalysis.Ai2 - gameAnalysis.Ai4) * gameAnalysis.PiB - (1 - gameAnalysis.Ai2 - gameAnalysis.Ai4) * gameAnalysis.CiB).ToString() + ", " + (gameAnalysis.Ai2 * gameAnalysis.PiB - gameAnalysis.Ai2 * gameAnalysis.CiB - gameAnalysis.Ii).ToString() + ", " + gameAnalysis.Vi3B.ToString() + ", " + (gameAnalysis.Vi4B + gameAnalysis.Ai4 * gameAnalysis.PiB - gameAnalysis.Ai4 * gameAnalysis.CiB).ToString() + ", " + (gameAnalysis.Vi5A - gameAnalysis.PiB).ToString(); gameAnalysis.Route14 = (gameAnalysis.Vi1 - (1 - gameAnalysis.Ai2 - gameAnalysis.Ai4) * gameAnalysis.CiB).ToString() + ", " + (-1 * gameAnalysis.Ai2 * gameAnalysis.CiB - gameAnalysis.Ii).ToString() + ", " + gameAnalysis.Vi3B.ToString() + ", " + (gameAnalysis.Vi4B - gameAnalysis.Ai4 * gameAnalysis.CiB).ToString() + ", " + "0"; gameAnalysis.Route15 = (gameAnalysis.Vi1 + (1 - gameAnalysis.Ai2) * gameAnalysis.PiB - (1 - gameAnalysis.Ai2) * gameAnalysis.CiB).ToString() + ", " + (gameAnalysis.Ai2 * gameAnalysis.PiB - gameAnalysis.Ai2 * gameAnalysis.CiB - gameAnalysis.Ii).ToString() + ", " + gameAnalysis.Vi3B.ToString() + ", " + gameAnalysis.Vi4B.ToString() + ", " + (gameAnalysis.Vi5B - gameAnalysis.PiB).ToString(); gameAnalysis.Route16 = (gameAnalysis.Vi1 - (1 - gameAnalysis.Ai2) * gameAnalysis.CiB).ToString() + ", " + (-1 * gameAnalysis.Ai2 * gameAnalysis.CiB - gameAnalysis.Ii).ToString() + ", " + gameAnalysis.Vi3B.ToString() + ", " + gameAnalysis.Vi4B.ToString() + ", " + "0"; gameAnalysis.Route17 = (gameAnalysis.Vi1 + (1 - gameAnalysis.Ai3 - gameAnalysis.Ai4) * gameAnalysis.PiB - (1 - gameAnalysis.Ai3 - gameAnalysis.Ai4) * gameAnalysis.CiB).ToString() + ", 0, " + (gameAnalysis.Vi3B + gameAnalysis.Ai3 * gameAnalysis.PiB - gameAnalysis.Ai3 * gameAnalysis.CiB).ToString() + ", " + (gameAnalysis.Vi4A + gameAnalysis.Ai4 * gameAnalysis.PiB - gameAnalysis.Ai4 * gameAnalysis.CiB).ToString() + ", " + (gameAnalysis.Vi5A - gameAnalysis.PiB).ToString(); gameAnalysis.Route18 = (gameAnalysis.Vi1 - (1 - gameAnalysis.Ai3 - gameAnalysis.Ai4) * gameAnalysis.CiB).ToString() + ", 0, " + (gameAnalysis.Vi3B - gameAnalysis.Ai3 * gameAnalysis.CiB).ToString() + ", " + (gameAnalysis.Vi4A - gameAnalysis.Ai4 * gameAnalysis.CiB).ToString() + ", " + "0"; gameAnalysis.Route19 = (gameAnalysis.Vi1 + (1 - gameAnalysis.Ai3) * gameAnalysis.PiB - (1 - gameAnalysis.Ai3) * gameAnalysis.CiB).ToString() + ", 0, " + (gameAnalysis.Vi3B + gameAnalysis.Ai3 * gameAnalysis.PiB - gameAnalysis.Ai3 * gameAnalysis.CiB).ToString() + ", " + gameAnalysis.Vi4A.ToString() + ", " + (gameAnalysis.Vi5B - gameAnalysis.PiB).ToString(); gameAnalysis.Route20 = (gameAnalysis.Vi1 - (1 - gameAnalysis.Ai3) * gameAnalysis.CiB).ToString() + ", 0, " + (gameAnalysis.Vi3B - gameAnalysis.Ai3 * gameAnalysis.CiB).ToString() + ", " + gameAnalysis.Vi4A.ToString() + ", " + "0"; gameAnalysis.Route21 = (gameAnalysis.Vi1 + (1 - gameAnalysis.Ai4) * gameAnalysis.PiB - (1 - gameAnalysis.Ai4) * gameAnalysis.CiB).ToString() + ", 0, " + gameAnalysis.Vi3B.ToString() + ", " + (gameAnalysis.Vi4B + gameAnalysis.Ai4 * gameAnalysis.PiB - gameAnalysis.Ai4 * gameAnalysis.CiB).ToString() + ", " + (gameAnalysis.Vi5A - gameAnalysis.PiB).ToString(); gameAnalysis.Route22 = (gameAnalysis.Vi1 - (1 - gameAnalysis.Ai4) * gameAnalysis.CiB).ToString() + ", 0, " + gameAnalysis.Vi3B.ToString() + ", " + (gameAnalysis.Vi4B - gameAnalysis.Ai4 * gameAnalysis.CiB).ToString() + ", " + "0"; gameAnalysis.Route23 = (gameAnalysis.Vi1 + 1 * gameAnalysis.PiB - 1 * gameAnalysis.CiB).ToString() + ", 0, " + gameAnalysis.Vi3B.ToString() + ", " + gameAnalysis.Vi4B.ToString() + ", " + (gameAnalysis.Vi5B - gameAnalysis.PiB).ToString(); gameAnalysis.Route24 = (gameAnalysis.Vi1 - 1 * gameAnalysis.CiB).ToString() + ", 0, " + gameAnalysis.Vi3B.ToString() + ", " + gameAnalysis.Vi4B.ToString() + ", " + "0"; }
public RoutePath CalculateBestRoute(HeritageGameAnalysisDto gameAnalysis) { RoutePath result = new RoutePath(); List <RoutePath> routesLevel5 = new List <RoutePath> (); List <RoutePath> routesLevel4 = new List <RoutePath> (); List <RoutePath> routesLevel3 = new List <RoutePath> (); List <RoutePath> routesLevel2 = new List <RoutePath> (); List <RoutePath> routesLevel1 = new List <RoutePath> (); routesLevel5.Add(new RoutePath(1, gameAnalysis.Route1)); routesLevel5.Add(new RoutePath(2, gameAnalysis.Route2)); routesLevel5.Add(new RoutePath(3, gameAnalysis.Route3)); routesLevel5.Add(new RoutePath(4, gameAnalysis.Route4)); routesLevel5.Add(new RoutePath(5, gameAnalysis.Route5)); routesLevel5.Add(new RoutePath(6, gameAnalysis.Route6)); routesLevel5.Add(new RoutePath(7, gameAnalysis.Route7)); routesLevel5.Add(new RoutePath(8, gameAnalysis.Route8)); routesLevel5.Add(new RoutePath(9, gameAnalysis.Route9)); routesLevel5.Add(new RoutePath(10, gameAnalysis.Route10)); routesLevel5.Add(new RoutePath(11, gameAnalysis.Route11)); routesLevel5.Add(new RoutePath(12, gameAnalysis.Route12)); routesLevel5.Add(new RoutePath(13, gameAnalysis.Route13)); routesLevel5.Add(new RoutePath(14, gameAnalysis.Route14)); routesLevel5.Add(new RoutePath(15, gameAnalysis.Route15)); routesLevel5.Add(new RoutePath(16, gameAnalysis.Route16)); routesLevel5.Add(new RoutePath(17, gameAnalysis.Route17)); routesLevel5.Add(new RoutePath(18, gameAnalysis.Route18)); routesLevel5.Add(new RoutePath(19, gameAnalysis.Route19)); routesLevel5.Add(new RoutePath(20, gameAnalysis.Route20)); routesLevel5.Add(new RoutePath(21, gameAnalysis.Route21)); routesLevel5.Add(new RoutePath(22, gameAnalysis.Route22)); routesLevel5.Add(new RoutePath(23, gameAnalysis.Route23)); routesLevel5.Add(new RoutePath(24, gameAnalysis.Route24)); for (int l = 5 - 1; l >= 0; l--) { switch (l) { case 4: for (int i = 0; i < 24; i += 2) { routesLevel4.Add(CompareRoutes(routesLevel5[i], routesLevel5[i + 1], l)); } break; case 3: for (int i = 0; i < 12; i += 2) { routesLevel3.Add(CompareRoutes(routesLevel4[i], routesLevel4[i + 1], l)); } routesLevel4.Clear(); break; case 2: for (int i = 0; i < 6; i += 2) { routesLevel2.Add(CompareRoutes(routesLevel3[i], routesLevel3[i + 1], l)); } routesLevel3.Clear(); break; case 1: int k = 0; routesLevel1.Add(CompareRoutes(routesLevel2[k + 1], routesLevel2[k + 2], l)); routesLevel1.Add(routesLevel2[k]); routesLevel2.Clear(); break; case 0: int m = 0; result = CompareRoutes(routesLevel1[m], routesLevel1[m + 1], l); break; default: break; } } return(result); }
public IActionResult Update(long id, [FromBody] HeritageGameAnalysisDto item) { //set bad reqeust if contact data is not provided in body if (item == null || id == 0) { return(BadRequest()); } CalculateRouteValues(item); var gameAnalysis = _mapper.Map <HeritageGameAnalysis> (item); var heritageGameAnalysis = _context.HeritageGameAnalyses.FirstOrDefault(t => t.Id == id); if (heritageGameAnalysis == null) { return(NotFound()); } heritageGameAnalysis.HeritageId = gameAnalysis.HeritageId; heritageGameAnalysis.CiA = gameAnalysis.CiA; heritageGameAnalysis.CiB = gameAnalysis.CiB; heritageGameAnalysis.Ii = gameAnalysis.Ii; heritageGameAnalysis.PiA = gameAnalysis.PiA; heritageGameAnalysis.PiB = gameAnalysis.PiB; heritageGameAnalysis.Vi5A = gameAnalysis.Vi5A; heritageGameAnalysis.Vi5B = gameAnalysis.Vi5B; heritageGameAnalysis.Vi4A = gameAnalysis.Vi4A; heritageGameAnalysis.Vi4B = gameAnalysis.Vi4B; heritageGameAnalysis.Vi3A = gameAnalysis.Vi3A; heritageGameAnalysis.Vi3B = gameAnalysis.Vi3B; heritageGameAnalysis.Vi1 = gameAnalysis.Vi1; heritageGameAnalysis.Ai4 = gameAnalysis.Ai4; heritageGameAnalysis.Ai3 = gameAnalysis.Ai3; heritageGameAnalysis.Ai2 = gameAnalysis.Ai2; heritageGameAnalysis.Aij = gameAnalysis.Aij; heritageGameAnalysis.Ai1 = gameAnalysis.Ai1; heritageGameAnalysis.Route1 = gameAnalysis.Route1; heritageGameAnalysis.Route2 = gameAnalysis.Route2; heritageGameAnalysis.Route3 = gameAnalysis.Route3; heritageGameAnalysis.Route4 = gameAnalysis.Route4; heritageGameAnalysis.Route5 = gameAnalysis.Route5; heritageGameAnalysis.Route6 = gameAnalysis.Route6; heritageGameAnalysis.Route7 = gameAnalysis.Route7; heritageGameAnalysis.Route8 = gameAnalysis.Route8; heritageGameAnalysis.Route9 = gameAnalysis.Route9; heritageGameAnalysis.Route10 = gameAnalysis.Route10; heritageGameAnalysis.Route11 = gameAnalysis.Route11; heritageGameAnalysis.Route12 = gameAnalysis.Route12; heritageGameAnalysis.Route13 = gameAnalysis.Route13; heritageGameAnalysis.Route14 = gameAnalysis.Route14; heritageGameAnalysis.Route15 = gameAnalysis.Route15; heritageGameAnalysis.Route16 = gameAnalysis.Route16; heritageGameAnalysis.Route17 = gameAnalysis.Route17; heritageGameAnalysis.Route18 = gameAnalysis.Route18; heritageGameAnalysis.Route19 = gameAnalysis.Route19; heritageGameAnalysis.Route20 = gameAnalysis.Route20; heritageGameAnalysis.Route21 = gameAnalysis.Route21; heritageGameAnalysis.Route22 = gameAnalysis.Route22; heritageGameAnalysis.Route23 = gameAnalysis.Route23; heritageGameAnalysis.Route24 = gameAnalysis.Route24; heritageGameAnalysis.ModifiedUserId = gameAnalysis.ModifiedUserId; heritageGameAnalysis.ModifiedOn = DateTime.Now; _context.SaveChanges(); item = _mapper.Map <HeritageGameAnalysisDto> (heritageGameAnalysis); return(Ok(item)); }