Esempio n. 1
0
        public void Update(BPHutangModel model)
        {
            var sSql = @"
                UPDATE
                    BPHutang 
                SET
                    Tgl = @Tgl, 
                    Jam = @Jam, 
                    PihakKeduaID = @PihakKeduaID,
                    Keterangan = @Keterangan, 
                    NilaiHutang = @NilaiHutang, 
                    NilaiLunas = @NilaiLunas 
                WHERE
                    BPHutangID = @BPHutangID  ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@BPHutangID", model.BPHutangID);
                    cmd.AddParam("@Tgl", model.Tgl.ToTglYMD());
                    cmd.AddParam("@Jam", model.Jam);
                    cmd.AddParam("@PihakKeduaID", model.PihakKeduaID);
                    cmd.AddParam("@Keterangan", model.Keterangan);
                    cmd.AddParam("@NilaiHutang", model.NilaiHutang);
                    cmd.AddParam("@NilaiLunas", model.NilaiLunas);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }
        }
Esempio n. 2
0
        public void Insert(BPHutangModel model)
        {
            var sSql = @"
                INSERT INTO 
                    BPHutang (
                        BPHutangID, Tgl, Jam, PihakKeduaID,
                        Keterangan, NilaiHutang, NilaiLunas) 
                VALUES (
                        @BPHutangID, @Tgl, @Jam, @PihakKeduaID,
                        @Keterangan, @NilaiHutang, @NilaiLunas ) ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@BPHutangID", model.BPHutangID);
                    cmd.AddParam("@Tgl", model.Tgl.ToTglYMD());
                    cmd.AddParam("@Jam", model.Jam);
                    cmd.AddParam("@PihakKeduaID", model.PihakKeduaID);
                    cmd.AddParam("@Keterangan", model.Keterangan);
                    cmd.AddParam("@NilaiHutang", model.NilaiHutang);
                    cmd.AddParam("@NilaiLunas", model.NilaiLunas);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }
        }
Esempio n. 3
0
        private BPHutangModel Save(BPHutangModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            //  validate pihak kedua;
            var pihakKedua = _pihakKeduaBL.GetData(model.PihakKeduaID);

            if (pihakKedua == null)
            {
                throw new ArgumentException("PihakKeduaID invalid");
            }
            else
            {
                model.PihakKeduaName = pihakKedua.PihakKeduaName;
            }


            //  update nilai total di header
            model.NilaiHutang = model.ListLunas.Sum(x => x.NilaiHutang);
            model.NilaiLunas  = model.ListLunas.Sum(x => x.NilaiLunas);

            //  nilai pelunasan tidak boleh lebih dari hutang
            if (model.NilaiLunas > model.NilaiHutang)
            {
                throw new ArgumentException("Nilai Pelunasan melebihi hutang");
            }

            //  update BPHutangID dan BPHutangDetilID di detil lunas
            int noUrut = 0;

            foreach (var item in model.ListLunas.OrderBy(x => x.Tgl.ToTglYMD() + x.Jam))
            {
                noUrut++;
                item.BPHutangID      = model.BPHutangID;
                item.BPHutangDetilID = model.BPHutangID + '-' + noUrut.ToString().PadLeft(2, '0');
            }

            //  delete data lama
            using (var trans = TransHelper.NewScope())
            {
                _bpHutangDetilDal.Delete(model.BPHutangID);
                _bpHutangDal.Delete(model.BPHutangID);

                _bpHutangDal.Insert(model);
                foreach (var item in model.ListLunas)
                {
                    _bpHutangDetilDal.Insert(item);
                }

                trans.Complete();
            }
            return(model);
        }
Esempio n. 4
0
        private BPHutangModel BPHutangDataFactory()
        {
            var result = new BPHutangModel
            {
                BPHutangID     = "A1",
                Tgl            = "11-02-2019",
                Jam            = "01:38:00",
                PihakKeduaID   = "B1",
                PihakKeduaName = "",
                Keterangan     = "C1",
                NilaiHutang    = 300000,
                NilaiLunas     = 250000
            };

            return(result);
        }
