public IActionResult SaveCariHesapKarti([FromBody]  carihesap model)
        {
            try
            {
                if (model != null)
                {
                    var    conn = new SqlConnection(GetConnection());
                    string SQL  = @" INSERT INTO tbl_cari_hesap (rec_status  ,rec_date_added, rec_user_added ) 

                                            VALUES(@durum, @eklenme_tarihi, @ekleyen_kullanici )";
                    if (model.rec_status > 0)
                    {
                        SQL = @" UPDATE tbl_tanim SET rec_status=@durum, rec_date_added=@eklenme_tarihi, rec_user_added=@ekleyen_kullanici WHERE rec_id=@kayit_id";
                    }

                    var prm = new { durum = model.rec_status, eklenme_tarihi = model.rec_date_added, ekleyen_kullanici = model.rec_user_added, kayit_id = model.rec_id };

                    var affectRows = conn.Execute(SQL, prm);

                    return(Ok("ok"));
                }
                else
                {
                    return(BadRequest("boş"));
                }
            }
            catch (Exception xp1)
            {
                return(BadRequest(xp1.Message));
            }
        }
예제 #2
0
        public void CariGuncelle(int custid, decimal netBakiye, bool borclu, string kullanici)
        {
            //önce cari hesabı güncelleyelim
            carihesap c = dc.carihesaps.FirstOrDefault(x => x.MusteriID == custid);



            if (c != null)
            {
                c.NetAlacak        = 0;
                c.NetBorc          = 0;
                c.ToplamAlacak     = 0;
                c.ToplamBakiye     = 0;
                c.ToplamBorc       = 0;
                c.ToplamOdedigimiz = 0;
                c.ToplamOdenen     = 0;

                if (borclu == false)
                {
                    //alacaklıymış o yüzden fatura oluşturmayacaz sadece carihesap kaydı yapacaz

                    c.ToplamOdedigimiz = 0;
                    c.ToplamAlacak     = netBakiye;
                }
                else
                {
                    TeknikServis.Radius.customer mu = dc.customers.Where(x => x.CustID == custid).FirstOrDefault();


                    fatura fatik = new fatura();
                    fatik.bakiye           = netBakiye;
                    fatik.son_odeme_tarihi = DateTime.Now;
                    fatik.sattis_tarih     = DateTime.Now;
                    fatik.no           = "-1";
                    fatik.taksit_no    = 0;
                    fatik.odenen       = 0;
                    fatik.Firma        = "firma";
                    fatik.tc           = mu.TC;
                    fatik.MusteriID    = mu.CustID;
                    fatik.islem_tarihi = DateTime.Now;
                    fatik.telefon      = mu.telefon;
                    fatik.tutar        = netBakiye;
                    fatik.Firma        = mu.Firma;
                    fatik.tur          = "Devir";
                    fatik.iptal        = false;
                    fatik.inserted     = kullanici;
                    dc.faturas.Add(fatik);
                }
                KaydetmeIslemleri.kaydetR(dc);
            }
        }
