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 })); }
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")); }