public ActionResult Duzenle(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            KategoriFirmaViewModel kf = new KategoriFirmaViewModel();

            kf.Firma            = _managerFirma.Find(x => x.ID == id.Value);
            kf.FirmaKategoriler = _managerFirmaKategori.List();
            if (kf.Firma == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Firma_Kategori1 kt = new Firma_Kategori1();

            foreach (var item in kf.FirmaKategoriler)
            {
                kt = null;
                kt = _managerFirmaKategoriBag.Find(x => x.Firma.ID == id && x.FirmaKategori.ID == item.ID);
                if (kt != null)
                {
                    item.Secili = true;
                }
                else
                {
                    item.Secili = false;
                }
            }


            return(View(kf));
        }
        public ActionResult Ekle(KategoriFirmaViewModel model, HttpPostedFileBase FirmaLogo, IEnumerable <HttpPostedFileBase> FirmaResimler)
        {
            //ModelState.Remove("FirmaAdi");
            //ModelState.Remove("FirmaTel");
            //ModelState.Remove("Adres");
            ModelState.Clear();
            //ModelState.Remove("KategoriAdi");
            //ModelState.Remove("KategoriAciklama");

            if (ModelState.IsValid)
            {
                int i = KontrolEt(model);

                if (i == 1)
                {
                    //model.FirmaKategoriler = _managerFirmaKategori.List();
                    //ViewBag.FirmaKategoriID = new SelectList(_managerFirmaKategori.List(), "ID", "KategoriAdi");
                    model.FirmaKategoriler = _managerFirmaKategori.List();
                    return(View(model));
                }

                //FirmaKategori kat = _managerFirmaKategori.Find(x => x.ID == FirmaKategoriID);
                //model.Firma.Kategori = kat;

                #region Firma Logo Ekleme
                if (FirmaLogo != null &&
                    (FirmaLogo.ContentType == "image/jpeg" ||
                     FirmaLogo.ContentType == "image/jpg" ||
                     FirmaLogo.ContentType == "image/png"))
                {
                    try
                    {
                        string filename = $"{AdGetir.LinkAd(model.Firma.FirmaAdi)}.{FirmaLogo.ContentType.Split('/')[1]}";
                        FirmaLogo.SaveAs(Server.MapPath($"~/img/Firma/{filename}"));
                        model.Firma.Logo = filename;
                    }
                    catch (Exception exp)
                    {
                        ModelState.AddModelError("", exp.Message);
                    }
                }
                #endregion
                int res = _managerFirma.Insert(model.Firma);
                if (res == 0)
                {
                    ModelState.AddModelError("", "Firma Eklenemedi");
                    //model.FirmaKategoriler = _managerFirmaKategori.List();
                    //ViewBag.FirmaKategoriID = new SelectList(_managerFirmaKategori.List(), "ID", "KategoriAdi");
                    return(View(model));
                }
                foreach (FirmaKategori item in model.FirmaKategoriler)
                {
                    if (item.Secili)
                    {
                        Firma_Kategori1 fk = new Firma_Kategori1();
                        fk.FirmaKategori = _managerFirmaKategori.Find(x => x.ID == item.ID);
                        fk.Firma         = _managerFirma.Find(x => x.ID == model.Firma.ID);

                        _managerFirmaKategoriBag.Add(fk);
                    }
                }
                _managerFirmaKategoriBag.Save();

                #region Firma Resimler Ekleme
                if (FirmaResimler != null && FirmaResimler.Count() > 0)
                {
                    foreach (HttpPostedFileBase file in FirmaResimler)
                    {
                        if (file != null &&
                            (file.ContentType == "image/jpeg" ||
                             file.ContentType == "image/jpg" ||
                             file.ContentType == "image/png"))
                        {
                            try
                            {
                                FirmaResim rsm      = new FirmaResim();
                                string     filename = $"{AdGetir.ResimAd(model.Firma.FirmaAdi)}.{file.ContentType.Split('/')[1]}";
                                file.SaveAs(Server.MapPath($"~/img/Firma/{filename}"));

                                rsm.ResimYol = filename;
                                rsm.FirmaID  = model.Firma.ID;
                                _managerFirmaResim.Add(rsm);
                            }
                            catch (Exception exp)
                            {
                                ModelState.AddModelError("", exp.Message);
                            }
                        }
                    }
                    _managerFirmaResim.Save();
                }
                #endregion
                return(RedirectToAction("Index"));
            }
            model.FirmaKategoriler = _managerFirmaKategori.List();
            //ViewBag.FirmaKategoriID = new SelectList(_managerFirmaKategori.List(), "ID", "KategoriAdi");
            return(View(model));
        }
        public ActionResult Duzenle(KategoriFirmaViewModel model, HttpPostedFileBase FirmaLogo, IEnumerable <HttpPostedFileBase> FirmaResimler)
        {
            //ViewBag.ID = new SelectList(_managerFirmaKategori.List(), "ID", "KategoriAdi");
            //ModelState.Remove("FirmaResimler");
            //ModelState.Remove("Logo");
            ModelState.Clear();
            if (ModelState.IsValid)
            {
                int i = KontrolEt(model);
                if (i == 1)
                {
                    model.FirmaKategoriler = _managerFirmaKategori.List();
                    return(View(model));
                }

                Firma frm = _managerFirma.Find(x => x.ID == model.Firma.ID);
                //FirmaKategori kat = _managerFirmaKategori.Find(x => x.ID == model.FirmaKategoriID);

                #region Firma_Logo_Ekleme
                if (FirmaLogo != null &&
                    (FirmaLogo.ContentType == "image/jpeg" ||
                     FirmaLogo.ContentType == "image/jpg" ||
                     FirmaLogo.ContentType == "image/png"))
                {
                    try
                    {
                        if (System.IO.File.Exists(Server.MapPath("~/img/Firma/" + model.Firma.Logo)))
                        {
                            System.IO.File.Delete(Server.MapPath("~/img/Firma/" + model.Firma.Logo));
                        }

                        string filename = $"{AdGetir.ResimAd(model.Firma.FirmaAdi)}.{FirmaLogo.ContentType.Split('/')[1]}";
                        FirmaLogo.SaveAs(Server.MapPath($"~/img/Firma/{filename}"));
                        frm.Logo = filename;
                    }
                    catch (Exception exp)
                    {
                        ModelState.AddModelError("", exp.Message);
                    }
                }
                #endregion
                frm.Aciklama     = model.Firma.Aciklama;
                frm.KisaAciklama = model.Firma.KisaAciklama;
                frm.Adres        = model.Firma.Adres;
                frm.FirmaAdi     = model.Firma.FirmaAdi;
                frm.SeoName      = model.Firma.SeoName;
                frm.Description  = model.Firma.Description;
                frm.Etiket       = model.Firma.Etiket;
                //frm.Kategori = kat;
                //frm.FirmaKategoriID = model.FirmaKategoriID;
                frm.FirmaLink      = model.Firma.FirmaLink;
                frm.FirmaYetkili   = model.Firma.FirmaYetkili;
                frm.Aktif          = model.Firma.Aktif;
                frm.FirmaTel       = model.Firma.FirmaTel;
                frm.FirmaMail      = model.Firma.FirmaMail;
                frm.FirmaFace      = model.Firma.FirmaFace;
                frm.FirmaTwitter   = model.Firma.FirmaTwitter;
                frm.FirmaGoogle    = model.Firma.FirmaGoogle;
                frm.FirmaInstagram = model.Firma.FirmaInstagram;

                int res = _managerFirma.Update(frm);

                if (res == 0)
                {
                    ModelState.AddModelError("", "Firma Güncellenemedi");
                    //ViewBag.ID = new SelectList(_managerFirmaKategori.List(), "ID", "KategoriAdi");
                    return(View(model));
                }

                foreach (var itm in _managerFirmaKategoriBag.List(x => x.Firma.ID == frm.ID))
                {
                    _managerFirmaKategoriBag.Delete(itm);
                }
                foreach (FirmaKategori item in model.FirmaKategoriler)
                {
                    if (item.Secili)
                    {
                        Firma_Kategori1 fk = new Firma_Kategori1();
                        fk.FirmaKategori = _managerFirmaKategori.Find(x => x.ID == item.ID);
                        fk.Firma         = _managerFirma.Find(x => x.ID == model.Firma.ID);

                        _managerFirmaKategoriBag.Add(fk);
                    }
                }
                _managerFirmaKategoriBag.Save();


                #region FirmaResimler
                if (FirmaResimler != null && FirmaResimler.Count() > 0)
                {
                    foreach (HttpPostedFileBase file in FirmaResimler)
                    {
                        if (file != null &&
                            (file.ContentType == "image/jpeg" ||
                             file.ContentType == "image/jpg" ||
                             file.ContentType == "image/png"))
                        {
                            try
                            {
                                FirmaResim rsm      = new FirmaResim();
                                string     filename = $"{AdGetir.ResimAd(model.Firma.FirmaAdi)}.{file.ContentType.Split('/')[1]}";
                                file.SaveAs(Server.MapPath($"~/img/Firma/{filename}"));

                                rsm.ResimYol = filename;
                                rsm.FirmaID  = frm.ID;
                                _managerFirmaResim.Add(rsm);
                            }
                            catch (Exception exp)
                            {
                                ModelState.AddModelError("", exp.Message);
                            }
                        }
                    }
                    _managerFirmaResim.Save();
                }
                #endregion
                return(RedirectToAction("Index"));
            }
            return(View(model));
        }