Beispiel #1
0
        public ActionResult AtamaYap([Bind(Include = "Id,MalzemeId,KaynakPersonelId,HedefPersonalId,Adet,Acıklama,IslemTarihi")] ENV_MALZEMEHAREKET malzemeHareket)
        {
            if (ModelState.IsValid)
            {
                // TODO: Adet eksiye dusunce patlatmak icin burada transaction yapisi kullanilmali BEGIN-COMMIT-ROLLBACK.
                db.ENV_MALZEMEHAREKET.Add(malzemeHareket);
                malzemeHareket.IslemTarihi = DateTime.Now;
                db.SaveChanges();

                // Hedef personelin adedini duruma gore guncellemeliyiz.
                ENV_MALZEMEPERSONEL objEnvMalzemePersonelHedef = db.ENV_MALZEMEPERSONEL.FirstOrDefault(x => x.MalzemeId == malzemeHareket.MalzemeId && x.PersonelId == malzemeHareket.HedefPersonalId);
                if (objEnvMalzemePersonelHedef == null)
                {
                    ENV_MALZEMEPERSONEL malper = db.ENV_MALZEMEPERSONEL.Create();
                    db.ENV_MALZEMEPERSONEL.Add(malper);
                    malper.MalzemeId   = malzemeHareket.MalzemeId;
                    malper.IslemTarihi = malzemeHareket.IslemTarihi;
                    malper.Adet        = malzemeHareket.Adet;
                    malper.PersonelId  = malzemeHareket.HedefPersonalId;
                    db.SaveChanges();
                }
                else
                {
                    objEnvMalzemePersonelHedef.Adet           += malzemeHareket.Adet;
                    objEnvMalzemePersonelHedef.IslemTarihi     = DateTime.Now;
                    db.Entry(objEnvMalzemePersonelHedef).State = EntityState.Modified;
                    db.SaveChanges();
                }
                // Kaynaktan eksilteme..
                ENV_MALZEMEPERSONEL objEnvMalzemePersonelKaynak = db.ENV_MALZEMEPERSONEL.FirstOrDefault(x => x.MalzemeId == malzemeHareket.MalzemeId && x.PersonelId == malzemeHareket.KaynakPersonelId);
                objEnvMalzemePersonelKaynak.Adet           -= malzemeHareket.Adet;
                objEnvMalzemePersonelKaynak.IslemTarihi     = DateTime.Now;
                db.Entry(objEnvMalzemePersonelKaynak).State = EntityState.Modified;
                db.SaveChanges();

                return(RedirectToAction("Index"));
            }

            ViewBag.MalzemeId        = new SelectList(db.ENV_MALZEME, "Id", "Adi", malzemeHareket.MalzemeId);
            ViewBag.KaynakPersonelId = new SelectList(db.ENV_PERSONEL, "Id", "AdiSoyadi", malzemeHareket.KaynakPersonelId);
            ViewBag.HedefPersonalId  = new SelectList(db.ENV_PERSONEL, "Id", "AdiSoyadi", malzemeHareket.HedefPersonalId);
            return(View(malzemeHareket));
        }
        public ActionResult MalKabul(ENV_MALZEMEHAREKET malzemeHareket)
        {
            if (ModelState.IsValid)
            {
                db.ENV_MALZEMEHAREKET.Add(malzemeHareket);
                malzemeHareket.IslemTarihi      = DateTime.Now;
                malzemeHareket.HedefPersonalId  = 1;
                malzemeHareket.KaynakPersonelId = 1;
                if (malzemeHareket.Acıklama == "" && malzemeHareket.Acıklama == null)
                {
                    malzemeHareket.Acıklama = "Malkabul Hareketi...";
                }


                ENV_MALZEMEPERSONEL objEnvMalzemePersonel = db.ENV_MALZEMEPERSONEL.FirstOrDefault(x => x.MalzemeId == malzemeHareket.MalzemeId && x.PersonelId == malzemeHareket.HedefPersonalId);
                if (objEnvMalzemePersonel == null)
                {
                    ENV_MALZEMEPERSONEL malper = db.ENV_MALZEMEPERSONEL.Create();
                    db.ENV_MALZEMEPERSONEL.Add(malper);
                    malper.MalzemeId   = malzemeHareket.MalzemeId;
                    malper.IslemTarihi = malzemeHareket.IslemTarihi;
                    malper.Adet        = malzemeHareket.Adet;
                    malper.PersonelId  = malzemeHareket.HedefPersonalId;
                    db.SaveChanges();
                }
                else
                {
                    objEnvMalzemePersonel.Adet           += malzemeHareket.Adet;
                    objEnvMalzemePersonel.IslemTarihi     = DateTime.Now;
                    db.Entry(objEnvMalzemePersonel).State = EntityState.Modified;
                    db.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }

            return(View(malzemeHareket));
        }