示例#1
0
        public ActionResult MarkPay(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            AracKredi aracKredi = db.AracKredi.Find(id);

            if (aracKredi == null)
            {
                return(HttpNotFound());
            }

            aracKredi.AracKredi_Odendi = true;

            Arac arac = db.Arac.Find(aracKredi.Arac_ID);


            var truncated = $"{arac.AracPlakaNo} plakalı araç için {aracKredi.AracKredi_OdemeTarihi.ToString("dd MM yyyy")} tarihli taksit ödenmiştir";

            if (truncated.Length > 500)
            {
                truncated = truncated.Substring(0, 500);
            }

            KasaIslem tahsilat = new KasaIslem
            {
                KasaIslem_Aciklama   = truncated,
                KasaIslem_CreateDate = DateTime.Now,
                KasaIslem_Tarih      = DateTime.Now,
                KasaIslem_Tutar      = aracKredi.AracKredi_KrediTutar,
                OdemeTipi_ID         = db.OdemeTipi.First(x => x.OdemeTipi_Adi.Contains("BANKA")).OdemeTipi_ID,
                KasaIslem_Tipi       = (int)KasaIslemTipi.Gider
            };

            db.KasaIslem.Add(tahsilat);


            db.SaveChanges();

            return(RedirectToAction("IndexAracKredi"));
        }
示例#2
0
        public ActionResult Create(AracViewModel model, List <HttpPostedFileBase> aracResimleri)
        {
            if (model.Arac_KrediKullanimi)
            {
                bool   krediAlanEksik = false;
                string ErrorMessage   = "Gerekli.";
                if (model.Arac_KrediTaksitOdemeGunu is null)
                {
                    krediAlanEksik = true; ModelState.AddModelError("Arac_KrediTaksitOdemeGunu", ErrorMessage);
                }
                if (model.Arac_KrediTaksitSayisi is null)
                {
                    krediAlanEksik = true; ModelState.AddModelError("Arac_KrediTaksitSayisi", ErrorMessage);
                }
                if (model.Arac_KrediTaksitTutari is null)
                {
                    krediAlanEksik = true; ModelState.AddModelError("Arac_KrediTaksitTutari", ErrorMessage);
                }
                if (model.Arac_KrediBankaID is null)
                {
                    krediAlanEksik = true; ModelState.AddModelError("Arac_KrediTaksitTutari", ErrorMessage);
                }
                if (krediAlanEksik)
                {
                    ModelState.AddModelError("Arac_KrediKullanimi", "Kredi Kullanımı varsa alttaki tüm alanlar dolmalıdır. Yoksa hepsi boş olmalıdır.");
                }
            }
            if (ModelState.IsValid)
            {
                var  locationId = db.Lokasyon.First().Lokasyon_ID;
                Arac arac       = new Arac
                {
                    AracGrup_ID        = (int)model.AracGrup_ID,
                    AracGuncelKM       = model.AracGuncelKM,
                    AracKasaTipi_ID    = (int)model.AracKasaTipi_ID,
                    AracKiralamaDurumu = (int)AracDurumu.Bos,
                    AracKlimaDurumu    = (int)model.AracKlimaDurumu,
                    AracMarka_ID       = (int)model.AracMarka_ID,
                    AracModel_ID       = (int)model.AracModel_ID,
                    AracMotorNo        = model.AracMotorNo,
                    AracPlakaNo        = model.AracPlakaNo,
                    AracRenk_ID        = (int)model.AracRenk_ID,
                    AracRuhsatSeriNo   = model.AracRuhsatSeriNo,
                    AracSaseNo         = model.AracSaseNo,
                    AracYakitTuru_ID   = (int)model.AracYakitTuru_ID,
                    Arac_AsimUcreti    = (int)model.Arac_AsimUcreti,
                    Arac_FenniMuayeneGecerlilikTarihi = (DateTime)model.Arac_FenniMuayeneGecerlilikTarihi,
                    Arac_KaskoBitisTarihi             = (DateTime)model.Arac_KaskoBitisTarihi,
                    Arac_KoltukSigortasiBitisTarihi   = (DateTime)model.Arac_KoltukSigortasiBitisTarihi,
                    Arac_Status = (int)DBStatus.Active,
                    Arac_TrafikSigortasiBitisTarihi = (DateTime)model.Arac_TrafikSigortasiBitisTarihi,
                    Arac_VitesTipi = (int)model.Arac_VitesTipi,
                    Arac_Yil       = model.Arac_Yil,
                    Lokasyon_ID    = locationId
                };
                db.Arac.Add(arac);
                db.SaveChanges();
                if (model.Arac_KrediKullanimi)
                {
                    /*
                     * Arac_KrediTaksitOdemeGunu = 19u diyelim
                     * bugün ayın 16sı ise ilk taksit bu ayın 19u olur
                     * bugün ayın 20si ise ilk taksit bir sonraki ayın 19u olur
                     */

                    var firstPayment = DateTime.Now;
                    if (DateTime.Now.Day < model.Arac_KrediTaksitOdemeGunu)
                    {
                        firstPayment = new DateTime(DateTime.Now.Year, DateTime.Now.Month, (int)model.Arac_KrediTaksitOdemeGunu);
                    }
                    else
                    {
                        firstPayment = new DateTime(DateTime.Now.Year, DateTime.Now.Month + 1, (int)model.Arac_KrediTaksitOdemeGunu);
                    }
                    for (int i = 0; i < (int)model.Arac_KrediTaksitSayisi; i++)
                    {
                        AracKredi aracKredi = new AracKredi
                        {
                            AracKredi_KrediTutar  = (int)model.Arac_KrediTaksitTutari,
                            AracKredi_OdemeTarihi = firstPayment.AddMonths(i),
                            AracKredi_Odendi      = false,
                            Arac_ID  = arac.Arac_ID,
                            Banka_ID = (int)model.Arac_KrediBankaID
                        };
                        db.AracKredi.Add(aracKredi);
                    }
                }
                foreach (var item in aracResimleri)
                {
                    if (item != null)
                    {
                        try
                        {
                            var itemId = SaveFile(item.InputStream, item.FileName);
                            var file   = new AracFile();
                            file.Arac_ID    = arac.Arac_ID;
                            file.SysFile_ID = itemId;
                            db.AracFile.Add(file);
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e.Message);
                        }
                    }
                }

                db.SaveChanges();

                return(RedirectToAction("Index"));
            }
            return(View(model));
        }