90 546 880 06 88 bilgi@prestijdizayn.com

Kategori Eklemek

önce nuget packeges den chosen ekliyoruz

kur

kur

_Layout.cshtml bu kodu ekliyoruz

<link href=”~/Content/chosen.css” rel=”stylesheet” /> <script src=”~/Scripts/chosen.jquery.min.js”></script>

<script type=”text/javascript”>
var app_root = ‘@Url.Content(“~/”)’;

$(function () {

$(“.chosen-single-select”).chosen(); });

$(function () {

$(“.chosen-multi-select”).chosen(); });

</script>

yenioluştur dosyasına bu kodu ekliyoruz bu kısım önemli

heryerde bu kısımı kullanacağız

@Html.ListBoxFor(model => model.SelectedadreskategoriIds,
new SelectList(Model.FirmalarAdresKategori, “FirmalarAdresKategoriId”, “FirmalarAdresKategoriAdi”),
new { @class = “input-block-level chosen-multi-select”, data_placeholder = “Seçin…”, required = “required” })

model kısmına bu kodu ekliyoruz
public int[] SelectedadreskategoriIds { get; set; }

eger kullanırsak viewmodel kısmına bu kodu ekliyoruz

public int[] SelectedadreskategoriIds { get; set; }

HomeController.cs kısmına bu kodu ekliyoruz

public List<FirmalarAdresKategori> TumAdresgetirGetAll(int[] KategoriIds)

{
if (KategoriIds != null)

{
return context.FirmalarAdresKategori.ToList()

.Where(x => KategoriIds.Contains(x.FirmalarAdresKategoriId))

.ToList(); }

return new List<FirmalarAdresKategori>(); }

