Esempio n. 1
0
        public async Task <bool> AddIcItem(IcItemView produk)
        {
            string test     = produk.ItemCode.ToUpper();
            var    cekFirst = _context.IcItems.Where(x => x.ItemCode == test).ToList();

            if (cekFirst.Count == 0)
            {
                IcItem Produk = new IcItem()
                {
                    ItemCode    = produk.ItemCode.ToUpper(),
                    NamaItem    = produk.NamaItem,
                    Satuan      = produk.Satuan,
                    Divisi      = produk.Divisi,
                    JnsBrng     = produk.JnsBrng,
                    CostMethod  = produk.CostMethod,
                    AcctSet     = produk.AcctSet,
                    Category    = produk.Category,
                    NamaLengkap = produk.NamaLengkap
                };
                _context.IcItems.Add(Produk);
                await _context.SaveChangesAsync();

                return(true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 2
0
        public async Task <bool> EditTransH(IcTransHView trans)
        {
            var ExistingTrans = _context.IcTransHs.Where(x => x.IcTransHId == trans.IcTransHId).FirstOrDefault();

            /* transaksi lama dikurangi */

            if (ExistingTrans != null)
            {
                foreach (var item in ExistingTrans.IcTransDs)
                {
                    IcItem cekItem = _context.IcItems.Where(x => x.ItemCode == item.ItemCode).FirstOrDefault();
                    if (cekItem != null)
                    {
                        IcAltItem itemlokasi1 = _context.IcAltItems.Where(x => x.ItemCode == item.ItemCode && x.Lokasi == item.Lokasi).FirstOrDefault();
                        if (itemlokasi1 != null)
                        {
                            itemlokasi1.Qty += item.QtyShp;
                            _context.IcAltItems.Update(itemlokasi1);
                        }


                        IcAltItem itemlokasi2 = _context.IcAltItems.Where(x => x.ItemCode == item.ItemCode && x.Lokasi == item.Lokasi2).FirstOrDefault();
                        if (itemlokasi2 != null)
                        {
                            itemlokasi2.Qty -= item.QtyShp;
                            _context.IcAltItems.Update(itemlokasi2);
                        }
                    }
                    _context.IcTransHs.Remove(ExistingTrans);
                }
            }

            /* transaksi update */

            IcTransH transH = new IcTransH
            {
                NoFaktur   = ExistingTrans.NoFaktur,
                Tanggal    = trans.Tanggal,
                Keterangan = trans.Keterangan,
                Lokasi     = trans.Lokasi,
                Lokasi2    = trans.Lokasi2,
                Kode       = "90",
                IcTransDs  = new List <IcTransD>()
            };

            foreach (var item in trans.IcTransDs)
            {
                transH.IcTransDs.Add(new IcTransD()
                {
                    ItemCode = item.ItemCode,
                    NamaItem = item.NamaItem,
                    QtyShp   = item.QtyShp,
                    Kode     = "90",
                    Lokasi   = transH.Lokasi,
                    Lokasi2  = transH.Lokasi2,
                    NoFaktur = transH.NoFaktur,
                    Tanggal  = trans.Tanggal
                });

                IcItem cekItem = _context.IcItems.Where(x => x.ItemCode == item.ItemCode).FirstOrDefault();
                if (cekItem != null)
                {
                    IcAltItem cekLokasi1 = _context.IcAltItems.Where(x => x.ItemCode == item.ItemCode && x.Lokasi == transH.Lokasi).FirstOrDefault();
                    if (cekLokasi1 == null)
                    {
                        IcAltItem Produk = new IcAltItem()
                        {
                            ItemCode = cekItem.ItemCode.ToUpper(),
                            NamaItem = cekItem.NamaItem,
                            Satuan   = cekItem.Satuan,
                            Lokasi   = transH.Lokasi,
                            Qty      = -1 * item.QtyShp
                        };
                        _context.IcAltItems.Add(Produk);
                    }
                    else
                    {
                        cekLokasi1.Qty -= item.QtyShp;
                        _context.IcAltItems.Update(cekLokasi1);
                    }

                    /** lokasi 2 **/
                    IcAltItem cekLokasi2 = _context.IcAltItems.Where(x => x.ItemCode == item.ItemCode && x.Lokasi == transH.Lokasi2).FirstOrDefault();
                    if (cekLokasi2 == null)
                    {
                        IcAltItem Produk = new IcAltItem()
                        {
                            ItemCode = cekItem.ItemCode.ToUpper(),
                            NamaItem = cekItem.NamaItem,
                            Satuan   = cekItem.Satuan,
                            Lokasi   = transH.Lokasi2,
                            Qty      = item.QtyShp
                        };
                        _context.IcAltItems.Add(Produk);
                    }
                    else
                    {
                        cekLokasi2.Qty += item.QtyShp;
                        _context.IcAltItems.Update(cekLokasi2);
                    }
                }
            }

            _context.IcTransHs.Add(transH);

            await _context.SaveChangesAsync();

            return(true);
        }
Esempio n. 3
0
        public async Task <bool> AddTransH(IcTransHView trans)
        {
            //string test = codeview.SrcCode.ToUpper();
            //var cekFirst = _context.CbSrcCodes.Where(x => x.SrcCode == test).ToList();

            IcTransH transH = new IcTransH
            {
                NoFaktur   = GetNumber(),
                Tanggal    = trans.Tanggal,
                Keterangan = trans.Keterangan,
                Lokasi     = trans.Lokasi,
                Lokasi2    = trans.Lokasi2,
                Kode       = "90",
                IcTransDs  = new List <IcTransD>()
            };

            foreach (var item in trans.IcTransDs)
            {
                transH.IcTransDs.Add(new IcTransD()
                {
                    ItemCode = item.ItemCode,
                    NamaItem = item.NamaItem,
                    QtyShp   = item.QtyShp,
                    Kode     = "90",
                    Lokasi   = item.Lokasi,
                    Lokasi2  = item.Lokasi2,
                    NoFaktur = transH.NoFaktur,
                    Tanggal  = trans.Tanggal
                });

                IcItem cekItem = _context.IcItems.Where(x => x.ItemCode == item.ItemCode).FirstOrDefault();
                if (cekItem != null)
                {
                    IcAltItem cekLokasi1 = _context.IcAltItems.Where(x => x.ItemCode == item.ItemCode && x.Lokasi == item.Lokasi).FirstOrDefault();
                    if (cekLokasi1 == null)
                    {
                        IcAltItem Produk = new IcAltItem()
                        {
                            ItemCode = cekItem.ItemCode.ToUpper(),
                            NamaItem = cekItem.NamaItem,
                            Satuan   = cekItem.Satuan,
                            Lokasi   = item.Lokasi,
                            Qty      = -1 * item.QtyShp
                        };
                        _context.IcAltItems.Add(Produk);
                    }
                    else
                    {
                        cekLokasi1.Qty -= item.QtyShp;
                        _context.IcAltItems.Update(cekLokasi1);
                    }

                    /** lokasi 2 **/
                    IcAltItem cekLokasi2 = _context.IcAltItems.Where(x => x.ItemCode == item.ItemCode && x.Lokasi == item.Lokasi2).FirstOrDefault();
                    if (cekLokasi2 == null)
                    {
                        IcAltItem Produk = new IcAltItem()
                        {
                            ItemCode = cekItem.ItemCode.ToUpper(),
                            NamaItem = cekItem.NamaItem,
                            Satuan   = cekItem.Satuan,
                            Lokasi   = item.Lokasi2,
                            Qty      = item.QtyShp
                        };
                        _context.IcAltItems.Add(Produk);
                    }
                    else
                    {
                        cekLokasi2.Qty += item.QtyShp;
                        _context.IcAltItems.Update(cekLokasi2);
                    }
                }
            }

            _context.IcTransHs.Add(transH);

            await _context.SaveChangesAsync();

            return(true);
        }
Esempio n. 4
0
        public async Task <bool> AddTransH(OeTransHView trans)
        {
            //string test = codeview.SrcCode.ToUpper();
            //var cekFirst = _context.CbSrcCodes.Where(x => x.SrcCode == test).ToList();
            decimal mQty5 = 0;

            OeTransH transH = new OeTransH
            {
                NoLpb      = trans.Status == "Tax" ? GetNumberTax() : GetNumber(),
                Customer   = trans.Customer.ToUpper(),
                NamaCust   = trans.NamaCust,
                Lokasi     = trans.Lokasi.ToUpper(),
                Tanggal    = trans.Tanggal,
                Keterangan = trans.Keterangan,
                Jumlah     = trans.Jumlah,
                Ongkos     = trans.Ongkos,
                Ppn        = trans.Ppn,
                PpnPersen  = trans.PpnPersen,
                TtlJumlah  = trans.TtlJumlah,
                DPayment   = trans.DPayment,
                Tagihan    = trans.Tagihan,
                TotalQty   = trans.TotalQty,
                Status     = trans.Status,
                Kode       = "94",
                Cek        = "1",

                OeTransDs = new List <OeTransD>()
            };

            foreach (var item in trans.OeTransDs)
            {
                if (item.Qty != 0)
                {
                    if (transH.TotalQty != 0)
                    {
                        mQty5 = (item.Jumlah - item.Discount) - (item.Qty / transH.TotalQty * transH.Ppn) + (item.Qty / transH.TotalQty * transH.Ongkos);
                    }



                    IcItem cekItem = _context.IcItems.Where(x => x.ItemCode == item.ItemCode).FirstOrDefault();

                    if (cekItem != null)
                    {
                        IcAltItem cekLokasi1 = _context.IcAltItems.Where(x => x.ItemCode == item.ItemCode && x.Lokasi == trans.Lokasi).FirstOrDefault();
                        if (cekLokasi1 == null)
                        {
                            IcAltItem Produk = new IcAltItem()
                            {
                                ItemCode = cekItem.ItemCode.ToUpper(),
                                NamaItem = cekItem.NamaItem,
                                Satuan   = cekItem.Satuan,
                                Lokasi   = trans.Lokasi,
                                Qty      = -1 * item.Qty
                            };
                            _context.IcAltItems.Add(Produk);
                        }
                        else
                        {
                            cekLokasi1.Qty -= item.Qty;
                            _context.IcAltItems.Update(cekLokasi1);
                        }

                        cekItem.HrgJual = item.Harga;


                        if (cekItem.JnsBrng.Equals("Stock"))       // jika stock
                        {
                            cekItem.Qty -= item.Qty;
                        }

                        if (cekItem.CostMethod.Equals("Moving Avarage"))      // jika moving avarage
                        {
                            cekItem.Cost -= item.Cost;
                        }

                        transH.OeTransDs.Add(new OeTransD()
                        {
                            ItemCode = item.ItemCode.ToUpper(),
                            NamaItem = item.NamaItem,
                            Satuan   = item.Satuan,
                            Lokasi   = transH.Lokasi,
                            Harga    = item.Harga,
                            Qty      = item.Qty,
                            Persen   = item.Persen,
                            Discount = item.Discount,
                            Jumlah   = item.Jumlah,
                            Kode     = "94",
                            NoLpb    = transH.NoLpb,
                            Tanggal  = trans.Tanggal,
                            HrgCost  = item.HrgCost,
                            Cost     = item.Cost,
                            JumDpp   = mQty5
                        });

                        _context.IcItems.Update(cekItem);
                    }
                }
                _context.OeTransHs.Add(transH);
            }



            var customer = GetCustomerId(transH.Customer);

            ArPiutng piutang = new ArPiutng
            {
                Kode       = "OE",
                Dokumen    = transH.NoLpb,
                Tanggal    = transH.Tanggal,
                DueDate    = transH.Tanggal.AddDays(customer.Termin),
                Customer   = transH.Customer,
                Keterangan = transH.Keterangan,
                Jumlah     = transH.Jumlah,
                Sisa       = transH.Jumlah,
                SldSisa    = transH.Jumlah,
                KodeTran   = transH.Kode
            };

            _context.ArPiutngs.Add(piutang);

            customer.Piutang += transH.Jumlah;

            _context.ArCusts.Update(customer);

            await _context.SaveChangesAsync();

            return(true);
        }
Esempio n. 5
0
        public async Task <bool> DelTransH(int id)
        {
            try
            {
                var ExistingTrans = _context.OeTransHs.Where(x => x.OeTransHId == id).FirstOrDefault();

                if (ExistingTrans != null)
                {
                    foreach (var item in ExistingTrans.OeTransDs)
                    {
                        if (item.Qty != 0)
                        {
                            IcItem cekItem = _context.IcItems.Where(x => x.ItemCode == item.ItemCode).FirstOrDefault();
                            if (cekItem != null)
                            {
                                IcAltItem cekLokasi1 = _context.IcAltItems.Where(x => x.ItemCode == item.ItemCode && x.Lokasi == ExistingTrans.Lokasi).FirstOrDefault();
                                if (cekLokasi1 == null)
                                {
                                    IcAltItem Produk = new IcAltItem()
                                    {
                                        ItemCode = cekItem.ItemCode.ToUpper(),
                                        NamaItem = cekItem.NamaItem,
                                        Satuan   = cekItem.Satuan,
                                        Lokasi   = ExistingTrans.Lokasi,
                                        Qty      = item.Qty
                                    };
                                    _context.IcAltItems.Add(Produk);
                                }
                                else
                                {
                                    cekLokasi1.Qty += item.Qty;
                                    _context.IcAltItems.Update(cekLokasi1);
                                }


                                if (cekItem.JnsBrng.Equals("Stock"))   // jika stock
                                {
                                    cekItem.Qty += item.Qty;
                                }

                                if (cekItem.CostMethod.Equals("Moving Avarage"))  // jika moving avarage
                                {
                                    cekItem.Cost += item.Cost;
                                }
                                _context.IcItems.Update(cekItem);
                            }
                        }
                    }
                    var customer = GetCustomerId(ExistingTrans.Customer);
                    var piutang  = GetPiutang(ExistingTrans.NoLpb);

                    customer.Piutang -= ExistingTrans.Jumlah;

                    _context.ArCusts.Update(customer);
                    _context.ArPiutngs.Remove(piutang);
                    _context.OeTransHs.Remove(ExistingTrans);
                    await _context.SaveChangesAsync();

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

            return(false);
        }
Esempio n. 6
0
        public async Task <bool> AddTransH(IrTransHView trans)
        {
            //string test = codeview.SrcCode.ToUpper();
            //var cekFirst = _context.CbSrcCodes.Where(x => x.SrcCode == test).ToList();
            decimal mQty5 = 0;

            IrTransH transH = new IrTransH
            {
                NoLpb      = GetNumber(),
                Supplier   = trans.Supplier.ToUpper(),
                NamaSup    = trans.NamaSup,
                Lokasi     = trans.Lokasi.ToUpper(),
                Tanggal    = trans.Tanggal,
                Keterangan = trans.Keterangan,
                Jumlah     = trans.Jumlah,
                Ongkos     = trans.Ongkos,
                Ppn        = trans.Ppn,
                PpnPersen  = trans.PpnPersen,
                TtlJumlah  = trans.TtlJumlah,
                DPayment   = trans.DPayment,
                Tagihan    = trans.Tagihan,
                TotalQty   = trans.TotalQty,
                Kode       = "82",
                Cek        = "1",

                IrTransDs = new List <IrTransD>()
            };

            foreach (var item in trans.IrTransDs)
            {
                if (item.Qty != 0)
                {
                    if (transH.TotalQty != 0)
                    {
                        mQty5 = (item.Jumlah - item.Discount) - (item.Qty / transH.TotalQty * transH.Ppn) + (item.Qty / transH.TotalQty * transH.Ongkos);
                    }

                    transH.IrTransDs.Add(new IrTransD()
                    {
                        ItemCode = item.ItemCode.ToUpper(),
                        NamaItem = item.NamaItem,
                        Satuan   = item.Satuan,
                        Lokasi   = transH.Lokasi,
                        Harga    = item.Harga,
                        Qty      = item.Qty,
                        Persen   = item.Persen,
                        Discount = item.Discount,
                        Jumlah   = item.Jumlah,
                        Kode     = "82",
                        NoLpb    = transH.NoLpb,
                        Tanggal  = trans.Tanggal,
                        JumDpp   = mQty5
                    });

                    IcItem cekItem = _context.IcItems.Where(x => x.ItemCode == item.ItemCode).FirstOrDefault();

                    if (cekItem != null)
                    {
                        #region altitem

                        IcAltItem cekLokasi1 = _context.IcAltItems.Where(x => x.ItemCode == item.ItemCode && x.Lokasi == trans.Lokasi).FirstOrDefault();
                        if (cekLokasi1 == null)
                        {
                            IcAltItem Produk = new IcAltItem()
                            {
                                ItemCode = cekItem.ItemCode.ToUpper(),
                                NamaItem = cekItem.NamaItem,
                                Satuan   = cekItem.Satuan,
                                Lokasi   = trans.Lokasi,
                                Qty      = item.Qty
                            };
                            _context.IcAltItems.Add(Produk);
                        }
                        else
                        {
                            cekLokasi1.Qty += item.Qty;
                            _context.IcAltItems.Update(cekLokasi1);
                        }

                        #endregion altitem

                        cekItem.Harga = item.Harga;          // harga beli barang

                        if (cekItem.JnsBrng.Equals("Stock")) // jika stock
                        {
                            cekItem.Qty += item.Qty;
                        }

                        if (cekItem.CostMethod.Equals("Moving Avarage"))  // jika moving avarage
                        {
                            cekItem.Cost += mQty5;
                        }

                        if (cekItem.Qty != 0)
                        {
                            cekItem.HrgNetto = cekItem.Cost / cekItem.Qty;
                        }
                        else
                        {
                            cekItem.HrgNetto = cekItem.Harga;
                        }

                        _context.IcItems.Update(cekItem);
                    }
                }
                _context.IrTransHs.Add(transH);
            }

            ApHutang hutang = new ApHutang
            {
                Kode       = "IR",
                Dokumen    = transH.NoLpb,
                Tanggal    = transH.Tanggal,
                DueDate    = transH.Tanggal,
                Supplier   = transH.Supplier,
                Keterangan = transH.Keterangan,
                Jumlah     = transH.Jumlah,
                Sisa       = transH.Jumlah,
                SldSisa    = transH.Jumlah,
                KodeTran   = transH.Kode
            };
            _context.ApHutangs.Add(hutang);

            var supplier = GetSupplierId(transH.Supplier);
            supplier.Hutang += transH.Jumlah;

            _context.ApSuppls.Update(supplier);

            await _context.SaveChangesAsync();

            return(true);
        }
Esempio n. 7
0
        public async Task <bool> EditTransH(IrTransHView trans)
        {
            decimal mQty5 = 0;

            var cekFirst = _context.ApHutangs.Where(x => x.Dokumen == trans.NoLpb).FirstOrDefault();

            if (cekFirst != null)
            {
                try
                {
                    var ExistingTrans = _context.IrTransHs.Where(x => x.IrTransHId == trans.IrTransHId).FirstOrDefault();

                    if (ExistingTrans != null)
                    {
                        foreach (var item in ExistingTrans.IrTransDs)
                        {
                            if (item.Qty != 0)
                            {
                                IcItem cekItem = _context.IcItems.Where(x => x.ItemCode == item.ItemCode).FirstOrDefault();
                                if (cekItem != null)
                                {
                                    IcAltItem cekLokasi1 = _context.IcAltItems.Where(x => x.ItemCode == item.ItemCode && x.Lokasi == ExistingTrans.Lokasi).FirstOrDefault();
                                    if (cekLokasi1 == null)
                                    {
                                        IcAltItem Produk = new IcAltItem()
                                        {
                                            ItemCode = cekItem.ItemCode.ToUpper(),
                                            NamaItem = cekItem.NamaItem,
                                            Satuan   = cekItem.Satuan,
                                            Lokasi   = ExistingTrans.Lokasi,
                                            Qty      = -1 * item.Qty
                                        };
                                        _context.IcAltItems.Add(Produk);
                                    }
                                    else
                                    {
                                        cekLokasi1.Qty -= item.Qty;
                                        _context.IcAltItems.Update(cekLokasi1);
                                    }
                                    if (cekItem.JnsBrng.Equals("Stock"))   // jika stock
                                    {
                                        cekItem.Qty -= item.Qty;
                                    }

                                    if (cekItem.CostMethod.Equals("Moving Avarage"))  // jika moving avarage
                                    {
                                        cekItem.Cost -= item.JumDpp;
                                    }

                                    if (cekItem.Qty != 0)
                                    {
                                        cekItem.HrgNetto = cekItem.Cost / cekItem.Qty;
                                    }
                                    else
                                    {
                                        cekItem.HrgNetto = cekItem.Harga;
                                    }

                                    _context.IcItems.Update(cekItem);
                                }
                            }
                        }

                        var existingsupplier = GetSupplierId(ExistingTrans.Supplier);
                        existingsupplier.Hutang -= ExistingTrans.Jumlah;

                        _context.ApSuppls.Update(existingsupplier);
                        _context.ApHutangs.Remove(cekFirst);
                        _context.IrTransHs.Remove(ExistingTrans);

                        /* update nya */
                        IrTransH transH = new IrTransH
                        {
                            NoLpb      = trans.NoLpb,
                            Supplier   = trans.Supplier.ToUpper(),
                            NamaSup    = trans.NamaSup,
                            Lokasi     = trans.Lokasi.ToUpper(),
                            Tanggal    = trans.Tanggal,
                            Keterangan = trans.Keterangan,
                            Jumlah     = trans.Jumlah,
                            Ongkos     = trans.Ongkos,
                            Ppn        = trans.Ppn,
                            PpnPersen  = trans.PpnPersen,
                            TtlJumlah  = trans.TtlJumlah,
                            DPayment   = trans.DPayment,
                            Tagihan    = trans.Tagihan,
                            TotalQty   = trans.TotalQty,
                            Kode       = "82",
                            Cek        = "1",

                            IrTransDs = new List <IrTransD>()
                        };

                        foreach (var item in trans.IrTransDs)
                        {
                            if (item.Qty != 0)
                            {
                                if (transH.TotalQty != 0)
                                {
                                    mQty5 = (item.Jumlah - item.Discount) - (item.Qty / transH.TotalQty * transH.Ppn) + (item.Qty / transH.TotalQty * transH.Ongkos);
                                }

                                transH.IrTransDs.Add(new IrTransD()
                                {
                                    ItemCode = item.ItemCode.ToUpper(),
                                    NamaItem = item.NamaItem,
                                    Satuan   = item.Satuan,
                                    Lokasi   = transH.Lokasi,
                                    Harga    = item.Harga,
                                    Qty      = item.Qty,
                                    Persen   = item.Persen,
                                    Discount = item.Discount,
                                    Jumlah   = item.Jumlah,
                                    Kode     = "82",
                                    NoLpb    = transH.NoLpb,
                                    Tanggal  = trans.Tanggal,
                                    JumDpp   = mQty5
                                });


                                IcItem cekItem = _context.IcItems.Where(x => x.ItemCode == item.ItemCode).FirstOrDefault();
                                if (cekItem != null)
                                {
                                    IcAltItem cekLokasi1 = _context.IcAltItems.Where(x => x.ItemCode == item.ItemCode && x.Lokasi == trans.Lokasi).FirstOrDefault();
                                    if (cekLokasi1 == null)
                                    {
                                        IcAltItem Produk = new IcAltItem()
                                        {
                                            ItemCode = cekItem.ItemCode.ToUpper(),
                                            NamaItem = cekItem.NamaItem,
                                            Satuan   = cekItem.Satuan,
                                            Lokasi   = trans.Lokasi,
                                            Qty      = item.Qty
                                        };
                                        _context.IcAltItems.Add(Produk);
                                    }
                                    else
                                    {
                                        cekLokasi1.Qty += item.Qty;
                                        _context.IcAltItems.Update(cekLokasi1);
                                    }

                                    if (cekItem.JnsBrng.Equals("Stock"))   // jika stock
                                    {
                                        cekItem.Qty += item.Qty;
                                    }

                                    if (cekItem.CostMethod.Equals("Moving Avarage"))  // jika moving avarage
                                    {
                                        cekItem.Cost += mQty5;
                                    }

                                    if (cekItem.Qty != 0)
                                    {
                                        cekItem.HrgNetto = cekItem.Cost / cekItem.Qty;
                                    }
                                    else
                                    {
                                        cekItem.HrgNetto = cekItem.Harga;
                                    }

                                    _context.IcItems.Update(cekItem);
                                }
                            }
                        }

                        ApHutang hutang = new ApHutang
                        {
                            Kode       = "IR",
                            Dokumen    = transH.NoLpb,
                            Tanggal    = transH.Tanggal,
                            DueDate    = transH.Tanggal,
                            Supplier   = transH.Supplier,
                            Keterangan = transH.Keterangan,
                            Jumlah     = transH.Jumlah,
                            Sisa       = transH.Jumlah,
                            SldSisa    = transH.Jumlah,
                            KodeTran   = transH.Kode
                        };


                        var supplier = GetSupplierId(transH.Supplier);
                        supplier.Hutang += transH.Jumlah;

                        _context.IrTransHs.Add(transH);
                        _context.ApSuppls.Update(supplier);
                        _context.ApHutangs.Add(hutang);

                        await _context.SaveChangesAsync();

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



            return(false);
        }
Esempio n. 8
0
        public async Task <bool> DelTransH(int id)
        {
            try
            {
                var ExistingTrans = _context.IrTransHs.Where(x => x.IrTransHId == id).FirstOrDefault();

                if (ExistingTrans != null)
                {
                    foreach (var item in ExistingTrans.IrTransDs)
                    {
                        if (item.Qty != 0)
                        {
                            IcItem cekItem = _context.IcItems.Where(x => x.ItemCode == item.ItemCode).FirstOrDefault();
                            if (cekItem != null)
                            {
                                IcAltItem cekLokasi1 = _context.IcAltItems.Where(x => x.ItemCode == item.ItemCode && x.Lokasi == ExistingTrans.Lokasi).FirstOrDefault();
                                if (cekLokasi1 == null)
                                {
                                    IcAltItem Produk = new IcAltItem()
                                    {
                                        ItemCode = cekItem.ItemCode.ToUpper(),
                                        NamaItem = cekItem.NamaItem,
                                        Satuan   = cekItem.Satuan,
                                        Lokasi   = ExistingTrans.Lokasi,
                                        Qty      = -1 * item.Qty
                                    };
                                    _context.IcAltItems.Add(Produk);
                                }
                                else
                                {
                                    cekLokasi1.Qty -= item.Qty;
                                    _context.IcAltItems.Update(cekLokasi1);
                                }
                                //   cekItem.Qty -= item.Qty;
                                //   cekItem.Cost -= item.JumDpp;
                                if (cekItem.JnsBrng.Equals("Stock"))   // jika stock
                                {
                                    cekItem.Qty -= item.Qty;
                                }

                                if (cekItem.CostMethod.Equals("Moving Avarage"))  // jika moving avarage
                                {
                                    cekItem.Cost -= item.JumDpp;
                                }
                                if (cekItem.Qty != 0)
                                {
                                    cekItem.HrgNetto = cekItem.Cost / cekItem.Qty;
                                }
                                else
                                {
                                    cekItem.HrgNetto = cekItem.Harga;
                                }

                                _context.IcItems.Update(cekItem);
                            }
                        }
                    }
                    var supplier = GetSupplierId(ExistingTrans.Supplier);
                    var hutang   = GetHutang(ExistingTrans.NoLpb);

                    supplier.Hutang -= ExistingTrans.Jumlah;

                    _context.ApSuppls.Update(supplier);
                    _context.ApHutangs.Remove(hutang);
                    _context.IrTransHs.Remove(ExistingTrans);
                    await _context.SaveChangesAsync();

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

            return(false);
        }