Пример #1
0
        public void GetData_ValidData_NoEx()
        {
            using (var trans = TransHelper.NewScope())
            {
                //  arrange
                var expected = JenisTrsKasirDataFactory();
                _jenisTrsKasirDal.Insert(expected);

                //  act
                var actual = _jenisTrsKasirDal.GetData("A1");

                //  assert
                actual.Should().BeEquivalentTo(expected);
            }
        }
Пример #2
0
        public BukuKasModel Save(BukuKasModel bukuKas)
        {
            #region VALIDASI-DATA
            //  validasi null
            if (bukuKas == null)
            {
                throw new ArgumentNullException(nameof(bukuKas));
            }
            //  validasi tglBuku
            if (!bukuKas.TglBuku.IsValidTgl("dd-MM-yyyy"))
            {
                var errMsg = string.Format("Invalid TglBuku: {0}", bukuKas.TglBuku);
                throw new ArgumentException(errMsg);
            }
            //  validasi jamBuku
            if (!bukuKas.JamBuku.IsValidJam("HH:mm:ss"))
            {
                var errMsg = string.Format("Invalid JamBuku: {0}", bukuKas.JamBuku);
                throw new ArgumentException(errMsg);
            }

            //  validasi PihakKetigaID
            var pihakKetiga = _pihakKetigaDal.GetData(bukuKas.PihakKetigaID);
            if (pihakKetiga == null)
            {
                var errMsg = string.Format("Invalid PihakKetigaID {0}", bukuKas.PihakKetigaID);
                throw new ArgumentException(errMsg);
            }
            else
            {
                bukuKas.PihakKetigaName = pihakKetiga.PihakKetigaName;
            }

            //  validasi jenisTrsKasir
            var jenisTrsKasir = _jenisTrsKasirDal.GetData(bukuKas.JenisTrsKasirID);
            if (jenisTrsKasir == null)
            {
                var errMsg = string.Format("Invalid JenisTrsKasirID: {0}", bukuKas.JenisTrsKasirID);
                throw new ArgumentException(errMsg);
            }

            //  jumlahkan kasMasuk dan kasKeluar untuk menentukan
            //  untuk menentukan
            if (bukuKas.NilaiKas > 0)
            {
                if (jenisTrsKasir.IsKasKeluar)
                {
                    var errMsg = string.Format("Invalid NilaiKas vs JenisTrsKasir");
                    throw new ArgumentException(errMsg);
                }
            }
            #endregion

            #region PROSES-SAVE
            //  generate id
            using (var trans = TransHelper.NewScope())
            {
                var isNew = false;
                if (bukuKas.BukuKasID.Trim() == "")
                {
                    bukuKas.BukuKasID = this.GenNewID();
                    isNew             = true;
                }
                if (isNew)
                {
                    _bukuKasDal.Insert(bukuKas);
                }
                else
                {
                    _bukuKasDal.Update(bukuKas);
                }
                #endregion

                switch (bukuKas.JenisTrsKasirID)
                {
                case "PTG":
                    _bukuPiutangBL.GenBukuPiutang(bukuKas);
                    break;

                case "PTL":
                    _bukuPiutangBL.GenBukuPiutangLunas(bukuKas);
                    break;

                default:
                    break;
                }
                trans.Complete();
            }
            return(bukuKas);
        }