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(); } }
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(); } }
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); }
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); }
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); }
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); }
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(); }