コード例 #1
0
        private void ShowDataBrgGrid(int rowIndex)
        {
            //  get key (KodeBrg)
            string kodeBrg = (string)DetilPenjualanTable.Rows[rowIndex]["BrgID"];

            //  get nama barang
            var brgName = "";
            var brg     = _brgBL.GetData(kodeBrg);

            if (brg != null)
            {
                brgName = brg.BrgName;
            }

            //  cari keterangan stok control
            var bpStokID = (string)DetilPenjualanTable.Rows[rowIndex]["BPStokID"];

            if (bpStokID.Trim() != "")
            {
                var stok = _bpStokBL.GetData(bpStokID);
                if (stok != null)
                {
                    brgName = brgName + " " + stok.StokControl;
                }
            }

            //  tampilkan di grid
            DetilPenjualanTable.Rows[rowIndex]["BrgName"] = brgName;
        }
コード例 #2
0
        public StokAdjustmentModel TryValidate(StokAdjustmentModel stokAdjustment)
        {
            var result = stokAdjustment;

            if (stokAdjustment == null)
            {
                throw new ArgumentNullException(nameof(stokAdjustment));
            }

            //  validasi tgl dan jam
            if (!stokAdjustment.TglTrs.IsValidTgl("dd-MM-yyyy"))
            {
                throw new ArgumentException("Invalid Tgl.Stok Adjustment");
            }
            if (!stokAdjustment.JamTrs.IsValidJam("HH:mm:ss"))
            {
                throw new ArgumentException("Invalid Jam.Stok Adjustment");
            }
            //  cek BrgID
            foreach (var item in stokAdjustment.ListBrg)
            {
                var brg = _brgBL.GetData(item.BrgID);
                if (brg == null)
                {
                    throw new ArgumentException("Invalid BrgID ");
                }
                //  re-calc qty akhir
                item.QtyAkhir = item.QtyAwal + item.QtyAdjust;
            }
            return(result);
        }
コード例 #3
0
        public IEnumerable <BrgPriceModel> TryValidate(IEnumerable <BrgPriceModel> listBrgPrice)
        {
            var result = listBrgPrice;

            if (listBrgPrice == null)
            {
                throw new ArgumentNullException(nameof(listBrgPrice));
            }

            foreach (var item in listBrgPrice)
            {
                if (item.BrgID.Trim() == "")
                {
                    throw new ArgumentException("BrgID empty");
                }

                var brg = _brgBL.GetData(item.BrgID);
                if (brg == null)
                {
                    var errMsg = string.Format("BrgID invalid {0}", item.BrgID);
                    throw new ArgumentException(errMsg);
                }
            }

            return(result);
        }
コード例 #4
0
        public void PilihBrgIDHasil()
        {
            var searchForm   = new SearchingForm <BrgSearchResultModel>(_brgBL);
            var resultDialog = searchForm.ShowDialog();

            if (resultDialog == DialogResult.OK)
            {
                var brg = _brgBL.GetData(searchForm.SelectedDataKey);
                _view.BrgIDHasil   = brg.BrgID;
                _view.BrgNameHasil = brg.BrgName;
            }
        }
コード例 #5
0
        private void ValidateBrgID()
        {
            var brg = _brgBL.GetData(BrgIDTextBox.Text);

            if (brg is null)
            {
                BrgNameTextBox.Text = string.Empty;
            }
            else
            {
                BrgNameTextBox.Text = brg.BrgName;
            }
        }
コード例 #6
0
        public ReceiptDetilModel PilihBrg(ReceiptDetilModel pd)
        {
            var searchForm   = new SearchingForm <BrgSearchResultModel>(_brgBL);
            var resultDialog = searchForm.ShowDialog();

            if (resultDialog == DialogResult.OK)
            {
                var brgID = searchForm.SelectedDataKey;
                var brg   = _brgBL.GetData(brgID);
                if (brg == null)
                {
                    return(pd);
                }

                if (pd == null)
                {
                    pd = new ReceiptDetilModel();
                }

                pd.BrgID   = brgID;
                pd.BrgName = brg.BrgName;
            }
            return(pd);
        }
