public ActionResult FirmaBilgi(tbl_OrganizatorFirma organizatorFirma, HttpPostedFileBase resimYukle, FormCollection deneme) { kullaniciId = Convert.ToInt32(Session["kullanici"]); var kisiId = veritabani.tbl_Kisiler. Where(x => x.kullaniciId == kullaniciId). Select(x => x.kisiId).FirstOrDefault(); //Firma varmı diye kontrol et firma id alınır var firmaVarmi = veritabani.tbl_OrganizatorFirma. Join(veritabani.tbl_OrganizatorFirmaCalisanlar, ku => ku.oId, ki => ki.oId, (ku, ki) => new { tbl_OrganizatorFirma = ku, tbl_OrganizatorFirmaCalisanlar = ki }). Where(x => x.tbl_OrganizatorFirmaCalisanlar.kisiId == kisiId && x.tbl_OrganizatorFirma.oId == x.tbl_OrganizatorFirmaCalisanlar.oId). Select(x => x.tbl_OrganizatorFirma.oId).FirstOrDefault(); //Resim Kayıt edilir var resimYolu = veritabani.tbl_OrganizatorFirma.Where(v => v.oId == organizatorFirma.oId).Select(v => v.oResimUrl).FirstOrDefault(); string benzersiz = null; if (resimYukle != null) { //güncelleme ekrananında resim yüklenmiş ise if (System.IO.File.Exists(Server.MapPath("~/Content/Resimler/FirmaResim/" + resimYolu)) || resimYolu == " ") { //sistem klasörüünde resim var ise if (resimYolu != " ") { System.IO.File.Delete(Server.MapPath("~/Content/Resimler/FirmaResim/" + resimYolu)); } //dosyayı sil benzersiz = Guid.NewGuid().ToString() + "_" + Path.GetFileName(resimYukle.FileName); string filePath = Path.Combine(Server.MapPath("~/Content/Resimler/FirmaResim"), benzersiz); resimYukle.SaveAs(filePath); } } else { benzersiz = resimYolu; } tbl_OrganizatorFirma firma = veritabani.tbl_OrganizatorFirma. Where(x => x.oId == firmaVarmi).FirstOrDefault(); if (firma != null) { //Firma güncelleme kısmı firma.oFirmaAdi = organizatorFirma.oFirmaAdi; firma.oWebSite = organizatorFirma.oWebSite; firma.oTelefon = organizatorFirma.oTelefon; firma.oFax = organizatorFirma.oFax; firma.oMail = organizatorFirma.oMail; firma.oResimUrl = benzersiz; firma.SehirId = organizatorFirma.SehirId; firma.ilceId = organizatorFirma.ilceId; firma.SemtMahId = organizatorFirma.SemtMahId; firma.oCalisanSayisi = organizatorFirma.oCalisanSayisi; firma.oOnay = "Beklemede"; } else { organizatorFirma.oResimUrl = benzersiz; organizatorFirma.oOnay = "Beklemede"; veritabani.tbl_OrganizatorFirma.Add(organizatorFirma); } try {//entity hata bulma // doing here my logic veritabani.SaveChanges(); } catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage); } } } int i = 0; if (deneme["calisan"] != null) { /*######### Çalışan kısmı ##############*/ string[] cparcala = deneme["calisan"].Split(',');//kişi idleri çek int[] kisiIdler = new int[cparcala.Count()]; i = 0; foreach (string id in cparcala) { kisiIdler[i] = Convert.ToInt32(id); i++; } var orgcalisan = veritabani.tbl_OrganizatorFirmaCalisanlar. Where(x => x.oId == firmaVarmi && !kisiIdler.Contains(x.kisiId)).ToList(); foreach (tbl_OrganizatorFirmaCalisanlar fa in orgcalisan) { veritabani.tbl_OrganizatorFirmaCalisanlar.Remove(fa); }//seçili olmayan yani silinmek istenen çalışan veritabanından silinir var yeniCalisan = veritabani.tbl_OrganizatorFirmaCalisanlar. Where(x => x.oId == firmaVarmi && kisiIdler.Contains(x.kisiId)). Select(x => x.kisiId).ToList(); foreach (int id in kisiIdler) { if (!yeniCalisan.Contains(id)) { tbl_OrganizatorFirmaCalisanlar calisanekle = new tbl_OrganizatorFirmaCalisanlar(); calisanekle.oId = firmaVarmi; calisanekle.kisiId = id; veritabani.tbl_OrganizatorFirmaCalisanlar.Add(calisanekle); } } } else { var orgcalisanlar = veritabani.tbl_OrganizatorFirmaCalisanlar. Where(x => x.oId == firmaVarmi).ToList(); foreach (tbl_OrganizatorFirmaCalisanlar fa in orgcalisanlar) { veritabani.tbl_OrganizatorFirmaCalisanlar.Remove(fa); } } if (deneme["faaliyetAlani"] != null) { /*######### Faaliyet Alanı kısmı ##############*/ string[] cparcala1 = deneme["faaliyetAlani"].Split(',');//faaliyet alanı idleri çek int[] alanidler = new int[cparcala1.Count()]; i = 0; foreach (string id in cparcala1) { alanidler[i] = Convert.ToInt32(id); i++; } var orgalanlar = veritabani.tbl_OrganizatorFaaliyetAlani. Where(x => x.oId == firmaVarmi && !alanidler.Contains(x.faaliyetAlaniId)).ToList(); foreach (tbl_OrganizatorFaaliyetAlani fa in orgalanlar) { veritabani.tbl_OrganizatorFaaliyetAlani.Remove(fa); } var yeniAlan = veritabani.tbl_OrganizatorFaaliyetAlani. Where(x => x.oId == firmaVarmi && alanidler.Contains(x.faaliyetAlaniId)). Select(x => x.faaliyetAlaniId).ToList(); foreach (int id in alanidler) { if (!yeniAlan.Contains(id)) { tbl_OrganizatorFaaliyetAlani yeniAlanEkle = new tbl_OrganizatorFaaliyetAlani(); yeniAlanEkle.oId = firmaVarmi; yeniAlanEkle.faaliyetAlaniId = id; veritabani.tbl_OrganizatorFaaliyetAlani.Add(yeniAlanEkle); } } } else { var faaliyetAlani = veritabani.tbl_OrganizatorFaaliyetAlani. Where(x => x.oId == firmaVarmi).ToList(); foreach (tbl_OrganizatorFaaliyetAlani fa in faaliyetAlani) { veritabani.tbl_OrganizatorFaaliyetAlani.Remove(fa); } } if (deneme["faaliyetTuru"] != null) { /*######### Faaliyet Türü kısmı ##############*/ string[] cparcala2 = deneme["faaliyetTuru"].Split(',');//faaliyet türü idleri çek int[] turidler = new int[cparcala2.Count()]; i = 0; foreach (string id in cparcala2) { turidler[i] = Convert.ToInt32(id); i++; } var orgturler = veritabani.tbl_OrganizatorFaaliyetTuru. Where(x => x.oId == firmaVarmi && !turidler.Contains(x.faaliyetTuruId)).ToList(); foreach (tbl_OrganizatorFaaliyetTuru fa in orgturler) { veritabani.tbl_OrganizatorFaaliyetTuru.Remove(fa); } var yeniTur = veritabani.tbl_OrganizatorFaaliyetTuru. Where(x => x.oId == firmaVarmi && turidler.Contains(x.faaliyetTuruId)). Select(x => x.faaliyetTuruId).ToList(); foreach (int id in turidler) { if (!yeniTur.Contains(id)) { tbl_OrganizatorFaaliyetTuru yeniTurEkle = new tbl_OrganizatorFaaliyetTuru(); yeniTurEkle.oId = firmaVarmi; yeniTurEkle.faaliyetTuruId = id; veritabani.tbl_OrganizatorFaaliyetTuru.Add(yeniTurEkle); } } } else { var faaliyetTuru = veritabani.tbl_OrganizatorFaaliyetTuru. Where(x => x.oId == firmaVarmi).ToList(); foreach (tbl_OrganizatorFaaliyetTuru fa in faaliyetTuru) { veritabani.tbl_OrganizatorFaaliyetTuru.Remove(fa); } } veritabani.SaveChanges(); return(RedirectToAction("FirmaBilgi", "Organizator")); }
//Organizator firma bilgi güncelleme public ActionResult FirmaBilgi() { kullaniciId = Convert.ToInt32(Session["kullanici"]); var kisiId = veritabani.tbl_Kisiler. Where(x => x.kullaniciId == kullaniciId). Select(x => x.kisiId).FirstOrDefault(); if (yonetim.kullaniciKontrol("organizator", kullaniciId)) { //Firma varmı diye kontrol et firma id alınır var firmaVarmi = veritabani.tbl_OrganizatorFirma. Join(veritabani.tbl_OrganizatorFirmaCalisanlar, ku => ku.oId, ki => ki.oId, (ku, ki) => new { tbl_OrganizatorFirma = ku, tbl_OrganizatorFirmaCalisanlar = ki }). Where(x => x.tbl_OrganizatorFirmaCalisanlar.kisiId == kisiId && x.tbl_OrganizatorFirma.oId == x.tbl_OrganizatorFirmaCalisanlar.oId). Select(x => x.tbl_OrganizatorFirma.oId).FirstOrDefault(); //Bu kullanıcıya ait firmayı çek var tbl_OrganizatorFirma = veritabani.tbl_OrganizatorFirma. Where(x => x.oId == firmaVarmi).FirstOrDefault(); if (tbl_OrganizatorFirma == null) { tbl_OrganizatorFirma = new tbl_OrganizatorFirma(); tbl_OrganizatorFirma.oFirmaAdi = " "; tbl_OrganizatorFirma.oWebSite = " "; tbl_OrganizatorFirma.oTelefon = " "; tbl_OrganizatorFirma.oFax = " "; tbl_OrganizatorFirma.oMail = " "; tbl_OrganizatorFirma.oOnay = kisiId.ToString(); tbl_OrganizatorFirma.oResimUrl = " "; tbl_OrganizatorFirma.SehirId = 1; tbl_OrganizatorFirma.ilceId = 1; tbl_OrganizatorFirma.SemtMahId = 1; veritabani.tbl_OrganizatorFirma.Add(tbl_OrganizatorFirma); veritabani.SaveChanges(); var organizatorId = veritabani.tbl_OrganizatorFirma. Where(x => x.oOnay == kisiId.ToString()). Select(x => x.oId).FirstOrDefault(); tbl_OrganizatorFirmaCalisanlar calisanlar = new tbl_OrganizatorFirmaCalisanlar(); calisanlar.oId = organizatorId; calisanlar.kisiId = kisiId; veritabani.tbl_OrganizatorFirmaCalisanlar.Add(calisanlar); veritabani.SaveChanges(); } //Şehileri çek viewbag ile yolla var sehirler = veritabani.Sehirler.Select(v => new SelectListItem { Selected = v.SehirId == tbl_OrganizatorFirma.SehirId, Text = v.SehirAdi, Value = v.SehirId.ToString() }).ToList(); ViewBag.Sehirler = sehirler; //ilçerleri çek viewbag ile yolla var ilceler = veritabani.Ilceler.Where(x => x.ilceId == tbl_OrganizatorFirma.ilceId). Select(v => new SelectListItem { Selected = v.ilceId == tbl_OrganizatorFirma.ilceId, Text = v.IlceAdi, Value = v.ilceId.ToString() }).ToList(); ViewBag.Ilceler = ilceler; //mahalleleri çek viewbag ile yolla var mahalle = veritabani.SemtMah.Where(x => x.SemtMahId == tbl_OrganizatorFirma.SemtMahId). Select(v => new SelectListItem { Selected = v.SemtMahId == tbl_OrganizatorFirma.SemtMahId, Text = v.MahalleAdi, Value = v.SemtMahId.ToString() }).ToList(); ViewBag.Mahalleler = mahalle; //Bu firmada çalısanları çek ve viewbag ile yolla var tbl_kisiler = veritabani.tbl_Kisiler.Where(x => x.kullaniciTuru.Equals("organizator")). Select(v => new SelectListItem { Selected = false, Text = v.kisiIsim + " " + v.kisiSoyisim, Value = v.kisiId.ToString() }).ToList(); var organizatorCalisanlar = veritabani.tbl_OrganizatorFirmaCalisanlar. Where(x => x.oId == firmaVarmi).Select(v => v.kisiId).ToList(); //organizator firmada calisanların selected ının true yap foreach (int id in organizatorCalisanlar) { foreach (SelectListItem kisi in tbl_kisiler) { if (id.ToString() == kisi.Value) { kisi.Selected = true; break; } } } ViewBag.Calisanlar = tbl_kisiler; //firmanın faaliyet analarını çek ve yolla var tbl_FaaliyetAlani = veritabani.tbl_FaatliyetAlani. Select(v => new SelectListItem { Selected = false, Text = v.faaliyetAlaniAdi, Value = v.faaliyetAlaniId.ToString() }).ToList(); //Organiztor firmanın faaliyet alanları çekilir var tbl_organizatorFaaliyetAlani = veritabani.tbl_OrganizatorFaaliyetAlani. Where(v => v.oId == firmaVarmi).Select(v => v.faaliyetAlaniId).ToList(); foreach (int id in tbl_organizatorFaaliyetAlani) { foreach (SelectListItem faaliyetId in tbl_FaaliyetAlani) { if (id.ToString() == faaliyetId.Value) { faaliyetId.Selected = true; break; } } } ViewBag.FaaliyetAlanlari = tbl_FaaliyetAlani; //Firmanın faaliyet türlerini çek ve yolla var tbl_FaaliyetTuru = veritabani.tbl_FaaliyetTuru .Select(v => new SelectListItem { Selected = false, Text = v.faaliyetTuruAdi, Value = v.faaliyetTuruId.ToString() }).ToList(); var organizatorFaaliyetTuru = veritabani.tbl_OrganizatorFaaliyetTuru. Where(x => x.oId == firmaVarmi).Select(x => x.faaliyetTuruId).ToList(); foreach (int id in organizatorFaaliyetTuru) { foreach (SelectListItem faaliyetTurId in tbl_FaaliyetTuru) { if (id.ToString() == faaliyetTurId.Value) { faaliyetTurId.Selected = true; break; } } } ViewBag.FaaliyetTurleri = tbl_FaaliyetTuru; ViewBag.resimUrl = "~/Content/Resimler/FirmaResim/" + tbl_OrganizatorFirma.oResimUrl; return(View(tbl_OrganizatorFirma)); } else { return(RedirectToAction("index", "Home")); } }