public ActionResult EtkinlikDuzenle(Ilan model, List <int> EtiketIDleri) { Repository <Ilan> repoI = new Repository <Ilan>(new NeYapsakContext()); Repository <IlanEtiket> repoİE = new Repository <IlanEtiket>(new NeYapsakContext()); Ilan degisen = repoI.GetAll().Where(i => i.Id == model.Id).FirstOrDefault(); List <string> errors = new List <string>(); if (!ModelState.IsValid) { errors = ModelState.Values.SelectMany(state => state.Errors).Select(error => error.ErrorMessage).ToList(); return(Json(errors, JsonRequestBehavior.AllowGet)); } if (model.BaslangicTarihi < DateTime.Now) { ModelState.AddModelError("", "Başlangıç Tarihi (haliyle) ileri bir tarih olmalı!"); errors = ModelState.Values.SelectMany(state => state.Errors).Select(error => error.ErrorMessage).ToList(); return(Json(errors, JsonRequestBehavior.AllowGet)); } if (model.Kontenjan <= 0) { ModelState.AddModelError("", "Kontenjan (haliyle) 0'dan büyük olmalı!"); errors = ModelState.Values.SelectMany(state => state.Errors).Select(error => error.ErrorMessage).ToList(); return(Json(errors, JsonRequestBehavior.AllowGet)); } if (EtiketIDleri != null) { List <IlanEtiket> ieESkiler = repoİE.GetAll().Where(e => e.IlanId == degisen.Id).ToList(); IlanEtiket ie = new IlanEtiket(); if (ieESkiler.Count() > 0) { foreach (var ieeski in ieESkiler) { ieeski.Silindi = true; if (!repoİE.Update(ieeski)) { ModelState.AddModelError("", ieeski.Etiket.EtiketAdi + " Etiketi eklenemedi!"); } } foreach (var id in EtiketIDleri) { bool var = false; foreach (var item in ieESkiler) { if (id == item.EtiketId) { var = true; } } if (!var) { IlanEtiket yeni = new IlanEtiket(); yeni.EtiketId = id; yeni.IlanId = degisen.Id; if (!repoİE.Add(yeni)) { ModelState.AddModelError("", yeni.Etiket.EtiketAdi + " Etiketi eklenemedi!"); } } else { IlanEtiket yeni = new IlanEtiket(); yeni = repoİE.Get(e => e.EtiketId == id); yeni.Silindi = false; if (!repoİE.Update(yeni)) { ModelState.AddModelError("", yeni.Etiket.EtiketAdi + " Etiketi eklenemedi!"); } } } } else { foreach (var item in EtiketIDleri) { IlanEtiket yeni = new IlanEtiket(); yeni.EtiketId = item; yeni.IlanId = degisen.Id; if (!repoİE.Add(yeni)) { ModelState.AddModelError("", yeni.Etiket.EtiketAdi + " Etiketi eklenemedi!"); } } } } degisen.BaslangicTarihi = model.BaslangicTarihi; degisen.Baslik = model.Baslik; degisen.GoruntulenmeSayaci = model.GoruntulenmeSayaci; degisen.Il = model.Il; degisen.Ilce = model.Ilce; degisen.Kontenjan = model.Kontenjan; degisen.Konum = model.Konum; degisen.Ozet = model.Ozet; if (repoI.Update(degisen)) { return(Json("True", JsonRequestBehavior.AllowGet)); } errors = ModelState.Values.SelectMany(state => state.Errors).Select(error => error.ErrorMessage).ToList(); return(Json(errors, JsonRequestBehavior.AllowGet)); }
public ActionResult Main(MainViewModel model, List <int> EtiketIDleri) { Repository <Ilan> repoI = new Repository <Ilan>(new NeYapsakContext()); List <string> errors = new List <string>(); if (!ModelState.IsValid) { errors = ModelState.Values.SelectMany(state => state.Errors).Select(error => error.ErrorMessage).ToList(); return(Json(errors, JsonRequestBehavior.AllowGet)); } Ilan yeni = new Ilan(); yeni.Baslik = model.Ilan.Baslik; if (model.Ilan.BaslangicTarihi < DateTime.Now) { ModelState.AddModelError("", "Başlangıç Tarihi (haliyle) ileri bir tarih olmalı!"); errors = ModelState.Values.SelectMany(state => state.Errors).Select(error => error.ErrorMessage).ToList(); return(Json(errors, JsonRequestBehavior.AllowGet)); } if (model.Ilan.Kontenjan <= 0) { ModelState.AddModelError("", "Kontenjan (haliyle) 0'dan büyük olmalı!"); errors = ModelState.Values.SelectMany(state => state.Errors).Select(error => error.ErrorMessage).ToList(); return(Json(errors, JsonRequestBehavior.AllowGet)); } yeni.BaslangicTarihi = model.Ilan.BaslangicTarihi; yeni.Il = "İstanbul"; yeni.Ilce = model.Ilan.Ilce; yeni.Kontenjan = model.Ilan.Kontenjan; yeni.OlusturmaTarihi = DateTime.Now; yeni.Silindi = false; yeni.Yayindami = true;//Değişecek. yeni.Ozet = model.Ilan.Ozet; yeni.Konum = model.Ilan.Konum; yeni.KullaniciId = HttpContext.User.Identity.GetUserId(); yeni.GoruntulenmeSayaci = 0; if (repoI.Add(yeni)) { if (EtiketIDleri != null) { Repository <IlanEtiket> repoİE = new Repository <IlanEtiket>(new NeYapsakContext()); List <IlanEtiket> ieESkiler = repoİE.GetAll().Where(e => e.IlanId == yeni.Id).ToList(); IlanEtiket ie = new IlanEtiket(); if (ieESkiler.Count() > 0) { foreach (var ieeski in ieESkiler) { ieeski.Silindi = true; if (!repoİE.Update(ieeski)) { ModelState.AddModelError("", ieeski.Etiket.EtiketAdi + " Etiketi eklenemedi!"); } } foreach (var id in EtiketIDleri) { bool var = false; foreach (var item in ieESkiler) { if (id == item.EtiketId) { var = true; } } if (!var) { IlanEtiket y = new IlanEtiket(); y.EtiketId = id; y.IlanId = yeni.Id; if (!repoİE.Add(y)) { ModelState.AddModelError("", y.Etiket.EtiketAdi + " Etiketi eklenemedi!"); } } else { IlanEtiket y = new IlanEtiket(); y = repoİE.Get(e => e.EtiketId == id); y.Silindi = false; if (!repoİE.Update(y)) { ModelState.AddModelError("", y.Etiket.EtiketAdi + " Etiketi eklenemedi!"); } } } } else { foreach (var item in EtiketIDleri) { IlanEtiket y = new IlanEtiket(); y.EtiketId = item; y.IlanId = yeni.Id; if (!repoİE.Add(y)) { ModelState.AddModelError("", y.Etiket.EtiketAdi + " Etiketi eklenemedi!"); } } } } return(Json("True", JsonRequestBehavior.AllowGet)); } errors = ModelState.Values.SelectMany(state => state.Errors).Select(error => error.ErrorMessage).ToList(); return(Json(errors, JsonRequestBehavior.AllowGet)); }