コード例 #7
0
        public OrderJual2Model PilihBrg(OrderJual2Model orderJual2)
        {
            var searchForm   = new SearchingForm <BrgSearchResultModel>(_brgBL);
            var resultDialog = searchForm.ShowDialog();

            if (resultDialog == DialogResult.OK)
            {
                var brgID = searchForm.SelectedDataKey;
                var brg   = _brgBL.GetData(brgID);
                if (brg == null)
                {
                    return(orderJual2);
                }

                if (orderJual2 == null)
                {
                    orderJual2 = new OrderJual2Model();
                }

                orderJual2.BrgID   = brgID;
                orderJual2.BrgName = brg.BrgName;
            }
            return(orderJual2);
        }
コード例 #8
0
        void LoadDataBrg(string brgID)
        {
            var brg = _brgBL.GetData(brgID);

            BrgIDText.Text = brgID;
            if (brg == null)
            {
                BrgNameText.Clear();
                KeteranganText.Clear();
                LoadJenisBrgCombo();
                LoadColorCombo();
                LoadMerkCombo();
                LoadKemasanComboBox();
            }
            else
            {
                BrgNameText.Text    = brg.BrgName;
                KeteranganText.Text = brg.Keterangan;
                var subJenisBrg = _subJenisBrgBL.GetData(brg.SubJenisBrgID);
                if (subJenisBrg != null)
                {
                    JenisBrgComboBox.SelectedValue = subJenisBrg.JenisBrgID;
                }
                else
                {
                    JenisBrgComboBox.SelectedValue = "";
                }

                LoadSubJenisBrgCombo();
                SubJenisBrgComboBox.SelectedValue = brg.SubJenisBrgID;

                MerkComboBox.SelectedValue  = brg.MerkID;
                ColorComboBox.SelectedValue = brg.ColorID;
                KemasanComboBox.Text        = brg.Kemasan;
                AktifCheckBox.Checked       = brg.IsAktif;
            }
        }
コード例 #9
0
        public OrderJualModel TryValidate(OrderJualModel orderJual)
        {
            var result = orderJual;

            if (orderJual == null)
            {
                throw new ArgumentNullException(nameof(orderJual));
            }

            //  validasi tgl dan jam
            if (!orderJual.TglOrderJual.IsValidTgl("dd-MM-yyyy"))
            {
                throw new ArgumentException("Invalid Tgl.OrderJual");
            }
            if (!orderJual.JamOrderJual.IsValidJam("HH:mm:ss"))
            {
                throw new ArgumentException("Invalid Jam.OrderJual");
            }
            //  cek BrgID
            foreach (var item in orderJual.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;
            }

            return(result);
        }
コード例 #10
0
        private void ShowDataBrgGrid(int rowIndex)
        {
            //  get key (KodeBrg)
            string kodeBrg = (string)DetilAdjTable.Rows[rowIndex]["BrgID"];

            //  get nama barang
            var brgName = "";
            var brg     = _brgBL.GetData(kodeBrg);

            if (brg != null)
            {
                brgName = brg.BrgName;
            }

            //  get stok
            decimal qtyAwal = _bpStokBL.GetStok(kodeBrg);

            //  tampilkan di grid
            DetilAdjTable.Rows[rowIndex]["BrgName"] = brgName;
            DetilAdjTable.Rows[rowIndex]["QtyAwal"] = qtyAwal;
            var qtyAdjust = Convert.ToDecimal(DetilAdjTable.Rows[rowIndex]["QtyAdjust"]);

            DetilAdjTable.Rows[rowIndex]["QtyAkhir"] = qtyAwal + qtyAdjust;
        }