예제 #3
0
        public extre ExtreBilgileri(int custid, int gun, ayargenel ay)
        {
            extre     e = new extre();
            carihesap h = dc.carihesaps.FirstOrDefault(x => x.MusteriID == custid);

            e.hesap = h;
            DateTime tarih = DateTime.Now.AddDays(-gun);

            string aralik = tarih.ToShortDateString() + "-" + DateTime.Now.ToShortDateString();

            e.aralik = aralik;
            customer musteriBilgileri = dc.customers.FirstOrDefault(x => x.CustID == custid);

            e.Ad         = musteriBilgileri.Ad;
            e.tc         = musteriBilgileri.TC;
            e.firma      = musteriBilgileri.Firma;
            e.firmaAdi   = ay.adi;
            e.firmaAdres = ay.adres;
            e.firmaTel   = ay.tel;
            e.firmaWeb   = ay.web;

            IEnumerable <CariDetayYeni> hesaplar = from s in dc.servicehesaps
                                                   where s.iptal == false && (s.MusteriID == custid || s.tamirci_id == custid) && s.Onay_tarih >= tarih && s.Yekun > 0
                                                   select new CariDetayYeni
            {
                //müşteri hesabı için servis toplamlarını kullanacağım
                //o yüzden burada hesaplara sıfır yazdım
                MusteriID  = (int)s.MusteriID,
                aciklama   = s.Aciklama,
                musteriAdi = s.customer.Ad,
                borc       = s.tamirci_id == custid ? s.toplam_maliyet : null,
                //alacak = s.tamirci_id == musteriID ? 0 : s.Yekun,
                alacak = null,
                tarih  = (DateTime)s.Onay_tarih,
                islem  = s.IslemParca,
                konu   = s.adet + " Adet" + s.cihaz_adi
            };

            IEnumerable <CariDetayYeni> servis = from s in dc.services
                                                 where s.iptal == false && (s.CustID == custid || s.usta_id == custid) && s.AcilmaZamani >= tarih && s.KapanmaZamani != null && s.service_faturas.Yekun > 0
                                                 select new CariDetayYeni
            {
                //hakedişin prim oranlarına göre hesaplanması gerek
                //service faturasta triggerla yapılıyor
                MusteriID  = (int)s.CustID,
                aciklama   = s.Aciklama,
                musteriAdi = s.customer.Ad,
                borc       = s.usta_id == custid ? (decimal)(s.service_faturas.toplam_fark) : 0,
                alacak     = s.usta_id == custid ? 0 : s.service_faturas.Yekun,
                tarih      = (DateTime)s.AcilmaZamani,
                islem      = s.Baslik,
                konu       = s.urun.Cinsi
            };
            IEnumerable <CariDetayYeni> odeme_tahsilat = from o in dc.musteriodemelers
                                                         where o.iptal == false && o.Musteri_ID == custid && o.OdemeTarih >= tarih
                                                         // orderby o.OdemeTarih descending
                                                         select new CariDetayYeni
            {
                MusteriID  = o.Musteri_ID,
                aciklama   = o.Aciklama,
                musteriAdi = o.customer.Ad,
                borc       = o.tahsilat_odeme == "tahsilat" ? o.OdemeMiktar : 0,
                alacak     = o.tahsilat_odeme == "odeme" ? o.OdemeMiktar : 0,
                tarih      = o.OdemeTarih,
                islem      = o.tahsilat_turu,
                konu       = o.tahsilat_turu == "iade" ? "Ürün iadesi" : (o.tahsilat_turu == "Nakit" ? "Kasa" : (o.pos_id == null ?
                                                                                                                 (o.banka_id == null ? (o.kart_id == null ? "-" : o.kart_tanims.kart_adi) : o.banka.banka_adi) : o.pos_tanims.pos_adi)),
            };



            IEnumerable <CariDetayYeni> internet_fatura = (from o in dc.faturas
                                                           where o.iptal == false && o.MusteriID == custid && (o.tur == "Fatura" || o.tur == "Devir") && o.sattis_tarih >= tarih
                                                           //orderby o.sattis_tarih descending
                                                           select new CariDetayYeni
            {
                MusteriID = (int)o.MusteriID,
                aciklama = "Geçerlilik-" + o.bakiye,
                musteriAdi = o.ad,
                borc = 0,
                alacak = o.tutar,
                tarih = (DateTime)o.sattis_tarih,
                islem = o.tur == "Fatura" ? "Kredi Yükleme" : "Devir",
                konu = o.tur == "Fatura" ? "İnternet Abonelik" : "Devreden Cari",
            });



            List <CariDetayYeni> detay = odeme_tahsilat.Union(servis).Union(internet_fatura).Union(hesaplar).OrderByDescending(x => x.tarih).ToList();

            e.detay = detay;

            return(e);
        }
