Exemplo n.º 1
0
        public async Task <bool> AddTransH(ApTransHView trans)
        {
            //string test = codeview.SrcCode.ToUpper();
            //var cekFirst = _context.CbSrcCodes.Where(x => x.SrcCode == test).ToList();
            string KdSrc = "AP";

            ApTransH transH = new ApTransH
            {
                Bukti      = GetNumber(),
                Supplier   = trans.Supplier.ToUpper(),
                Tanggal    = trans.Tanggal,
                Keterangan = trans.Keterangan,
                Jumlah     = trans.JumBayar,
                Discount   = 0,
                Unapplied  = trans.UpdateUnapplied,
                Hutang     = 0,
                KdBank     = trans.KdBank,
                PPn        = 0,
                PPh        = 0,
                JumPPh     = 0,
                JumPPn     = 0,
                Bruto      = 0,
                Netto      = 0,
                Pajak      = false,
                Kode       = "23",
                ApSupplId  = trans.ApSupplId

                             //  ApTransDs = new List<ApTransD>()
            };

            #region detailTrans

            //List<ApHutang> transaksi = new List<ApHutang>();
            //transaksi = _context.ApHutangs.Where(x => x.supplier == trans.supplier && x.Sisa != 0).ToList();

            //foreach (var item in trans.ApTransDs)
            //{
            //    transH.ApTransDs.Add(new ApTransD()
            //    {
            //        Jumlah = item.Jumlah,
            //        Kode = "14",
            //        KodeTran = item.KodeTran,
            //        Lpb = transH.Bukti,
            //        Tanggal = trans.Tanggal,
            //        Discount = item.Discount,
            //        Bayar = item.Bayar,
            //        Sisa = item.UpdateSisa

            //    });

            //    transaksi.Where(x => x.Dokumen == item.Lpb).ToList()
            //        .ForEach(s =>
            //        {
            //            s.Bayar = item.Bayar + item.Discount;
            //            s.Discount = item.Discount;
            //            s.Sisa = item.UpdateSisa;
            //        });

            //}
            //transH.ApTransDs.RemoveAll(x => x.Bayar == 0 && x.Discount == 0);
            //transaksi.RemoveAll(x => x.Bayar == 0 && x.Discount == 0);

            #endregion

            ApHutang transaksi = new ApHutang
            {
                Kode       = "CA",
                Dokumen    = transH.Bukti,
                Tanggal    = transH.Tanggal,
                Supplier   = transH.Supplier,
                Keterangan = transH.Keterangan,
                KodeTran   = "23",
                Jumlah     = -1 * transH.Jumlah,
                SldSisa    = -1 * transH.Jumlah,
                Bayar      = -1 * transH.Jumlah,
                Discount   = 0,
                UnApplied  = -1 * transH.Unapplied,
                Sisa       = -1 * transH.Unapplied,

                Dpp      = 0,
                PPn      = 0,
                PPh      = 0,
                SldBayar = 0,
                SldDisc  = 0,
                SldUnpl  = 0
            };

            var supplier = (from e in _context.ApSuppls where e.Supplier == trans.Supplier select e).FirstOrDefault();
            supplier.Hutang -= transH.Jumlah;

            _context.ApSuppls.Update(supplier);
            _context.ApTransHs.Add(transH);
            _context.ApHutangs.Add(transaksi);
            await _context.SaveChangesAsync();

            var cekBukti = (from e in _context.CbTransHs where e.DocNo == transH.Bukti select e).FirstOrDefault();

            if (cekBukti == null)
            {
                if (transH.KdBank != null && transH.KdBank.Length != 0)
                {
                    CbTransH transBank = new CbTransH
                    {
                        DocNo      = transH.Bukti,
                        KodeBank   = trans.KdBank,
                        Tanggal    = trans.Tanggal,
                        Keterangan = trans.Keterangan,
                        Saldo      = -1 * trans.JumBayar,

                        CbTransDs = new List <CbTransD>()
                    };

                    transBank.CbTransDs.Add(new CbTransD()
                    {
                        SrcCode    = KdSrc,
                        Keterangan = "Pembayaran Uang Muka " + trans.Supplier.ToUpper(),
                        Bayar      = trans.JumBayar,
                        Jumlah     = -1 * trans.JumBayar
                    });

                    var bank = (from e in _context.Banks where e.KodeBank == trans.KdBank select e).FirstOrDefault();
                    bank.Saldo -= trans.JumBayar;

                    _context.Banks.Update(bank);
                    _context.CbTransHs.Add(transBank);
                    await _context.SaveChangesAsync();
                }
            }

            return(true);
        }
