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

            if (!doswiadczeniePomiar.Doswiadczenie.Started)
            {
                Notifier.AddError("Nie można modyfikować pomiarów nie wystartowanego doświadczenia. Rozpocznij doświadczenie, żeby modyfikować.");
                return(RedirectToAction("Index", "Doswiadczenie"));
            }

            var doswiadczenieId = doswiadczeniePomiar.Doswiadczenie.Id;

            if (doswiadczeniePomiar.Dzien != doswiadczeniePomiarRepository.Query().Max(p => p.Dzien))
            {
                throw new Exception("Można usuwać tylko ostatni dzień pomiarów");
            }

            foreach (var pryzmaPomiarRecord in doswiadczeniePomiar.Pomiary)
            {
                pryzmaPomiarRepository.Remove(pryzmaPomiarRecord);
            }
            doswiadczeniePomiarRepository.Remove(doswiadczeniePomiar);

            return(RedirectToAction("Index", new { id = doswiadczenieId }));
        }
예제 #2
0
        public ActionResult Delete(int id)
        {
            var doswiadczenieRecord = doswiadczenieRepository.Get(id);

            foreach (var aeracja in doswiadczenieRecord.Aeracje.ToList())
            {
                foreach (var aeracjaAeracjaEntry in aeracja.AeracjaEntries)
                {
                    aeracjaEntryRepository.Remove(aeracjaAeracjaEntry);
                }
                aeracjaRepository.Remove(aeracja);
            }

            foreach (var doswiadczeniePomiar in doswiadczenieRecord.Pomiary)
            {
                foreach (var pryzmaPomiarRecord in doswiadczeniePomiar.Pomiary)
                {
                    pryzmaPomiarRepository.Remove(pryzmaPomiarRecord);
                }
                doswiadczeniePomiarRepository.Remove(doswiadczeniePomiar);
            }

            foreach (var pryzmaRecord in doswiadczenieRecord.Pryzmy.ToList())
            {
                var pryzmaStartRecord = pryzmaStartRepository.GetByPryzma(pryzmaRecord.Id);
                pryzmaStartRepository.Remove(pryzmaStartRecord);
                var pryzmaStopRecord = pryzmaStopRepository.GetByPryzma(pryzmaRecord.Id);
                pryzmaStopRepository.Remove(pryzmaStopRecord);

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

                pryzmaRepository.Remove(pryzmaRecord);
                doswiadczenieRecord.Pryzmy.Remove(pryzmaRecord);
            }

            doswiadczenieRepository.Remove(doswiadczenieRecord);

            return(RedirectToAction("Index"));
        }