Esempio n. 5
0
        public IEnumerable <BPHutangModel> ListData(string tgl1, string tgl2)
        {
            List <BPHutangModel> result = null;
            var sSql = @"
                SELECT
                    aa.BPHutangID, aa.Tgl, aa.Jam, aa.PihakKeduaID,
                    aa.Keterangan, aa.NilaiHutang, aa.NilaiLunas,
                    ISNULL(bb.PihakKeduaName, '') PihakKeduaName 
                FROM    
                    BPHutang aa
                    LEFT JOIN PihakKedua bb ON aa.PihakKeduaID = bb.PihakKeduaID 
                WHERE
                    aa.Tgl BETWEEN @Tgl1 AND @Tgl2  ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@Tgl1", tgl1.ToTglYMD());
                    cmd.AddParam("@Tgl2", tgl2.ToTglYMD());
                    conn.Open();
                    using (var dr = cmd.ExecuteReader())
                    {
                        if (!dr.HasRows)
                        {
                            return(null);
                        }
                        result = new List <BPHutangModel>();
                        while (dr.Read())
                        {
                            var item = new BPHutangModel
                            {
                                BPHutangID     = dr["BPHutangID"].ToString(),
                                Tgl            = dr["Tgl"].ToString().ToTglDMY(),
                                Jam            = dr["Jam"].ToString(),
                                PihakKeduaID   = dr["PihakKeduaID"].ToString(),
                                PihakKeduaName = dr["PihakKeduaName"].ToString(),
                                Keterangan     = dr["Keterangan"].ToString(),
                                NilaiHutang    = Convert.ToDecimal(dr["NilaiHutang"]),
                                NilaiLunas     = Convert.ToDecimal(dr["NilaiLunas"]),
                            };
                            result.Add(item);
                        }
                    }
                }
            return(result);
        }
Esempio n. 6
0
        public BPHutangModel GetData(string id)
        {
            BPHutangModel result = null;
            var           sSql   = @"
                SELECT
                    aa.BPHutangID, aa.Tgl, aa.Jam, aa.PihakKeduaID,
                    aa.Keterangan, aa.NilaiHutang, aa.NilaiLunas,
                    ISNULL(bb.PihakKeduaName, '') PihakKeduaName 
                FROM    
                    BPHutang aa
                    LEFT JOIN PihakKedua bb ON aa.PihakKeduaID = bb.PihakKeduaID 
                WHERE
                    aa.BPHutangID = @BPHutangID ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@BPHutangID", id);
                    conn.Open();
                    using (var dr = cmd.ExecuteReader())
                    {
                        if (!dr.HasRows)
                        {
                            return(null);
                        }
                        dr.Read();
                        result = new BPHutangModel
                        {
                            BPHutangID     = dr["BPHutangID"].ToString(),
                            Tgl            = dr["Tgl"].ToString().ToTglDMY(),
                            Jam            = dr["Jam"].ToString(),
                            PihakKeduaID   = dr["PihakKeduaID"].ToString(),
                            PihakKeduaName = dr["PihakKeduaName"].ToString(),
                            Keterangan     = dr["Keterangan"].ToString(),
                            NilaiHutang    = Convert.ToDecimal(dr["NilaiHutang"]),
                            NilaiLunas     = Convert.ToDecimal(dr["NilaiLunas"]),
                        };
                    }
                }
            return(result);
        }
