public ActionResult FirmaBilgi(tbl_KatilimciFirma katilimciFirma, 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_KatilimciFirma. Join(veritabani.tbl_KatilimciFirmaCalisanlar, ku => ku.kId, ki => ki.kId, (ku, ki) => new { tbl_KatilimciFirma = ku, tbl_KatilimciFirmaCalisanlar = ki }). Where(x => x.tbl_KatilimciFirmaCalisanlar.kisiId == kisiId && x.tbl_KatilimciFirma.kId == x.tbl_KatilimciFirmaCalisanlar.kId). Select(x => x.tbl_KatilimciFirma.kId).FirstOrDefault(); //Resim Kayıt edilir var resimYolu = veritabani.tbl_KatilimciFirma.Where(v => v.kId == katilimciFirma.kId). Select(v => v.kResimUrl).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_KatilimciFirma firma = veritabani.tbl_KatilimciFirma. Where(x => x.kId == firmaVarmi).FirstOrDefault(); if (firma != null) { //Firma güncelleme kısmı firma.kFirmaAdi = katilimciFirma.kFirmaAdi; firma.kWebSiteUrl = katilimciFirma.kWebSiteUrl; firma.kTelefon = katilimciFirma.kTelefon; firma.kFax = katilimciFirma.kFax; firma.kMail = katilimciFirma.kMail; firma.kResimUrl = benzersiz; firma.SehirId = katilimciFirma.SehirId; firma.ilceId = katilimciFirma.ilceId; firma.SemtMahId = katilimciFirma.SemtMahId; firma.kCalisanSayisi = katilimciFirma.kCalisanSayisi; firma.kOnay = "Beklemede"; } else { katilimciFirma.kResimUrl = benzersiz; katilimciFirma.kOnay = "Beklemede"; veritabani.tbl_KatilimciFirma.Add(katilimciFirma); } 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) { //gelen seçili elemana göre veri silme ve ekleme kısmı //çalışan için 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 katilimciCalisan = veritabani.tbl_KatilimciFirmaCalisanlar. Where(x => x.kId == firmaVarmi && !kisiIdler.Contains(x.kisiId)).ToList(); foreach (tbl_KatilimciFirmaCalisanlar fa in katilimciCalisan) { veritabani.tbl_KatilimciFirmaCalisanlar.Remove(fa); }//seçili olmayan yani silinmek istenen çalışan veritabanından silinir var yeniCalisan = veritabani.tbl_KatilimciFirmaCalisanlar. Where(x => x.kId == firmaVarmi && kisiIdler.Contains(x.kisiId)). Select(x => x.kisiId).ToList(); foreach (int id in kisiIdler) { if (!yeniCalisan.Contains(id)) { tbl_KatilimciFirmaCalisanlar calisanekle = new tbl_KatilimciFirmaCalisanlar(); calisanekle.kId = firmaVarmi; calisanekle.kisiId = id; veritabani.tbl_KatilimciFirmaCalisanlar.Add(calisanekle); } } } else { var katilimciCalisan = veritabani.tbl_KatilimciFirmaCalisanlar. Where(x => x.kId == firmaVarmi).ToList(); foreach (tbl_KatilimciFirmaCalisanlar fa in katilimciCalisan) { veritabani.tbl_KatilimciFirmaCalisanlar.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 katilimciAlanlar = veritabani.tbl_KatilimciFaaliyetAlani. Where(x => x.kId == firmaVarmi && !alanidler.Contains(x.faaliyetAlaniId)).ToList(); foreach (tbl_KatilimciFaaliyetAlani fa in katilimciAlanlar) { veritabani.tbl_KatilimciFaaliyetAlani.Remove(fa); } var yeniAlan = veritabani.tbl_KatilimciFaaliyetAlani. Where(x => x.kId == firmaVarmi && alanidler.Contains(x.faaliyetAlaniId)). Select(x => x.faaliyetAlaniId).ToList(); foreach (int id in alanidler) { if (!yeniAlan.Contains(id)) { tbl_KatilimciFaaliyetAlani yeniAlanEkle = new tbl_KatilimciFaaliyetAlani(); yeniAlanEkle.kId = firmaVarmi; yeniAlanEkle.faaliyetAlaniId = id; veritabani.tbl_KatilimciFaaliyetAlani.Add(yeniAlanEkle); } } } else { var faaliyetAlani = veritabani.tbl_KatilimciFaaliyetAlani. Where(x => x.kId == firmaVarmi).ToList(); foreach (tbl_KatilimciFaaliyetAlani fa in faaliyetAlani) { veritabani.tbl_KatilimciFaaliyetAlani.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 katilimciFaTur = veritabani.tbl_KatilimciFaaliyetTuru. Where(x => x.kId == firmaVarmi && !turidler.Contains(x.faaliyetTuruId)).ToList(); foreach (tbl_KatilimciFaaliyetTuru fa in katilimciFaTur) { veritabani.tbl_KatilimciFaaliyetTuru.Remove(fa); } var yeniTur = veritabani.tbl_KatilimciFaaliyetTuru. Where(x => x.kId == firmaVarmi && turidler.Contains(x.faaliyetTuruId)). Select(x => x.faaliyetTuruId).ToList(); foreach (int id in turidler) { if (!yeniTur.Contains(id)) { tbl_KatilimciFaaliyetTuru yeniTurEkle = new tbl_KatilimciFaaliyetTuru(); yeniTurEkle.kId = firmaVarmi; yeniTurEkle.faaliyetTuruId = id; veritabani.tbl_KatilimciFaaliyetTuru.Add(yeniTurEkle); } } } else { var faaliyetTuru = veritabani.tbl_KatilimciFaaliyetTuru. Where(x => x.kId == firmaVarmi).ToList(); foreach (tbl_KatilimciFaaliyetTuru fa in faaliyetTuru) { veritabani.tbl_KatilimciFaaliyetTuru.Remove(fa); } } if (deneme["katilimAmac"] != null) { string[] cparcala3 = deneme["katilimAmac"].Split(',');//faaliyet türü idleri çek int[] amacidler = new int[cparcala3.Count()]; i = 0; foreach (string id in cparcala3) { amacidler[i] = Convert.ToInt32(id); i++; } var katilimciAmac = veritabani.tbl_KatilimciKatilimAmac. Where(x => x.kId == firmaVarmi && !amacidler.Contains(x.amacId)).ToList(); foreach (tbl_KatilimciKatilimAmac fa in katilimciAmac) { veritabani.tbl_KatilimciKatilimAmac.Remove(fa); } var yeniAmac = veritabani.tbl_KatilimciKatilimAmac. Where(x => x.kId == firmaVarmi && amacidler.Contains(x.amacId)). Select(x => x.amacId).ToList(); foreach (int id in amacidler) { if (!yeniAmac.Contains(id)) { tbl_KatilimciKatilimAmac yeniAmacEkle = new tbl_KatilimciKatilimAmac(); yeniAmacEkle.kId = firmaVarmi; yeniAmacEkle.amacId = id; veritabani.tbl_KatilimciKatilimAmac.Add(yeniAmacEkle); } } } else { var katilimAmac = veritabani.tbl_KatilimciKatilimAmac. Where(x => x.kId == firmaVarmi).ToList(); foreach (tbl_KatilimciKatilimAmac fa in katilimAmac) { veritabani.tbl_KatilimciKatilimAmac.Remove(fa); } } veritabani.SaveChanges(); return(RedirectToAction("FirmaBilgi", "Katilimci")); }
//Katılımcı 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("katilimci", kullaniciId)) { //Firma varmı diye kontrol et firma id alınır var firmaVarmi = veritabani.tbl_KatilimciFirma. Join(veritabani.tbl_KatilimciFirmaCalisanlar, ku => ku.kId, ki => ki.kId, (ku, ki) => new { tbl_KatilimciFirma = ku, tbl_KatilimciFirmaCalisanlar = ki }). Where(x => x.tbl_KatilimciFirmaCalisanlar.kisiId == kisiId && x.tbl_KatilimciFirma.kId == x.tbl_KatilimciFirmaCalisanlar.kId). Select(x => x.tbl_KatilimciFirma.kId).FirstOrDefault(); //Bu kullanıcıya ait firmayı çek var tbl_katilimciFirma = veritabani.tbl_KatilimciFirma. Where(x => x.kId == firmaVarmi).FirstOrDefault(); if (tbl_katilimciFirma == null) { tbl_katilimciFirma = new tbl_KatilimciFirma(); tbl_katilimciFirma.kFirmaAdi = " "; tbl_katilimciFirma.kWebSiteUrl = " "; tbl_katilimciFirma.kTelefon = " "; tbl_katilimciFirma.kFax = " "; tbl_katilimciFirma.kMail = " "; tbl_katilimciFirma.kOnay = kisiId.ToString(); tbl_katilimciFirma.kResimUrl = " "; tbl_katilimciFirma.SehirId = 1; tbl_katilimciFirma.ilceId = 1; tbl_katilimciFirma.SemtMahId = 1; veritabani.tbl_KatilimciFirma.Add(tbl_katilimciFirma); veritabani.SaveChanges(); var katilimciId = veritabani.tbl_KatilimciFirma. Where(x => x.kOnay == kisiId.ToString()). Select(x => x.kId).FirstOrDefault(); tbl_KatilimciFirmaCalisanlar calisanlar = new tbl_KatilimciFirmaCalisanlar(); calisanlar.kId = katilimciId; calisanlar.kisiId = kisiId; veritabani.tbl_KatilimciFirmaCalisanlar.Add(calisanlar); veritabani.SaveChanges(); } //Şehileri çek viewbag ile yolla var sehirler = veritabani.Sehirler.Select(v => new SelectListItem { Selected = v.SehirId == tbl_katilimciFirma.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_katilimciFirma.ilceId). Select(v => new SelectListItem { Selected = v.ilceId == tbl_katilimciFirma.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_katilimciFirma.SemtMahId). Select(v => new SelectListItem { Selected = v.SemtMahId == tbl_katilimciFirma.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("katilimci")). Select(v => new SelectListItem { Selected = false, Text = v.kisiIsim + " " + v.kisiSoyisim, Value = v.kisiId.ToString() }).ToList(); var katilimciCalisanlar = veritabani.tbl_KatilimciFirmaCalisanlar. Where(x => x.kId == firmaVarmi).Select(v => v.kisiId).ToList(); //organizator firmada calisanların selected ının true yap foreach (int id in katilimciCalisanlar) { 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_katilimciFaaliyetAlani = veritabani.tbl_KatilimciFaaliyetAlani. Where(v => v.kId == firmaVarmi).Select(v => v.faaliyetAlaniId).ToList(); foreach (int id in tbl_katilimciFaaliyetAlani) { 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 katilimciFaaliyetTuru = veritabani.tbl_KatilimciFaaliyetTuru. Where(x => x.kId == firmaVarmi).Select(x => x.faaliyetTuruId).ToList(); foreach (int id in katilimciFaaliyetTuru) { foreach (SelectListItem faaliyetTurId in tbl_FaaliyetTuru) { if (id.ToString() == faaliyetTurId.Value) { faaliyetTurId.Selected = true; break; } } } ViewBag.FaaliyetTurleri = tbl_FaaliyetTuru; var tbl_Amac = veritabani.tbl_Amac.Select(v => new SelectListItem { Selected = false, Text = v.amacAdi, Value = v.amacId.ToString() }).ToList(); var katilimciAmac = veritabani.tbl_KatilimciKatilimAmac. Where(x => x.kId == firmaVarmi).Select(x => x.kKatilimAmacId).ToList(); foreach (int id in katilimciAmac) { foreach (SelectListItem amacid in tbl_Amac) { if (id.ToString() == amacid.Value) { amacid.Selected = true; break; } } } ViewBag.katilimAmac = tbl_Amac; ViewBag.resimUrl = "~/Content/Resimler/FirmaResim/" + tbl_katilimciFirma.kResimUrl; return(View(tbl_katilimciFirma)); } else { return(RedirectToAction("index", "Home")); } }