Пример #1
0
        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));
        }
Пример #2
0
        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));
        }