예제 #4
0
        public extre ExtreBilgileri(int custid, ayargenel ay, DateTime bas, DateTime son)
        {
            extre     e = new extre();
            carihesap h = dc.carihesaps.FirstOrDefault(x => x.MusteriID == custid);

            e.hesap = h;
            string aralik = bas.ToShortDateString() + "-" + son.ToShortDateString();

            e.aralik = aralik;
            customer musteriBilgileri = dc.customers.FirstOrDefault(x => x.CustID == custid);

            e.Ad         = musteriBilgileri.Ad;
            e.tc         = musteriBilgileri.TC;
            e.firma      = musteriBilgileri.Firma;
            e.firmaAdi   = ay.adi;
            e.firmaAdres = ay.adres;
            e.firmaTel   = ay.tel;
            e.firmaWeb   = ay.web;

            IEnumerable <CariDetayYeni> hesaplar = from s in dc.servicehesaps
                                                   where s.iptal == false && (s.MusteriID == custid || s.tamirci_id == custid) && s.Yekun > 0 && s.TarihZaman >= bas && s.TarihZaman <= son
                                                   select new CariDetayYeni
            {
                MusteriID  = (int)s.MusteriID,
                aciklama   = s.service.Baslik,
                musteriAdi = s.customer.Ad,
                borc       = s.tamirci_id == custid ? 0 : s.Yekun,
                alacak     = s.tamirci_id == custid ? s.toplam_maliyet : 0,
                tarih      = (DateTime)s.Onay_tarih,
                islem      = s.IslemParca,
                fiyat      = s.birim_fiyat,
                konu       = (s.cihaz_id == null && s.makine_id == null) ? "Servis" : (s.makine_id == null ? (s.adet.ToString() + " " + s.birim + " - " + s.cihaz.cihaz_adi) : (s.cihaz_adi + "-" + s.calisma_saati.ToString() + "-" + s.tarife_kodu + "(Ondalık) " + s.dakika.ToString() + " dakika " + "Net: " + s.sure_aciklama)),
            };
            decimal donem_alacak = hesaplar.Sum(x => (decimal)x.alacak);
            decimal donem_borc   = hesaplar.Sum(x => (decimal)x.borc);

            IEnumerable <CariDetayYeni> alimlar = from s in dc.alims
                                                  where s.iptal == false && s.CustID == custid && s.alim_tarih >= bas && s.alim_tarih <= son
                                                  select new CariDetayYeni
            {
                MusteriID  = s.CustID,
                aciklama   = s.aciklama,
                musteriAdi = s.customer.Ad,
                borc       = 0,
                alacak     = s.toplam_yekun,
                tarih      = (DateTime)s.alim_tarih,
                islem      = s.belge_no,
                fiyat      = s.toplam_yekun,
                konu       = s.konu
            };

            donem_alacak = alimlar.Sum(x => (decimal)x.alacak);
            IEnumerable <CariDetayYeni> odeme_tahsilat = from o in dc.musteriodemelers
                                                         where o.iptal == false && o.Musteri_ID == custid && o.OdemeTarih >= bas && o.OdemeTarih <= son
                                                         // orderby o.OdemeTarih descending
                                                         select new CariDetayYeni
            {
                MusteriID  = o.Musteri_ID,
                aciklama   = o.Aciklama,
                musteriAdi = o.customer.Ad,
                alacak     = o.tahsilat_odeme == "tahsilat" ? o.OdemeMiktar : 0,
                borc       = o.tahsilat_odeme == "odeme" ? o.OdemeMiktar : 0,
                tarih      = o.OdemeTarih,
                islem      = o.tahsilat_turu,
                fiyat      = 0,
                konu       = o.tahsilat_turu == "iade" ? "Ürün iadesi" : (o.tahsilat_turu == "Nakit" ? "Kasa" : (o.pos_id == null ?
                                                                                                                 (o.banka_id == null ? (o.kart_id == null ? "-" : o.kart_tanims.kart_adi) : o.banka.banka_adi) : o.pos_tanims.pos_adi)),
            };

            e.donem_alacak = donem_alacak;
            e.donem_borc   = donem_borc;

            List <CariDetayYeni> detay = odeme_tahsilat.Union(hesaplar).Union(alimlar).OrderByDescending(x => x.tarih).ToList();

            e.detay = detay;

            return(e);
        }