예제 #1
0
        public ActionResult Delete(int id)
        {
            var pryzmaRecord = pryzmaRepository.Get(id);

            if (pryzmaRecord.Doswiadczenie.Started)
            {
                Notifier.AddError("Doświadczenie zostało wystartowane. Brak możliwości usunięcia pryzm.");
                return(RedirectToAction("Index", new { id = pryzmaRecord.Doswiadczenie.Id }));
            }

            foreach (var skladnikRecord in pryzmaRecord.Skladniki.ToList())
            {
                skladnikRepository.Remove(skladnikRecord);
                pryzmaRecord.Skladniki.Remove(skladnikRecord);
            }

            foreach (var pryzmaStartRecord in pryzmaRecord.Starts.ToList())
            {
                pryzmaStartRepository.Remove(pryzmaStartRecord);
                pryzmaRecord.Starts.Remove(pryzmaStartRecord);
            }

            pryzmaRepository.Remove(pryzmaRecord);

            return(RedirectToAction("Index", new { id = pryzmaRecord.Doswiadczenie.Id }));
        }
예제 #2
0
        public ActionResult Index(int id)
        {
            var pryzmaRecord    = pryzmaRepository.Get(id);
            var skladnikRecords = skladnikRepository.QueryByPryzma(id).ToList();

            var viewModel = new SkladnikiViewModel(pryzmaRecord)
            {
                Skladniki = skladnikRecords.Select(s => new SkladnikViewModel(s))
            };

            return(View(viewModel));
        }
예제 #3
0
        public ActionResult Start(FormCollection collection, int id)
        {
            var doswiadczenieRecord = doswiadczenieRepository.Get(id);

            var viewModel = new DoswiadczenieStartViewModel(doswiadczenieRecord);

            TryUpdateModel(viewModel);

            if (ModelState.IsValid)
            {
                // ReSharper disable once PossibleInvalidOperationException
                if (viewModel.DataStart.Value < viewModel.Doswiadczenie.Data)
                {
                    ModelState.AddModelError("DataStart", string.Format("Data startowa doświadczenia nie może być mniejsza niż data założenia doświadczenia, tj. {0}", viewModel.Doswiadczenie.Data.ToString("yyyy-MM-dd")));
                }
            }

            if (ModelState.IsValid && !doswiadczenieRecord.Started)
            {
                foreach (var pryzmaStart in viewModel.Pryzmy)
                {
                    var pryzma = pryzmaRepository.Get(pryzmaStart.PryzmaId);
                    pryzmaStart.Record.Pryzma = pryzma;
                    pryzmaStartRepository.Add(pryzmaStart.Record);
                }

                doswiadczenieRecord.Started = true;

                return(RedirectToAction("Index"));
            }

            if (doswiadczenieRecord.Started)
            {
                Notifier.AddError("Nie można wystartować już wystartowanego doświadczenia.");
            }

            foreach (var pryzmaStart in viewModel.Pryzmy)
            {
                pryzmaStart.SetPryzma(pryzmaRepository.Get(pryzmaStart.PryzmaId));
            }
            viewModel.Doswiadczenie = doswiadczenieRecord;

            UnitOfWork.Rollback();

            return(View(viewModel));
        }
예제 #4
0
 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
     });
 }
예제 #5
0
        public ActionResult Create(FormCollection collection, int id, int aeracjaId)
        {
            var doswiadczenieRecord = doswiadczenieRepository.Get(id);
            var aeracjaRecord       = aeracjaRepository.Get(aeracjaId) ?? new AeracjaRecord {
                Doswiadczenie = doswiadczenieRecord
            };

            var viewModel = new AeracjaViewModel(aeracjaRecord);

            TryUpdateModel(viewModel);

            if (ModelState.IsValid)
            {
                viewModel.Aeracja.Doswiadczenie = doswiadczenieRecord;
                aeracjaRepository.Add(viewModel.Aeracja);

                foreach (var aeracjaEntry in viewModel.Aeracje)
                {
                    var pryzma = pryzmaRepository.Get(aeracjaEntry.PryzmaId);
                    aeracjaEntry.Record.Pryzma  = pryzma;
                    aeracjaEntry.Record.Aeracja = aeracjaRecord;
                    aeracjaEntryRepository.Add(aeracjaEntry.Record);
                }

                return(RedirectToAction("Index", new { id = doswiadczenieRecord.Id }));
            }

            foreach (var aeracjaEntry in viewModel.Aeracje)
            {
                aeracjaEntry.SetPryzma(pryzmaRepository.Get(aeracjaEntry.PryzmaId));
                aeracjaEntry.SetAeracja(aeracjaRepository.Get(aeracjaRecord.Id));
            }
            viewModel.Aeracja = aeracjaRecord;

            UnitOfWork.Rollback();

            ViewBag.Create = true;
            return(View(viewModel));
        }