public ActionResult O2(int id) { var doswiadczenieRecord = doswiadczenieRepository.Get(id); if (!CanDraw(doswiadczenieRecord)) { Notifier.AddError("Brak możliwości rysowania wykresu - nie dodano żadnego pomiaru."); return(RedirectToAction("Index", "Doswiadczenie")); } var viewModel = new WykresViewModel { LabelY = "Stężenie tlenu [dm3]", Doswiadczenie = doswiadczenieRecord }; FillData(viewModel, PryzmaPomiarTyp.O2); return(View("Wykres", viewModel)); }
private void FillData(WykresViewModel viewModel, PryzmaPomiarTyp typ) { var pomiary = pryzmaPomiarRepository.QueryByDoswiadczenieAndTyp(viewModel.Doswiadczenie.Id, typ).ToList(); var pomiaryByPryzma = pomiary.GroupBy(p => new { p.Pryzma.Id, p.Pryzma.Nazwa }).ToList(); viewModel.Pryzmy = pomiaryByPryzma.Select(pryzma => new PryzmaWykresViewModel { Pryzma = pryzma.Key.Nazwa, Pomiary = pryzma.Select(p => new PomiarWykresViewModel { Dzien = p.DoswiadczeniePomiar.Dzien, Value = p.Value }) .OrderBy(p => p.Dzien) .ToList() }) .OrderBy(p => p.Pryzma) .ToList(); }