public async Task <ActionResult> Create([Bind(Include = "Id,Ad,Aciklama,YanEtkiler,NasilKullanilir,DikkatEdilecekler,EtkenMaddelerId")] IlacViewModel vm) { if (!ModelState.IsValid) { ViewBag.EtkenMaddeListe = await db.EtkenMadde.Select(x => new SelectListItem { Text = x.Ad, Value = x.Id.ToString() }).ToListAsync(); return(View(vm)); } if (db.Ilac.Where(x => x.Ad == vm.Ad.ToLower()).Count() > 0) { ModelState.AddModelError("Ad", "Bu isimde bir ilac zaten var."); ViewBag.EtkenMaddeListe = await db.EtkenMadde.Select(x => new SelectListItem { Text = x.Ad, Value = x.Id.ToString() }).ToListAsync(); return(View(vm)); } var m = new Ilac { Id = vm.Id, Ad = vm.Ad, Aciklama = vm.Aciklama, YanEtkiler = vm.YanEtkiler, NasilKullanilir = vm.NasilKullanilir, DikkatEdilecekler = vm.DikkatEdilecekler, AnalizYapildiMi = false }; db.Ilac.Add(m); await db.SaveChangesAsync(); if (vm.EtkenMaddelerId != null && vm.EtkenMaddelerId.Count > 0) { foreach (var item in vm.EtkenMaddelerId) { db.IlacEtkenMadde.Add(new IlacEtkenMadde { EtkenMaddeId = item, IlacId = m.Id }); } await db.SaveChangesAsync(); } return(RedirectToAction("Index")); }
public async Task <ActionResult> Create([Bind(Include = "Id,Ad,Aciklama,EtkilesenEtkenMaddelerId")] EtkenMaddeViewModel vm) { if (!ModelState.IsValid) { ViewBag.EtkenMaddeListe = await db.EtkenMadde.Select(x => new SelectListItem { Text = x.Ad, Value = x.Id.ToString() }).ToListAsync(); return(View(vm)); } if (db.EtkenMadde.Where(x => x.Ad == vm.Ad.ToLower()).Count() > 0) { ModelState.AddModelError("Ad", "Bu isimde bir etken madde zaten var."); ViewBag.EtkenMaddeListe = await db.EtkenMadde.Select(x => new SelectListItem { Text = x.Ad, Value = x.Id.ToString() }).ToListAsync(); return(View(vm)); } var m = new EtkenMadde { Ad = vm.Ad.ToLower(), Aciklama = vm.Aciklama, }; db.EtkenMadde.Add(m); await db.SaveChangesAsync(); if (vm.EtkilesenEtkenMaddelerId != null && vm.EtkilesenEtkenMaddelerId.Count() > 0) { foreach (var item in vm.EtkilesenEtkenMaddelerId) { db.EtkenMaddeEtkilesim.Add(new EtkenMaddeEtkilesim { EtkenMaddeId1 = m.Id, EtkenMaddeId2 = item }); } await db.SaveChangesAsync(); } return(RedirectToAction("Index")); }
public async Task <ActionResult> AnalizYap(int id) { Ilac im = await db.Ilac.FindAsync(id); if (im == null) { return(HttpNotFound()); } var CheckYeniEtkilesenIlaclarId = Request.Form.GetValues("CheckBoxEtkilesilenler"); List <int> yeniEtkilesenIlaclarId = new List <int>(); if (CheckYeniEtkilesenIlaclarId != null) { foreach (var item in CheckYeniEtkilesenIlaclarId) { yeniEtkilesenIlaclarId.Add(Convert.ToInt32(item)); } } var eskiEtkilesenIlaclar = await db.IlacEtkilesim.Where(x => x.IlacId1 == id || x.IlacId2 == id).ToListAsync(); if (eskiEtkilesenIlaclar == null || eskiEtkilesenIlaclar.Count == 0) { foreach (var item in yeniEtkilesenIlaclarId) { db.IlacEtkilesim.Add(new IlacEtkilesim { IlacId1 = id, IlacId2 = item }); } } else { if (yeniEtkilesenIlaclarId == null || yeniEtkilesenIlaclarId.Count() == 0) { db.IlacEtkilesim.RemoveRange(eskiEtkilesenIlaclar); } else { List <int> eskiEtkilesenIlaclarId = new List <int>(); foreach (var item in eskiEtkilesenIlaclar) { if (item.IlacId1 == id) { eskiEtkilesenIlaclarId.Add(item.IlacId2); } else if (item.IlacId2 == id) { eskiEtkilesenIlaclarId.Add(item.IlacId1); } } var yeniIlaclarFark = yeniEtkilesenIlaclarId.Except(eskiEtkilesenIlaclarId); if (yeniIlaclarFark != null && yeniIlaclarFark.Count() > 0) { foreach (var item in yeniIlaclarFark) { db.IlacEtkilesim.Add(new IlacEtkilesim { IlacId1 = id, IlacId2 = item }); } } var eskiIlaclarFark = eskiEtkilesenIlaclarId.Except(yeniEtkilesenIlaclarId); if (eskiIlaclarFark != null && eskiIlaclarFark.Count() > 0) { db.IlacEtkilesim.RemoveRange(eskiEtkilesenIlaclar.Where(x => eskiIlaclarFark.Contains(x.IlacId1) || eskiIlaclarFark.Contains(x.IlacId2))); } } } im.AnalizYapildiMi = true; db.Entry(im).State = EntityState.Modified; await db.SaveChangesAsync(); return(RedirectToAction("Index")); }