public ActionResult FirmaBilgi(tbl_BasinFirma basinFirma, 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_BasinFirma. Join(veritabani.tbl_BasinFirmaCalisanlar, ku => ku.bId, ki => ki.bId, (ku, ki) => new { tbl_BasinFirma = ku, tbl_BasinFirmaCalisanlar = ki }). Where(x => x.tbl_BasinFirmaCalisanlar.kisiId == kisiId && x.tbl_BasinFirma.bId == x.tbl_BasinFirmaCalisanlar.bId). Select(x => x.tbl_BasinFirma.bId).FirstOrDefault(); //Resim Kayıt edilir var resimYolu = veritabani.tbl_BasinFirma .Where(v => v.bId == basinFirma.bId). Select(v => v.bResimUrl).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_BasinFirma firma = veritabani.tbl_BasinFirma. Where(x => x.bId == firmaVarmi).FirstOrDefault(); if (firma != null) { //Firma güncelleme kısmı firma.bFirmaAdi = basinFirma.bFirmaAdi; firma.bWebSiteUrl = basinFirma.bWebSiteUrl; firma.bTelefon = basinFirma.bTelefon; firma.bFax = basinFirma.bFax; firma.bMail = basinFirma.bMail; firma.bResimUrl = benzersiz; firma.SehirId = basinFirma.SehirId; firma.ilceId = basinFirma.ilceId; firma.SemtMahId = basinFirma.SemtMahId; firma.bOnay = "Beklemede"; } else { basinFirma.bResimUrl = benzersiz; basinFirma.bOnay = "Beklemede"; veritabani.tbl_BasinFirma.Add(basinFirma); } 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); } } } 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()]; int i = 0; foreach (string id in cparcala) { kisiIdler[i] = Convert.ToInt32(id); i++; } var basinCalisan = veritabani.tbl_BasinFirmaCalisanlar. Where(x => x.bId == firmaVarmi && !kisiIdler.Contains(x.kisiId)).ToList(); foreach (tbl_BasinFirmaCalisanlar fa in basinCalisan) { veritabani.tbl_BasinFirmaCalisanlar.Remove(fa); }//seçili olmayan yani silinmek istenen çalışan veritabanından silinir var yeniCalisan = veritabani.tbl_BasinFirmaCalisanlar. Where(x => x.bId == firmaVarmi && kisiIdler.Contains(x.kisiId)). Select(x => x.kisiId).ToList(); foreach (int id in kisiIdler) { if (!yeniCalisan.Contains(id)) { tbl_BasinFirmaCalisanlar calisanekle = new tbl_BasinFirmaCalisanlar(); calisanekle.bId = firmaVarmi; calisanekle.kisiId = id; veritabani.tbl_BasinFirmaCalisanlar.Add(calisanekle); } } } else { var basinCalisanlar = veritabani.tbl_BasinFirmaCalisanlar. Where(x => x.bId == firmaVarmi).ToList(); foreach (tbl_BasinFirmaCalisanlar fa in basinCalisanlar) { veritabani.tbl_BasinFirmaCalisanlar.Remove(fa); } } 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); } } } return(RedirectToAction("FirmaBilgi", "Basin")); }
public ActionResult FirmaBilgi() {//firma bilgileri ekleme kısmı kullaniciId = Convert.ToInt32(Session["kullanici"]); var kisiId = veritabani.tbl_Kisiler. Where(x => x.kullaniciId == kullaniciId). Select(x => x.kisiId).FirstOrDefault(); if (yonetim.kullaniciKontrol("basin", kullaniciId)) { //Firma varmı diye kontrol et firma id alınır var firmaVarmi = veritabani.tbl_BasinFirma. Join(veritabani.tbl_BasinFirmaCalisanlar, ku => ku.bId, ki => ki.bId, (ku, ki) => new { tbl_BasinFirma = ku, tbl_BasinFirmaCalisanlar = ki }). Where(x => x.tbl_BasinFirmaCalisanlar.kisiId == kisiId && x.tbl_BasinFirma.bId == x.tbl_BasinFirmaCalisanlar.bId). Select(x => x.tbl_BasinFirma.bId).FirstOrDefault(); //Bu kullanıcıya ait firmayı çek var tbl_BasinFirma = veritabani.tbl_BasinFirma. Where(x => x.bId == firmaVarmi).FirstOrDefault(); if (tbl_BasinFirma == null) { tbl_BasinFirma = new tbl_BasinFirma(); tbl_BasinFirma.bFirmaAdi = " "; tbl_BasinFirma.bWebSiteUrl = " "; tbl_BasinFirma.bTelefon = " "; tbl_BasinFirma.bFax = " "; tbl_BasinFirma.bMail = " "; tbl_BasinFirma.bOnay = kisiId.ToString(); tbl_BasinFirma.bResimUrl = " "; tbl_BasinFirma.SehirId = 1; tbl_BasinFirma.ilceId = 1; tbl_BasinFirma.SemtMahId = 1; veritabani.tbl_BasinFirma.Add(tbl_BasinFirma); veritabani.SaveChanges(); var basinId = veritabani.tbl_BasinFirma. Where(x => x.bOnay == kisiId.ToString()). Select(x => x.bId).FirstOrDefault(); tbl_BasinFirmaCalisanlar calisanlar = new tbl_BasinFirmaCalisanlar(); calisanlar.bId = basinId; calisanlar.kisiId = kisiId; veritabani.tbl_BasinFirmaCalisanlar.Add(calisanlar); veritabani.SaveChanges(); } //Şehileri çek viewbag ile yolla var sehirler = veritabani.Sehirler.Select(v => new SelectListItem { Selected = v.SehirId == tbl_BasinFirma.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_BasinFirma.ilceId). Select(v => new SelectListItem { Selected = v.ilceId == tbl_BasinFirma.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_BasinFirma.SemtMahId). Select(v => new SelectListItem { Selected = v.SemtMahId == tbl_BasinFirma.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("basin")). Select(v => new SelectListItem { Selected = false, Text = v.kisiIsim + " " + v.kisiSoyisim, Value = v.kisiId.ToString() }).ToList(); var basinCalisanlar = veritabani.tbl_BasinFirmaCalisanlar. Where(x => x.bId == firmaVarmi).Select(v => v.kisiId).ToList(); //basin firmada calisanların selected ının true yap foreach (int id in basinCalisanlar) { foreach (SelectListItem kisi in tbl_kisiler) { if (id.ToString() == kisi.Value) { kisi.Selected = true; break; } } } ViewBag.Calisanlar = tbl_kisiler; ViewBag.resimUrl = "~/Content/Resimler/FirmaResim/" + tbl_BasinFirma.bResimUrl; return(View(tbl_BasinFirma)); } else { return(RedirectToAction("index", "Home")); } }