[HttpGet
public ActionResult FirmalarEkle() kısmı. bu kısım sayfanın ilk acıldıgı kısmı. bu kısımda normal verilerini gönder. ekleyeceğin bir kod yok

public ActionResult FirmalarEkle() {

rmalarViewModelAdmin veri = new rmalarViewModelAdmin(); veri.FirmalarAdresKategori = context.FirmalarAdresKategori.ToList(); veri.FirmalarFaaliyetKategori = context.FirmalarFaaliyetKategori.ToList(); veri.FirmalarMarkaKategori = context.FirmalarMarkaKategori.ToList(); veri.FirmalarUzmanlikKategori = context.FirmalarUzmanlikKategori.ToList(); return View(veri);

}

[HttpPost]
[ ValidateAntiForgeryToken]
public ActionResult FirmalarEkle( rmalarViewModelAdmin model) kısmına bu kodu ekliyoruz. döngüyle gelen verileri ekliyoruz

var Adreskategori = TumAdresgetirGetAll(model.SelectedadreskategoriIds); Adreskategori.ForEach(x => rmalar.FirmalarAdresKategori.Add(x));

[HttpPost]
[ ValidateAntiForgeryToken]
public ActionResult FirmalarEkle( rmalarViewModelAdmin model) kısmına bu kodu ekliyoruz. döngüyle gelen verileri ekliyoruz

public ActionResult FirmalarDuzenle(int? id)

{
if (id == null)

{
return RedirectToAction(“Firmalar”, “Home”);

} else {

rmalarViewModelAdmin veri = new rmalarViewModelAdmin(); veri.Firma = context.Firmalar.Find(id);
//db den gelen full liste
veri.FirmalarAdresKategori = context.FirmalarAdresKategori.ToList(); veri.FirmalarFaaliyetKategori = context.FirmalarFaaliyetKategori.ToList(); veri.FirmalarMarkaKategori = context.FirmalarMarkaKategori.ToList(); veri.FirmalarUzmanlikKategori = context.FirmalarUzmanlikKategori.ToList();

//seçili olanlar
veri.SelectedadreskategoriIds = veri.Firma.FirmalarAdresKategori.Select(x => x.FirmalarAdresKategoriId).ToArray(); veri.SelectedfaaliyetkategoriIds = veri.Firma.FirmalarFaaliyetKategori.Select(x => x.FirmalarFaaliyetKategoriId).ToArray(); veri.SelectedmarkakategoriIds = veri.Firma.FirmalarMarkaKategori.Select(x => x.FirmalarMarkaKategoriId).ToArray(); veri.SelecteduzmanlikkategoriIds = veri.Firma.FirmalarUzmanlikKategori.Select(x => x.FirmalarUzmanlikKategoriId).ToArray(); return View(veri);

} }

düzenle dosyasına bu kodu ekliyoruz bu kısım önemli

heryerde bu kısımı kullanacağız

@Html.ListBoxFor(model => model.SelectedadreskategoriIds,
new SelectList(Model.FirmalarAdresKategori, “FirmalarAdresKategoriId”, “FirmalarAdresKategoriAdi”),

new { @class = “input-block-level chosen-multi-select”, data_placeholder = “Seçin…”, required = “required” })

[HttpPost]
[ ValidateAntiForgeryToken]
public ActionResult FirmalarDuzenle( rmalarViewModelAdmin model)
kısmına bu kodu ekliyoruz. döngüyle gelen verileri ekliyoruz

[HttpPost]
[ ValidateAntiForgeryToken]
public ActionResult FirmalarDuzenle(HttpPostedFileBase FirmalarResimAdi, rmalarViewModelAdmin model) {

Firmalar rmalar = context.Firmalar.FirstOrDefault(x => x.FirmaId == model.Firma.FirmaId); var Adreskategori = TumAdresgetirGetAll(model.SelectedadreskategoriIds);
var Faaliyetkategori = TumFaaliyetgetirGetAll(model.SelectedfaaliyetkategoriIds);
var Markakategori = TumMarkagetirGetAll(model.SelectedmarkakategoriIds);

var Uzmanlikkategori = TumUzmanlikgetirGetAll(model.SelecteduzmanlikkategoriIds);

if (FirmalarResimAdi == null && rmalar.FirmaLogo != null) {

rmalar.FirmaAdi = model.Firma.FirmaAdi;
rmalar.FirmaLogo = rmalar.FirmaLogo;
rmalar.FirmaHakkindaYazi = model.Firma.FirmaHakkindaYazi; rmalar.FirmaFaaliyetAlaniYazi = model.Firma.FirmaFaaliyetAlaniYazi; rmalar.FirmaUzmanlikAlaniYazi = model.Firma.FirmaUzmanlikAlaniYazi; rmalar.FirmaBlokNo = model.Firma.FirmaBlokNo; rmalar.FirmaDukkanNo = model.Firma.FirmaDukkanNo; rmalar.FirmaMetreKare = model.Firma.FirmaMetreKare; rmalar.FirmaYetkili = model.Firma.FirmaYetkili;

rmalar.FirmaAdres = model.Firma.FirmaAdres; rmalar.FirmaTelefon1 = model.Firma.FirmaTelefon1; rmalar.FirmaTelefon2 = model.Firma.FirmaTelefon2; rmalar.FirmaFaks = model.Firma.FirmaFaks;
rmalar.FirmaEposta = model.Firma.FirmaEposta;
rmalar.FirmaWeb = model.Firma.FirmaWeb;
rmalar.FirmaFacebook = model.Firma.FirmaFacebook; rmalar.FirmaTwitter = model.Firma.FirmaTwitter; rmalar.FirmaInstagram = model.Firma.FirmaInstagram; rmalar.FirmaGplus = model.Firma.FirmaGplus;
rmalar.FirmaReklam = model.Firma.FirmaReklam; rmalar.FirmaReklamBitisTarihi = model.Firma.FirmaReklamBitisTarihi; rmalar.FirmaReklamSirasi = model.Firma.FirmaReklamSirasi;

//bu kısım önce ıdleri siliyor sonra seçilenler yeni ıdler geliyo rmalar.FirmalarAdresKategori.Clear(); rmalar.FirmalarFaaliyetKategori.Clear(); rmalar.FirmalarMarkaKategori.Clear(); rmalar.FirmalarUzmanlikKategori.Clear();

//burdanda da ekleniyor yani tik işaretini kaldırdıkları db den sliniyor Adreskategori.ForEach(x => rmalar.FirmalarAdresKategori.Add(x)); Faaliyetkategori.ForEach(xx => rmalar.FirmalarFaaliyetKategori.Add(xx)); Markakategori.ForEach(xxx => rmalar.FirmalarMarkaKategori.Add(xxx)); Uzmanlikkategori.ForEach(xxxx => rmalar.FirmalarUzmanlikKategori.Add(xxxx));

rmalar.YayinlanmaTarihi = model.Firma.YayinlanmaTarihi; rmalar.DuzenlemeTarihi = DateTime.Now.Date; rmalar.Aktif = model.Firma.Aktif;
rmalar.SiteBaslik = model.Firma.SiteBaslik; rmalar.SiteDescription = model.Firma.SiteDescription; rmalar.SiteKeywords = model.Firma.SiteKeywords;

context.SaveChanges();

return RedirectToAction(“Firmalar”, “Home”); }