public ActionResult Zimmet(int id)
 {
     if (id > 0)
     {
         if (id != 1)
         {
             var model     = new UrunDepartman();
             var Genelurun = db.tblUrunGenel.FirstOrDefault(m => m.urunGenelId == id);
             if (Genelurun != null)
             {
                 model.Urun         = Genelurun;
                 model.Departmanlar = db.tblDepartman.ToList();
                 return(View(model));
             }
             else
             {   // if model null ise not found hatası döndülecektir
                 return(HttpNotFound());
             }
         }
         else
         {    // id hatalı ise (id=1)  sistem bad request hatası döndürecektir
             return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
         }
     }
     else
     {     // id hatalı is(id<0) sistem bad request hatası döndürecektir
         return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
     }
 }
      public ActionResult ZimmetTamamla(UrunDepartman model, int persid)
      {
          if (persid > 0)   // personel id uygun is(0 dan büyük)
          {
              if (model.Urun.urunSatinAlmaTarih != null)
              {
                  if (ModelState.IsValid)             // Model tam olarak buraya gönderilmiş ise
                  {
                      if (model.Urun.urunGenelId > 0) //Modelin id si değiştirilmemiş ise
                      {
                          var GenelUrun = db.tblUrunGenel.FirstOrDefault(m => m.urunGenelId == model.Urun.urunGenelId);
                          if (GenelUrun != null && GenelUrun.Aktiflik == true)
                          {
                              GenelUrun.urunAdet--;
                              GenelUrun.urunToplamFİyat = GenelUrun.urunFiyat * GenelUrun.urunAdet;
                              db.SaveChanges();

                              if (GenelUrun.urunAdet == 0)
                              {     // urun adeti 0 lanmış ise stoktan düşme işleminin gerçekleştirildiği blok tur.
                                  var stok = db.tblStok.FirstOrDefault(m => m.urunGenelId == GenelUrun.urunGenelId);
                                  db.tblStok.Remove(stok);
                                  db.SaveChanges();
                              }

                              var Zimmet = new tblZimmet();
                              foreach (var urun in GenelUrun.tblUrun)
                              {
                                  if (urun.zimmetDurumu == null)
                                  {
                                      urun.zimmetDurumu = true;
                                      Zimmet.urunId     = urun.urunId;
                                      break;
                                  }
                              }
                              var personel = db.tblPersonel.FirstOrDefault(m => m.personelId == persid);
                              Zimmet.personelId = personel.personelId;

                              db.tblZimmet.Add(Zimmet);
                              db.SaveChanges();
                              return(RedirectToAction("Index"));
                          }
                          else
                          {       // böyle bir model yok
                              return(HttpNotFound());
                          }
                      }
                      return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                  }
                  else
                  {  // model validation ları sağlamıyor ise view'a tekrar döndürülür
                      model.Departmanlar = db.tblDepartman.ToList();
                      return(View("Zimmet", model));
                  }
              }
              else
              {   // model'in satın alma tarihi validationu sağlanmıyorsa bir mesaj view'A iletilir
                  ViewBag.Mesaj      = "Ürün Satın Alma Tarihi Boş Olamaz";
                  model.Departmanlar = db.tblDepartman.ToList();
                  return(View("Zimmet", model));
              }
          }
          else
          {
              return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
          }
      }