public StatusBarangModel() { Pembelian = new PembelianModel(); Penjualan = new PenjualanModel(); PenyesuaianStok = new PenyesuaianStokModel(); PenjualanReturn = new PenjualanReturnModel(); PembelianReturn = new PembelianReturnModel(); }
private void ShouldReturnSuccessForInsert() { var operationSecceded = false; var dataAccessJsonStr = string.Empty; var formattedJsonStr = string.Empty; try { var listPenjualanDetails = new List <PenjualanDetailModel> { new PenjualanDetailModel { barang_id = 1, qty = 5 }, new PenjualanDetailModel { barang_id = 2, qty = 5 }, new PenjualanDetailModel { barang_id = 3, qty = 5 } }; var penjualanModel = new PenjualanModel { pelanggan_id = default(uint), tanggal = DateTime.Now, status_pembayaran = true, diskon = 0, PenjualanDetails = listPenjualanDetails }; _services.Insert(penjualanModel); operationSecceded = true; } catch (DataAccessException ex) { operationSecceded = ex.DataAccessStatusInfo.OperationSucceeded; dataAccessJsonStr = JsonConvert.SerializeObject(ex.DataAccessStatusInfo); formattedJsonStr = JToken.Parse(dataAccessJsonStr).ToString(); } try { Assert.True(operationSecceded); _testOutputHelper.WriteLine("Data berhasil ditambahkan."); } finally { _testOutputHelper.WriteLine(formattedJsonStr); } }
public PenjualanModel GetData(string penjualanID) { PenjualanModel result = null; var sSql = @" SELECT aa.PenjualanID, aa.TglPenjualan, aa.JamPenjualan, aa.BuyerName, aa.CustomerID, aa.Alamat, aa.NoTelp, aa.Catatan, aa.IsBayarDeposit, aa.DepositID, aa.NilaiBiayaKirim, aa.NilaiTotal, aa.NilaiDiskonLain, aa.NilaiDeposit, aa.NilaiBiayaLain, aa.NilaiGrandTotal, aa.NilaiBayar, aa.NilaiKembali, ISNULL(bb.CustomerName, '') CustomerName FROM Penjualan aa LEFT JOIN Customer bb ON aa.CustomerID = bb.CustomerID WHERE PenjualanID = @PenjualanID "; using (var conn = new SqlConnection(_connString)) using (var cmd = new SqlCommand(sSql, conn)) { cmd.AddParam("@PenjualanID", penjualanID); conn.Open(); using (var dr = cmd.ExecuteReader()) { if (dr.HasRows) { dr.Read(); result = new PenjualanModel { PenjualanID = dr["PenjualanID"].ToString(), TglPenjualan = dr["TglPenjualan"].ToString().ToTglDMY(), JamPenjualan = dr["JamPenjualan"].ToString(), BuyerName = dr["BuyerName"].ToString(), CustomerID = dr["CustomerID"].ToString(), CustomerName = dr["CustomerName"].ToString(), Alamat = dr["Alamat"].ToString(), NoTelp = dr["NoTelp"].ToString(), Catatan = dr["Catatan"].ToString(), IsBayarDeposit = Convert.ToBoolean(dr["IsBayarDeposit"]), DepositID = dr["DepositID"].ToString(), NilaiDeposit = Convert.ToDecimal(dr["NilaiDeposit"]), NilaiBiayaKirim = Convert.ToDecimal(dr["NilaiBiayaKirim"]), NilaiTotal = Convert.ToDecimal(dr["NilaiTotal"]), NilaiDiskonLain = Convert.ToDecimal(dr["NilaiDiskonLain"]), NilaiBiayaLain = Convert.ToDecimal(dr["NilaiBiayaLain"]), NilaiGrandTotal = Convert.ToDecimal(dr["NilaiGrandTotal"]), NilaiBayar = Convert.ToDecimal(dr["NilaiBayar"]), NilaiKembali = Convert.ToDecimal(dr["NilaiKembali"]) }; } } } return(result); }
public PenjualanModel Save(PenjualanModel penjualan) { // validasi var result = penjualan; result = TryValidate(penjualan); var trsID = ""; // save using (var trans = TransHelper.NewScope()) { // edit: delete data lama if (penjualan.PenjualanID.Trim() != "") { _penjualan2Dal.Delete(penjualan.PenjualanID); _penjualanBayarDal.Delete(penjualan.PenjualanID); _penjualanDal.Delete(penjualan.PenjualanID); trsID = penjualan.PenjualanID; } // baru: generate no.transaksi else { var prefix = "JL" + DateTime.Now.ToString("yyMM"); trsID = _paramNoBL.GenNewID(prefix, 10); } // save header penjualan.PenjualanID = trsID; _penjualanDal.Insert(penjualan); // save detil barang foreach (var item in penjualan.ListBrg) { item.PenjualanID = trsID; item.PenjualanID2 = string.Format("{0}-{1}", trsID, item.NoUrut.ToString().PadLeft(3, '0')); _penjualan2Dal.Insert(item); } // save detil bayar if (penjualan.ListBayar != null) { foreach (var item in penjualan.ListBayar) { item.PenjualanID = trsID; item.PenjualanID2 = string.Format("{0}-{1}", trsID, item.NoUrut.ToString().PadLeft(2, '0')); _penjualanBayarDal.Insert(item); } } trans.Complete(); } return(result); }
private decimal GetNilaiPiutangJual(PenjualanModel penjualan) { const string TipeKasPiutang = "PT"; decimal result = 0; foreach (var item in penjualan.ListBayar) { var jenisBayar = _jenisBayarDal.GetData(item.JenisBayarID); if (jenisBayar.TipeKas == TipeKasPiutang) result += item.NilaiBayar; } return result; }
public void Update(PenjualanModel penjualan) { var sSql = @" UPDATE Penjualan SET TglPenjualan = @TglPenjualan, JamPenjualan = @JamPenjualan, BuyerName = @BuyerName, CustomerID = @CustomerID, Alamat = @Alamat, NoTelp = @NoTelp, Catatan = @Catatan, IsBayarDeposit = @IsBayarDeposit, DepositID = @DepositID, NilaiDeposit = @NilaiDeposit, NilaiBiayaKirim = @NilaiBiayaKirim, NilaiTotal = @NilaiTotal, NilaiDiskonLain = @NilaiDiskonLain, NilaiBiayaLain = @NilaiBiayaLain, NilaiGrandTotal = @NilaiGrandTotal, NilaiBayar = @NilaiBayar, NilaiKembali = @NilaiKembali WHERE PenjualanID = @PenjualanID "; using (var conn = new SqlConnection(_connString)) using (var cmd = new SqlCommand(sSql, conn)) { cmd.AddParam("@PenjualanID", penjualan.PenjualanID); cmd.AddParam("@TglPenjualan", penjualan.TglPenjualan.ToTglYMD()); cmd.AddParam("@JamPenjualan", penjualan.JamPenjualan); cmd.AddParam("@BuyerName", penjualan.BuyerName); cmd.AddParam("@CustomerID", penjualan.CustomerID); cmd.AddParam("@Alamat", penjualan.Alamat); cmd.AddParam("@NoTelp", penjualan.NoTelp); cmd.AddParam("@Catatan", penjualan.Catatan); cmd.AddParam("@IsBayarDeposit", penjualan.IsBayarDeposit); cmd.AddParam("@DepositID", penjualan.DepositID); cmd.AddParam("@NilaiDeposit", penjualan.NilaiDeposit); cmd.AddParam("@NilaiBiayaKirim", penjualan.NilaiBiayaKirim); cmd.AddParam("@NilaiTotal", penjualan.NilaiTotal); cmd.AddParam("@NilaiDiskonLain", penjualan.NilaiDiskonLain); cmd.AddParam("@NilaiBiayaLain", penjualan.NilaiBiayaLain); cmd.AddParam("@NilaiGrandTotal", penjualan.NilaiGrandTotal); cmd.AddParam("@NilaiBayar", penjualan.NilaiBayar); cmd.AddParam("@NilaiKembali", penjualan.NilaiKembali); conn.Open(); cmd.ExecuteNonQuery(); } }
private bool IsJualPiutang(PenjualanModel penjualan) { const string TipeKasPiutang = "PT"; var isPiutang = false; if (penjualan.ListBayar == null) return false; foreach (var item in penjualan.ListBayar) { var jenisBayar = _jenisBayarDal.GetData(item.JenisBayarID); if (jenisBayar.TipeKas == TipeKasPiutang) { isPiutang = true; break; } } return isPiutang; }
public BPKasModel Generate(PenjualanModel penjualan) { var bpKas = new BPKasModel { BPKasID = penjualan.PenjualanID, Tgl = penjualan.TglPenjualan, Jam = penjualan.JamPenjualan, Keterangan = string.Format("Penjualan {0} a/n {1}", penjualan.PenjualanID, penjualan.BuyerName), NilaiTotalKas = 0 }; var listBpKasDetil = new List <BPKasDetilModel>(); // update jenisKasID di detil penjualan foreach (var item in penjualan.ListBayar) { var jenisBayar = _jenisBayarBL.GetData(item.JenisBayarID); var jenisKas = _jenisKasBL.GetData(jenisBayar.JenisKasID); item.JenisKasID = jenisKas.JenisKasID; item.JenisKasName = jenisKas.JenisKasName; } var listJenisKas = _jenisKasBL.ListData(); int noUrut = 1; foreach (var item in listJenisKas) { var bpKasDetil = new BPKasDetilModel { BPKasID = penjualan.PenjualanID, BPKasDetilID = penjualan.PenjualanID + '-' + noUrut.ToString().PadLeft(2, '0'), JenisKasID = item.JenisKasID, JenisKasName = item.JenisKasName, NilaiKasMasuk = penjualan.ListBayar .Where(x => x.JenisKasID == item.JenisKasID) .Sum(x => x.NilaiBayar), }; noUrut++; if (bpKasDetil.NilaiKasMasuk != 0) { listBpKasDetil.Add(bpKasDetil); } } bpKas.ListDetil = listBpKasDetil; var result = Save(bpKas); return(result); }
public BPPiutangModel GenPiutang(PenjualanModel penjualan) { if (penjualan == null) { throw new ArgumentNullException(nameof(penjualan)); } if (!IsJualPiutang(penjualan)) return null; var nilaiPiutang = GetNilaiPiutangJual(penjualan); // header piutang var bpPiutang = new BPPiutangModel { BPPiutangID = penjualan.PenjualanID, Tgl = penjualan.TglPenjualan, Jam = penjualan.JamPenjualan, Keterangan = "Penjualan", PihakKeduaID = penjualan.CustomerID, PihakKeduaName = penjualan.CustomerName, NilaiPiutang = nilaiPiutang, NilaiLunas = 0 }; // detil piutang var resultDetil = new BPPiutangDetilModel { BPPiutangID = penjualan.PenjualanID, BPPiutangDetilID = penjualan.PenjualanID + '-' + "01", Tgl = penjualan.TglPenjualan, Jam = penjualan.JamPenjualan, Keterangan = "Piutang Jual", ReffID = penjualan.PenjualanID, NilaiPiutang = nilaiPiutang, NilaiLunas = 0 }; var listDetil = new List<BPPiutangDetilModel> { resultDetil }; bpPiutang.ListLunas = listDetil; var result = Save(bpPiutang); return result; }
private void ShouldReturnSuccessForDelete() { var operationSecceded = false; var dataAccessJsonStr = string.Empty; var formattedJsonStr = string.Empty; try { //for (uint i = 1; i <= 5; i++) //{ // var model = new PenjualanModel() // { // id = i, // }; // _services.Delete(model); //} var model = new PenjualanModel() { id = 1, }; _services.Delete(model); operationSecceded = true; } catch (DataAccessException ex) { operationSecceded = ex.DataAccessStatusInfo.OperationSucceeded; dataAccessJsonStr = JsonConvert.SerializeObject(ex.DataAccessStatusInfo); formattedJsonStr = JToken.Parse(dataAccessJsonStr).ToString(); } try { Assert.True(operationSecceded); _testOutputHelper.WriteLine("Data berhasil dihapus."); } finally { _testOutputHelper.WriteLine(formattedJsonStr); } }
public void Insert(PenjualanModel penjualan) { var sSql = @" INSERT INTO Penjualan( PenjualanID, TglPenjualan, JamPenjualan, BuyerName, CustomerID, Alamat, NoTelp, Catatan, IsBayarDeposit, DepositID, NilaiDeposit, NilaiBiayaKirim, NilaiTotal, NilaiDiskonLain, NilaiBiayaLain, NilaiGrandTotal, NilaiBayar, NilaiKembali) VALUES ( @PenjualanID, @TglPenjualan, @JamPenjualan, @BuyerName, @CustomerID, @Alamat, @NoTelp, @Catatan, @IsBayarDeposit, @DepositID, @NilaiDeposit, @NilaiBiayaKirim, @NilaiTotal, @NilaiDiskonLain, @NilaiBiayaLain, @NilaiGrandTotal, @NilaiBayar, @NilaiKembali) "; using (var conn = new SqlConnection(_connString)) using (var cmd = new SqlCommand(sSql, conn)) { cmd.AddParam("@PenjualanID", penjualan.PenjualanID); cmd.AddParam("@TglPenjualan", penjualan.TglPenjualan.ToTglYMD()); cmd.AddParam("@JamPenjualan", penjualan.JamPenjualan); cmd.AddParam("@BuyerName", penjualan.BuyerName); cmd.AddParam("@CustomerID", penjualan.CustomerID); cmd.AddParam("@Alamat", penjualan.Alamat); cmd.AddParam("@NoTelp", penjualan.NoTelp); cmd.AddParam("@Catatan", penjualan.Catatan); cmd.AddParam("@IsBayarDeposit", penjualan.IsBayarDeposit); cmd.AddParam("@NilaiDeposit", penjualan.NilaiDeposit); cmd.AddParam("@DepositID", penjualan.DepositID); cmd.AddParam("@NilaiBiayaKirim", penjualan.NilaiBiayaKirim); cmd.AddParam("@NilaiTotal", penjualan.NilaiTotal); cmd.AddParam("@NilaiDiskonLain", penjualan.NilaiDiskonLain); cmd.AddParam("@NilaiBiayaLain", penjualan.NilaiBiayaLain); cmd.AddParam("@NilaiGrandTotal", penjualan.NilaiGrandTotal); cmd.AddParam("@NilaiBayar", penjualan.NilaiBayar); cmd.AddParam("@NilaiKembali", penjualan.NilaiKembali); conn.Open(); cmd.ExecuteNonQuery(); } }
public BPHutangModel GenHutang(PenjualanModel penjualan, DepositModel deposit) { // ambil data hutang berdasarkan deposit var bpHutang = GetData(deposit.DepositID); if (bpHutang == null) { var errMsg = string.Format("Hutang {0} tidak ditemukan ", deposit.DepositID); throw new ArgumentException(errMsg); } // hapus detil lunas yang id-nya = PenjualanID List <BPHutangDetilModel> newListLunas = ( from c in bpHutang.ListLunas where c.ReffID != penjualan.PenjualanID select c ).ToList(); // tambahkan pelunasan dari penjualan int noUrut = newListLunas.Count + 1; newListLunas.Add(new BPHutangDetilModel { BPHutangID = bpHutang.BPHutangID, BPHutangDetilID = bpHutang.BPHutangID + '-' + noUrut.ToString().PadLeft(2, '0'), Tgl = penjualan.TglPenjualan, Jam = penjualan.JamPenjualan, ReffID = penjualan.PenjualanID, Keterangan = " Penjualan a/n " + penjualan.BuyerName, NilaiHutang = 0, NilaiLunas = penjualan.NilaiGrandTotal > penjualan.NilaiDeposit ? penjualan.NilaiDeposit : penjualan.NilaiGrandTotal, }); bpHutang.ListLunas = newListLunas; // simpan var result = Save(bpHutang); return(result); }
public void ShouldReturnModelMatchingNoNota() { PenjualanModel model = null; var noNotaToGet = "20190925000001"; try { model = (PenjualanModel)_services.GetByNoNota(noNotaToGet); } catch (DataAccessException ex) { _testOutputHelper.WriteLine(ex.DataAccessStatusInfo.GetFormatedValues()); } Assert.True(model != null); Assert.True(model.no_nota == noNotaToGet); if (model != null) { TestsHelper.WriteModel(_testOutputHelper, model); } }
public PenjualanModel TryValidate(PenjualanModel penjualan) { var result = penjualan; if (penjualan == null) { throw new ArgumentNullException(nameof(penjualan)); } // validasi tgl dan jam if (!penjualan.TglPenjualan.IsValidTgl("dd-MM-yyyy")) { throw new ArgumentException("Invalid Tgl.Penjualan"); } if (!penjualan.JamPenjualan.IsValidJam("HH:mm:ss")) { throw new ArgumentException("Invalid Jam.Penjualan"); } if (penjualan.CustomerID != "") { var customer = _customerDal.GetData(penjualan.CustomerID); penjualan.CustomerName = customer.CustomerName; } // cek BrgID foreach (var item in penjualan.ListBrg) { var brg = _brgBL.GetData(item.BrgID); if (brg == null) { throw new ArgumentException("Invalid BrgID "); } else { item.BrgName = brg.BrgName; } // re-calc qty akhir item.SubTotal = (item.Harga - item.Diskon) * item.Qty; } // validasi pembayaran var noUrut = 0; decimal totalBayar = 0; if (penjualan.ListBayar != null) { foreach (var item in penjualan.ListBayar) { var jenisBayar = _jenisBayarDal.GetData(item.JenisBayarID); if (jenisBayar == null) { throw new ArgumentException("Invalid JenisBayarID"); } else { item.JenisBayarName = jenisBayar.JenisBayarName; } item.NoUrut = noUrut; noUrut++; } totalBayar = penjualan.ListBayar.Sum(x => x.NilaiBayar); } // jumlah pembayaran tidak boleh kurang dari total totalBayar += penjualan.NilaiDeposit; if (totalBayar < penjualan.NilaiGrandTotal) { throw new ArgumentException("Pembayaran kurang dari Nilai Grand Total"); } penjualan.NilaiKembali = penjualan.NilaiBayar - penjualan.NilaiGrandTotal; return(result); }
public NotaJualPrintDoc(PenjualanModel penjualan) { _penjualan = penjualan; _fileName = ConfigurationManager.AppSettings["TemporerPrintFile"]; _printerName = ConfigurationManager.AppSettings["PrinterNotaJual"]; }
public PenjualanServicesFixture() { Model = new PenjualanModel(); Services = new PenjualanServices(null, new ModelDataAnnotationCheck()); }
public IEnumerable <PenjualanModel> ListData(string tgl1, string tgl2) { List <PenjualanModel> result = null; var sSql = @" SELECT aa.PenjualanID, aa.TglPenjualan, aa.JamPenjualan, aa.BuyerName, aa.CustomerID, aa.Alamat, aa.NoTelp, aa.Catatan, aa.IsBayarDeposit, aa.DepositID, aa.NilaiDeposit, aa.NilaiBiayaKirim, aa.NilaiTotal, aa.NilaiDiskonLain, aa.NilaiBiayaLain, aa.NilaiGrandTotal, aa.NilaiBayar, aa.NilaiKembali, ISNULL(bb.CustomerName, '') CustomerName FROM Penjualan aa LEFT JOIN Customer bb ON aa.CustomerID = bb.CustomerID WHERE TglPenjualan 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) { result = new List <PenjualanModel>(); while (dr.Read()) { var item = new PenjualanModel { PenjualanID = dr["PenjualanID"].ToString(), TglPenjualan = dr["TglPenjualan"].ToString().ToTglDMY(), JamPenjualan = dr["JamPenjualan"].ToString(), BuyerName = dr["BuyerName"].ToString(), CustomerID = dr["CustomerID"].ToString(), CustomerName = dr["CustomerName"].ToString(), Alamat = dr["Alamat"].ToString(), NoTelp = dr["NoTelp"].ToString(), Catatan = dr["Catatan"].ToString(), IsBayarDeposit = Convert.ToBoolean(dr["IsBayarDeposit"]), DepositID = dr["DepositID"].ToString(), NilaiDeposit = Convert.ToDecimal(dr["NilaiDeposit"]), NilaiBiayaKirim = Convert.ToDecimal(dr["NilaiBiayaKirim"]), NilaiTotal = Convert.ToDecimal(dr["NilaiTotal"]), NilaiDiskonLain = Convert.ToDecimal(dr["NilaiDiskonLain"]), NilaiBiayaLain = Convert.ToDecimal(dr["NilaiBiayaLain"]), NilaiGrandTotal = Convert.ToDecimal(dr["NilaiGrandTotal"]), NilaiBayar = Convert.ToDecimal(dr["NilaiBayar"]), NilaiKembali = Convert.ToDecimal(dr["NilaiKembali"]) }; result.Add(item); } } } } 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(); }
public IEnumerable <BPStokModel> Generate(PenjualanModel penjualan) { if (penjualan == null) { throw new ArgumentNullException(nameof(penjualan)); } if (penjualan.ListBrg == null) { throw new ArgumentNullException(nameof(penjualan.ListBrg)); } List <BPStokModel> result = null; // generate minus foreach (var item in penjualan.ListBrg) { var stokItem = new StokItem { ReffID = penjualan.PenjualanID, Tgl = penjualan.TglPenjualan, Jam = penjualan.JamPenjualan, BrgID = item.BrgID, BPStokID = item.BPStokID, BrgName = item.BrgName, QtyIn = 0, NilaiHpp = 0, QtyOut = item.Qty, HargaJual = item.Harga, }; var genResult = RemoveStok(stokItem); if (result == null) { result = new List <BPStokModel>(); } foreach (var item2 in genResult) { result.Add(item2); } } if (result != null) { // delete data lama foreach (var item in result) { _bpStokDal.Delete(item.BPStokID); _bpStokDetilDal.Delete(item.BPStokID); } // insert data baru foreach (var item in result) { _bpStokDal.Insert(item); foreach (var item2 in item.ListDetil) { _bpStokDetilDal.Insert(item2); } } } // update stok info foreach (var item in penjualan.ListBrg) { _brgStokHargaBL.UpdateStok(item.BrgID); } return(result); }