Exemplo n.º 2
0
        public async Task <bool> AddTransH(ApTransHView trans)
        {
            //string test = codeview.SrcCode.ToUpper();
            //var cekFirst = _context.CbSrcCodes.Where(x => x.SrcCode == test).ToList();
            string KdSrc = "AP";

            ApTransH transH = new ApTransH
            {
                Bukti      = GetNumber(),
                Supplier   = trans.Supplier.ToUpper(),
                Tanggal    = trans.Tanggal,
                Keterangan = trans.Keterangan,
                Jumlah     = trans.JumBayar,
                Discount   = trans.JumDiskon,
                Unapplied  = trans.UpdateUnapplied,
                Hutang     = trans.JumHutang,
                KdBank     = trans.KdBank,
                PPn        = 0,
                PPh        = 0,
                JumPPh     = 0,
                JumPPn     = 0,
                Bruto      = 0,
                Netto      = 0,
                Pajak      = false,
                Kode       = "24",
                ApSupplId  = trans.ApSupplId,

                ApTransDs = new List <ApTransD>()
            };

            List <ApHutang> transaksi = new List <ApHutang>();

            transaksi = _context.ApHutangs.Where(x => x.Supplier == trans.Supplier && x.Sisa != 0).ToList();

            foreach (var item in trans.ApTransDs)
            {
                transH.ApTransDs.Add(new ApTransD()
                {
                    Jumlah   = item.Jumlah,
                    Kode     = "24",
                    KodeTran = item.KodeTran,
                    Lpb      = transH.Bukti,
                    Tanggal  = trans.Tanggal,
                    Discount = item.Discount,
                    Bayar    = item.Bayar,
                    Sisa     = item.UpdateSisa
                });

                transaksi.Where(x => x.Dokumen == item.Lpb).ToList()
                .ForEach(s =>
                {
                    s.Bayar    = item.Bayar + item.Discount;
                    s.Discount = item.Discount;
                    s.Sisa     = item.UpdateSisa;
                });
            }
            transH.ApTransDs.RemoveAll(x => x.Bayar == 0 && x.Discount == 0);
            transaksi.RemoveAll(x => x.Bayar == 0 && x.Discount == 0);

            var Supplier = (from e in _context.ApSuppls where e.Supplier == trans.Supplier select e).FirstOrDefault();

            Supplier.Hutang -= trans.Jumlah;

            ApHutang Newtransaksi = new ApHutang
            {
                Kode       = "CA",
                Dokumen    = transH.Bukti,
                Tanggal    = transH.Tanggal,
                Supplier   = transH.Supplier,
                Keterangan = transH.Keterangan,
                KodeTran   = "24",
                Jumlah     = -1 * trans.JumHutang,
                SldSisa    = -1 * trans.JumHutang,
                Bayar      = -1 * trans.JumBayar,
                Discount   = 0,
                UnApplied  = -1 * trans.UpdateUnapplied,
                Sisa       = -1 * trans.UpdateUnapplied,

                Dpp      = 0,
                PPn      = 0,
                PPh      = 0,
                SldBayar = 0,
                SldDisc  = 0,
                SldUnpl  = 0
            };

            _context.ApSuppls.Update(Supplier);
            _context.ApTransHs.Add(transH);
            _context.ApHutangs.UpdateRange(transaksi);
            _context.ApHutangs.Add(Newtransaksi);
            await _context.SaveChangesAsync();



            var cekBukti = (from e in _context.CbTransHs where e.DocNo == transH.Bukti select e).FirstOrDefault();

            if (cekBukti == null)
            {
                if (transH.KdBank != null && transH.KdBank.Length != 0)
                {
                    CbTransH transBank = new CbTransH
                    {
                        DocNo      = transH.Bukti,
                        KodeBank   = trans.KdBank,
                        Tanggal    = trans.Tanggal,
                        Keterangan = trans.Keterangan,
                        Saldo      = -1 * trans.JumBayar,

                        CbTransDs = new List <CbTransD>()
                    };
                    foreach (var item in trans.ApTransDs)
                    {
                        transBank.CbTransDs.Add(new CbTransD()
                        {
                            SrcCode    = KdSrc,
                            Keterangan = "Pembayaran Hutang" + trans.Supplier.ToUpper(),
                            Bayar      = item.Bayar,
                            Jumlah     = -1 * item.Bayar,
                        });
                    }
                    var bank = (from e in _context.Banks where e.KodeBank == trans.KdBank select e).FirstOrDefault();
                    bank.Saldo -= trans.JumBayar;

                    _context.Banks.Update(bank);
                    _context.CbTransHs.Add(transBank);

                    await _context.SaveChangesAsync();
                }
            }

            return(true);
        }
