private List <ResultGrouped> CalculateGroupedResults(IEnumerable <ResultTypeNew> results, string dzivnieks) { double first = 0; double second = 0; double third = 0; double fourth = 0; double fifth = 0; double sum = 0; var prices = CenasLogic.PopulatePrices(); foreach (var result in results) { switch (GetBonitateFromResult(result, dzivnieks)) { case 1: first += result.NogabalaPlatiba; sum += result.NogabalaPlatiba; break; case 2: second += result.NogabalaPlatiba; sum += result.NogabalaPlatiba; break; case 3: third += result.NogabalaPlatiba; sum += result.NogabalaPlatiba; break; case 4: fourth += result.NogabalaPlatiba; sum += result.NogabalaPlatiba; break; case 5: fifth += result.NogabalaPlatiba; sum += result.NogabalaPlatiba; break; } } var resultList = new List <ResultGrouped> { new ResultGrouped { Bonitate = "1", Platiba = first, // ReSharper disable once PossibleNullReferenceException Cena = first * prices.FirstOrDefault(x => x.Dzivnieks == DzivnieksStringToEnum(dzivnieks)).CenaParPirmoBonitati }, new ResultGrouped { Bonitate = "2", Platiba = second, // ReSharper disable once PossibleNullReferenceException Cena = second * prices.FirstOrDefault(x => x.Dzivnieks == DzivnieksStringToEnum(dzivnieks)).CenaParOtroBonitati }, new ResultGrouped { Bonitate = "3", Platiba = third, // ReSharper disable once PossibleNullReferenceException Cena = third * prices.FirstOrDefault(x => x.Dzivnieks == DzivnieksStringToEnum(dzivnieks)).CenaParTresoBonitati }, new ResultGrouped { Bonitate = "4", Platiba = fourth, // ReSharper disable once PossibleNullReferenceException Cena = fourth * prices.FirstOrDefault(x => x.Dzivnieks == DzivnieksStringToEnum(dzivnieks)).CenaParCeturtoBonitati }, new ResultGrouped { Bonitate = "5", Platiba = fifth, // ReSharper disable once PossibleNullReferenceException Cena = fifth * prices.FirstOrDefault(x => x.Dzivnieks == DzivnieksStringToEnum(dzivnieks)).CenaParPiektoBonitati }, new ResultGrouped { Bonitate = "Kopa", Platiba = sum, // ReSharper disable once PossibleNullReferenceException Cena = first * prices.FirstOrDefault(x => x.Dzivnieks == DzivnieksStringToEnum(dzivnieks)).CenaParPirmoBonitati + second * prices.FirstOrDefault(x => x.Dzivnieks == DzivnieksStringToEnum(dzivnieks)).CenaParOtroBonitati + third * prices.FirstOrDefault(x => x.Dzivnieks == DzivnieksStringToEnum(dzivnieks)).CenaParTresoBonitati + fourth * prices.FirstOrDefault(x => x.Dzivnieks == DzivnieksStringToEnum(dzivnieks)).CenaParCeturtoBonitati + fifth * prices.FirstOrDefault(x => x.Dzivnieks == DzivnieksStringToEnum(dzivnieks)).CenaParPiektoBonitati } }; return(resultList); }
private void PopulatePrices() { PricesDataGrid.ItemsSource = CenasLogic.PopulatePrices(); }