コード例 #11
0
        public void AddStok(string brgID, decimal qty, double hpp,
                            string tgl, string jam, string trsMasukID,
                            string trsDOID, string jenisMutasiID)
        {
            #region VALIDASI-INPUT
            //  validasi brg
            var brg = _brgBL.GetData(brgID);
            if (brg == null)
            {
                var errMsg = string.Format("BrgID invalid: {0}", brgID);
                throw new ArgumentException(errMsg);
            }

            //  cek jenis mutasi
            var jenisMutasi = _jenisMutasiBL.GetData(jenisMutasiID);
            if (jenisMutasi == null)
            {
                var errMsg = string.Format("JenisMutasiID invalid : {0}", jenisMutasiID);
                throw new ArgumentException(errMsg);
            }
            if (!jenisMutasi.IsBrgMasuk)
            {
                var errMsg = string.Format("JenisMutasiID invalid bukan BrgMasuk: {0}", jenisMutasiID);
                throw new ArgumentException(errMsg);
            }

            //  validasi tgl
            if (!tgl.IsValidTgl("dd-MM-yyyy"))
            {
                var errMsg = string.Format("Tgl invalid: {0}", tgl);
                throw new ArgumentException(errMsg);
            }
            //  validasi jam
            if (!tgl.IsValidJam("HH:mm:ss"))
            {
                var errMsg = string.Format("Jam invalid: {0}", jam);
                throw new ArgumentException(errMsg);
            }
            #endregion

            #region PERSIAPAN-ID-TABLE
            //  contoh StokInID = SI.1901.00031
            var prefixStokIn = PREFIX_STOK_IN + DateTime.Now.ToString(".yyMM.");
            var stokInID     = _paramNoBL.GenNewID(prefixStokIn, 12);
            //  contoh StokInOutID = SI.1901.00031.001
            var prefixStokInOut = stokInID + ".";
            var stokInOutID     = _paramNoBL.GenNewID(prefixStokInOut, 16);
            //  contoh StokControlID = DO.1901.00021-B5431
            var stokControlID = string.Format("{0}-{1}", trsDOID, brgID);
            #endregion

            #region PROSES-INSERT-DATA
            using (var trans = TransHelper.NewScope())
            {
                var stokIn = new StokInModel
                {
                    StokInID = stokInID,
                    BrgID    = brgID,

                    TglMasuk   = tgl,
                    JamMasuk   = jam,
                    TrsMasukID = trsMasukID,

                    QtyIn    = qty,
                    QtySaldo = qty,
                    Hpp      = hpp,

                    StokControlID = stokControlID,
                    TrsDOID       = trsDOID,
                };
                _stokInDal.Insert(stokIn);

                var stokInOut = new StokInOutModel
                {
                    StokInID    = stokInID,
                    StokInOutID = stokInOutID,

                    TglTrs        = tgl,
                    JamTrs        = jam,
                    ReffTrsID     = trsMasukID,
                    JenisMutasiID = jenisMutasiID,

                    QtyIn     = qty,
                    QtyOut    = 0,
                    Hpp       = hpp,
                    HargaJual = 0
                };
                _stokInOutDal.Insert(stokInOut);
                trans.Complete();
            }
            #endregion
        }
コード例 #12
0
ファイル: DepositBL.cs プロジェクト: druryyl/AnugerahStore
        public DepositModel Save(DepositModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            //  cek pihak ke dua
            var pihakKedua = _pihakKeduaBL.GetData(model.PihakKeduaID);

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

            //  cek jenis bayar
            var jenisBayar = _jenisBayarBL.GetData(model.JenisBayarID);

            if (jenisBayar == null)
            {
                throw new ArgumentException("JenisBayarID Invalid ");
            }
            else
            {
                model.JenisBayarName = jenisBayar.JenisBayarName;
                model.JenisKasID     = jenisBayar.JenisKasID;
                model.JenisKasName   = jenisBayar.JenisKasName;
            }

            if (model.ListBrg != null)
            {
                foreach (var item in model.ListBrg)
                {
                    var brg = _brgBL.GetData(item.BrgID);
                    if (brg == null)
                    {
                        throw new ArgumentException("BrgID invalid");
                    }
                }
            }

            //  cek nilai deposit
            if (model.NilaiDeposit <= 0)
            {
                throw new ArgumentException("Nilai Deposit tidak boleh minus");
            }

            //  proses simpan
            using (var trans = TransHelper.NewScope())
            {
                if (model.DepositID.Trim() == "")
                {
                    model.DepositID = GenNewID();
                    _depositDal.Insert(model);
                    if (model.ListBrg != null)
                    {
                        foreach (var item in model.ListBrg)
                        {
                            item.DepositID = model.DepositID;
                            _depositDetilDal.Insert(item);
                        }
                    }
                }
                else
                {
                    _depositDetilDal.Delete(model.DepositID);
                    _depositDal.Update(model);
                    if (model.ListBrg != null)
                    {
                        foreach (var item in model.ListBrg)
                        {
                            item.DepositID = model.DepositID;
                            _depositDetilDal.Insert(item);
                        }
                    }
                }
                trans.Complete();
            }
            return(model);
        }
コード例 #13
0
        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);
        }