private void CreatePomiarRecord(DoswiadczeniePomiarViewModel viewModel, PryzmaPomiarViewModel pomiarViewModel) { pryzmaPomiarRepository.Add(new PryzmaPomiarRecord { DoswiadczeniePomiar = viewModel.Record, Pryzma = pryzmaRepository.Get(pomiarViewModel.PryzmaId), Typ = pomiarViewModel.Typ, Value = pomiarViewModel.Value }); }
private DoswiadczeniePomiarViewModel GetViewModel(DoswiadczenieRecord doswiadczenieRecord, DoswiadczeniePomiarRecord pomiarRecord = null, bool nested = false) { DoswiadczeniePomiarViewModel viewModel; if (pomiarRecord == null) { viewModel = new DoswiadczeniePomiarViewModel(new DoswiadczeniePomiarRecord { Doswiadczenie = doswiadczenieRecord, Data = !doswiadczenieRecord.Pomiary.Any() ? doswiadczenieRecord.DataStart.Value : doswiadczenieRecord.Pomiary.Max(p => p.Data).AddDays(1), Dzien = !doswiadczenieRecord.Pomiary.Any() ? 0 : doswiadczenieRecord.Pomiary.Max(p => p.Dzien) + 1 }); } else { viewModel = new DoswiadczeniePomiarViewModel(pomiarRecord); } if (viewModel.Dzien != 0 && !nested) { var firstPomiar = doswiadczenieRecord.Pomiary.OrderByDescending(p => p.Dzien).First(); ViewBag.First = GetViewModel(firstPomiar.Doswiadczenie, firstPomiar, true); } foreach (var pryzmaRecord in doswiadczenieRecord.Pryzmy) { foreach (PryzmaPomiarTyp typ in Enum.GetValues(typeof(PryzmaPomiarTyp))) { if (typ == PryzmaPomiarTyp.StanLicznikow || typ == PryzmaPomiarTyp.Przeplyw) { continue; } var pomiar = pryzmaPomiarRepository.GetByPryzmaAndTyp(pryzmaRecord.Id, viewModel.Record.Id, typ); viewModel.Pomiary.Add(pomiar != null ? new PryzmaPomiarViewModel(pomiar) : new PryzmaPomiarViewModel { PryzmaId = pryzmaRecord.Id, Typ = typ, PryzmaName = pryzmaRecord.Nazwa, TypName = typ.ToDescription() }); } var stanLicznikow = pryzmaPomiarRepository.GetByPryzmaAndTyp(pryzmaRecord.Id, viewModel.Record.Id, PryzmaPomiarTyp.StanLicznikow); viewModel.StanyLicznikow.Add(stanLicznikow != null ? new PryzmaPomiarViewModel(stanLicznikow) : new PryzmaPomiarViewModel { PryzmaId = pryzmaRecord.Id, Typ = PryzmaPomiarTyp.StanLicznikow, PryzmaName = pryzmaRecord.Nazwa, TypName = PryzmaPomiarTyp.StanLicznikow.ToDescription() }); var przeplyw = pryzmaPomiarRepository.GetByPryzmaAndTyp(pryzmaRecord.Id, viewModel.Record.Id, PryzmaPomiarTyp.Przeplyw); viewModel.Przeplywy.Add(przeplyw != null ? new PryzmaPomiarViewModel(przeplyw) : new PryzmaPomiarViewModel { PryzmaId = pryzmaRecord.Id, Typ = PryzmaPomiarTyp.Przeplyw, PryzmaName = pryzmaRecord.Nazwa, TypName = PryzmaPomiarTyp.Przeplyw.ToDescription() }); } return(viewModel); }