Exemplo n.º 3
0
        public async Task <bool> EditTransH(ApTransHView trans)
        {
            //string test = codeview.SrcCode.ToUpper();
            //var cekFirst = _context.CbSrcCodes.Where(x => x.SrcCode == test).ToList();
            var cekFirst = _context.ApHutangs.Where(x => x.Dokumen == trans.Bukti).FirstOrDefault();


            ApTransH transH = new ApTransH
            {
                Supplier   = trans.Supplier.ToUpper(),
                Tanggal    = trans.Tanggal,
                Keterangan = trans.Keterangan,
                Jumlah     = trans.Jumlah,
                PPn        = 0,
                PPh        = 0,
                JumPPh     = 0,
                JumPPn     = 0,
                Bruto      = trans.Jumlah,
                Netto      = 0,
                Discount   = 0,
                Hutang     = 0,
                Pajak      = false,
                Unapplied  = 0,
                Kode       = "21",
                ApSupplId  = trans.ApSupplId,

                ApTransDs = new List <ApTransD>()
            };

            foreach (var item in trans.ApTransDs)
            {
                transH.ApTransDs.Add(new ApTransD()
                {
                    DistCode   = item.DistCode,
                    Keterangan = item.Keterangan,
                    Jumlah     = item.Jumlah,
                    Kode       = "21",
                    KodeTran   = "21",
                    Lpb        = transH.Bukti,
                    Sisa       = item.Jumlah,
                    Discount   = 0,
                    Bayar      = 0,
                    Tanggal    = trans.Tanggal
                });
            }

            ApHutang transaksi = new ApHutang
            {
                Kode       = "IN",
                Tanggal    = transH.Tanggal,
                Supplier   = transH.Supplier,
                Keterangan = transH.Keterangan,
                KodeTran   = "21",
                Jumlah     = transH.Jumlah,
                Bayar      = 0,
                Discount   = 0,
                UnApplied  = 0,
                Sisa       = transH.Jumlah,
                SldSisa    = transH.Jumlah,
                Dpp        = transH.Jumlah,
                PPn        = 0,
                PPh        = 0,
                SldBayar   = 0,
                SldDisc    = 0,
                SldUnpl    = 0
            };

            try
            {
                var ExistingTrans = _context.ApTransHs.Where(x => x.ApTransHId == trans.ApTransHId).FirstOrDefault();
                if (ExistingTrans != null)
                {
                    transH.Bukti      = ExistingTrans.Bukti;
                    transaksi.Dokumen = ExistingTrans.Bukti;

                    _context.ApTransHs.Remove(ExistingTrans);

                    var Supplier = (from e in _context.ApSuppls where e.Supplier == trans.Supplier select e).FirstOrDefault();

                    Supplier.Hutang -= ExistingTrans.Jumlah;
                    Supplier.Hutang += trans.Jumlah;

                    _context.ApSuppls.Update(Supplier);
                    _context.ApHutangs.Remove(cekFirst);

                    _context.ApTransHs.Add(transH);
                    _context.ApHutangs.Add(transaksi);
                    await _context.SaveChangesAsync();

                    return(true);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(false);
        }