Esempio n. 7
0
        private void SaveTransaksi()
        {
            //  pindah textbox ke variable utk proses simpan
            var kodeTrs    = NoTrsTextBox.Text;
            var tglTrs     = TanggalDateTime.Value.ToString("dd-MM-yyyy");
            var jamTrs     = JamTextBox.Text;
            var customerID = "";

            if (CustomerComboBox.SelectedValue != null)
            {
                customerID = CustomerComboBox.SelectedValue.ToString();
            }
            //
            var buyerName = BuyerNameTextBox.Text;
            var alamat    = AlamatTextBox.Text;
            var noTelpon  = NoTelpTextBox.Text;
            var catatan   = CatatanTextBox.Text;
            //
            var biayaKirim = BiayaKirimNumText.Value;
            var total      = TotalNumText.Value;
            var diskon     = DiskonNumText.Value;
            var biayaLain  = BiayaLainNumText.Value;
            var grandTotal = GrandTotalNumText.Value;
            var bayarCash  = BayarCashNumText.Value;
            var totalBayar = BayarNonCashNumText.Value + BayarCashNumText.Value;
            var kembali    = KembaliNumText.Value;

            //--ambil data grid barang
            var dtlTrs = new List <Penjualan2Model>();
            var noUrut = 0;
            List <Penjualan2Model> listDetilBrg = null;

            foreach (DataRow dr in DetilPenjualanTable.Rows)
            {
                if (listDetilBrg == null)
                {
                    listDetilBrg = new List <Penjualan2Model>();
                }

                if (dr["BrgID"].ToString().Trim() == "")
                {
                    continue;
                }

                var dtlAdj = new Penjualan2Model()
                {
                    NoUrut   = noUrut,
                    BrgID    = dr["BrgID"].ToString(),
                    BrgName  = "",
                    BPStokID = dr["BPStokID"].ToString(),
                    Qty      = Convert.ToDecimal(dr["Qty"]),
                    Harga    = Convert.ToDecimal(dr["Harga"]),
                    Diskon   = Convert.ToDecimal(dr["Diskon"]),
                    SubTotal = Convert.ToDecimal(dr["SubTotal"])
                };
                listDetilBrg.Add(dtlAdj);
                noUrut++;
            }

            //  siapkan object tampung pembayaran
            List <PenjualanBayarModel> listDetilBayar = null;

            //  ambil data bayar detil
            if (_listBayarDetil != null)
            {
                foreach (var item in _listBayarDetil)
                {
                    var itemNonCash = new PenjualanBayarModel
                    {
                        JenisBayarID = item.JenisBayarID,
                        NilaiBayar   = item.NilaiBayar,
                        Catatan      = item.Catatan
                    };
                    if (listDetilBayar == null)
                    {
                        listDetilBayar = new List <PenjualanBayarModel>();
                    }
                    listDetilBayar.Add(itemNonCash);
                }
            }

            if (kembali != 0)
            {
                var itemKembali = new PenjualanBayarModel
                {
                    JenisBayarID = "KAS",
                    NilaiBayar   = -kembali,
                    Catatan      = ""
                };
                if (listDetilBayar == null)
                {
                    listDetilBayar = new List <PenjualanBayarModel>();
                }
                listDetilBayar.Add(itemKembali);
            }

            //  cari nilai deposit
            decimal bayarDepositDeposit = 0;

            if (DepositCheckBox.Checked)
            {
                decimal nilaiDeposit = NilaiDepositText.Value;
                bayarDepositDeposit = Math.Min((grandTotal - totalBayar), nilaiDeposit);
            }


            var penjualan = new PenjualanModel
            {
                PenjualanID  = kodeTrs,
                TglPenjualan = tglTrs,
                JamPenjualan = jamTrs,
                CustomerID   = customerID,
                BuyerName    = buyerName,
                Alamat       = alamat,
                NoTelp       = noTelpon,
                Catatan      = catatan,

                IsBayarDeposit = DepositCheckBox.Checked,
                DepositID      = DepositIDText.Text,
                NilaiDeposit   = bayarDepositDeposit,

                NilaiBiayaKirim = biayaKirim,
                NilaiTotal      = total,
                NilaiDiskonLain = diskon,
                NilaiBiayaLain  = biayaLain,
                NilaiGrandTotal = grandTotal,
                NilaiBayar      = totalBayar,
                NilaiKembali    = kembali,

                ListBrg   = listDetilBrg,
                ListBayar = listDetilBayar
            };

            PenjualanModel result = null;

            try
            {
                using (var trans = TransHelper.NewScope())
                {
                    //  save penjualan
                    result = _penjualanBL.Save(penjualan);

                    //  generate kas
                    BPKasModel bpKas = null;
                    if (penjualan.ListBayar != null)
                    {
                        bpKas = _bpKasBL.Generate(penjualan);
                    }

                    //  generate hutang lunas (kalo ada deposit)
                    BPHutangModel bpHutang = null;
                    if (penjualan.IsBayarDeposit)
                    {
                        var deposit = _depositBL.GetData(penjualan.DepositID);
                        bpHutang = _bpHutangBL.GenHutang(penjualan, deposit);
                    }

                    //  Gen BP Piutang (Jika Ada)
                    _bpPiutangBL.GenPiutang(penjualan);

                    //  generate stok
                    //  copy original list
                    var listBrgOri = result.ListBrg.CloneObject();
                    //  remove item2 jasa di list
                    var listBrg = new List <Penjualan2Model>();
                    foreach (var item in result.ListBrg)
                    {
                        if (item.BrgID.ToLower().Contains("jasa"))
                        {
                        }
                        else
                        {
                            listBrg.Add(item);
                        }
                    }
                    result.ListBrg = listBrg;
                    var bpStok = _bpStokBL.Generate(result);
                    //  kembalikan list original-nya (utk kepentingan cetak)
                    result.ListBrg = listBrgOri;

                    trans.Complete();
                }
            }
            catch (ArgumentException ex)
            {
                MessageBox.Show(ex.Message);
                return;
            }

            if (result != null)
            {
                LastIDLabel.Text = result.PenjualanID;
            }

            if (MessageBox.Show("Cetak Nota ?", "Penjualan", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                //  ubah nama barang menjadi nama brg versi pendek (utk print)
                foreach (var item in result.ListBrg)
                {
                    var brg = _brgBL.GetData(item.BrgID);
                    if (brg.BrgNamePrint.Trim() != "")
                    {
                        item.BrgName = brg.BrgNamePrint;
                    }
                }
                var printDoc = new NotaJualPrintDoc(result);
                printDoc.Print();
            }
            ClearForm();
        }