Exemplo n.º 1
0
        private void Save()
        {
            var kasBon = new KasBonModel
            {
                KasBonID     = BiayaIDText.Text,
                Tgl          = TglText.Value.ToString("dd-MM-yyyy"),
                Jam          = JamText.Text,
                PihakKeduaID = PihakKeduaCombo.SelectedValue.ToString(),
                JenisKasID   = JenisKasCombo.SelectedValue.ToString(),
                Keterangan   = KeteranganText.Text,
                NilaiKasBon  = NilIText.Value
            };

            using (var trans = TransHelper.NewScope())
            {
                var result = _kasBonBL.Save(kasBon);
                try
                {
                    _bpKasBL.Generate(result);
                    _bpPiutangBL.GenPiutang(result);
                }
                catch (ArgumentException ex)
                {
                    MessageBox.Show(ex.Message);
                }
                trans.Complete();
            }
        }
Exemplo n.º 2
0
        public void Update(KasBonModel model)
        {
            var sSql = @"
                UPDATE
                    KasBon 
                SET 
                    Tgl = @Tgl, 
                    Jam = @Jam, 
                    Keterangan = @Keterangan, 
                    PihakKeduaID = @PihakKeduaID,
                    JenisKasID = @JenisKasID,
                    NilaiKasBon = @NilaiKasBon 
                WHERE
                    KasBonID = @KasBonID ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@KasBonID", model.KasBonID);
                    cmd.AddParam("@Tgl", model.Tgl.ToTglYMD());
                    cmd.AddParam("@Jam", model.Jam);
                    cmd.AddParam("@Keterangan", model.Keterangan);
                    cmd.AddParam("@PihakKeduaID", model.PihakKeduaID);
                    cmd.AddParam("@JenisKasID", model.JenisKasID);
                    cmd.AddParam("@NilaiKasBon", model.NilaiKasBon);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }
        }
Exemplo n.º 3
0
        public void Insert(KasBonModel model)
        {
            var sSql = @"
                INSERT INTO
                    KasBon (
                        KasBonID, Tgl, Jam, Keterangan, 
                        PihakKeduaID, JenisKasID, NilaiKasBon)
                VALUES (
                        @KasBonID, @Tgl, @Jam, @Keterangan, 
                        @PihakKeduaID, @JenisKasID, @NilaiKasBon) ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@KasBonID", model.KasBonID);
                    cmd.AddParam("@Tgl", model.Tgl.ToTglYMD());
                    cmd.AddParam("@Jam", model.Jam);
                    cmd.AddParam("@Keterangan", model.Keterangan);
                    cmd.AddParam("@PihakKeduaID", model.PihakKeduaID);
                    cmd.AddParam("@JenisKasID", model.JenisKasID);
                    cmd.AddParam("@NilaiKasBon", model.NilaiKasBon);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }
        }
Exemplo n.º 4
0
 public BPPiutangModel GenPiutang(KasBonModel kasBon)
 {
     if (kasBon == null)
     {
         throw new ArgumentNullException(nameof(kasBon));
     }
     var bpPiutang = (BPPiutangModel)kasBon;
     var result = Save(bpPiutang);
     return result;
 }
Exemplo n.º 5
0
        public BPKasModel Generate(KasBonModel kasBon)
        {
            if (kasBon == null)
            {
                throw new ArgumentNullException(nameof(kasBon));
            }
            var bpKas  = (BPKasModel)kasBon;
            var result = Save(bpKas);

            return(result);
        }
Exemplo n.º 6
0
        public IEnumerable <KasBonModel> ListData(string tgl1, string tgl2)
        {
            List <KasBonModel> result = null;
            var sSql = @"
                SELECT
                    aa.KasBonID, aa.Tgl, aa.Jam, aa.Keterangan, 
                    aa.PihakKeduaID, aa.JenisKasID, aa.NilaiKasBon,
                    ISNULL(bb.PihakKeduaName, '') PihakKeduaName,
                    ISNULL(cc.JenisKasName, '') JenisKasName
                FROM
                    KasBon aa
                    LEFT JOIN PihakKedua bb ON aa.PihakKeduaID = bb.PihakKeduaID
                    LEFT JOIN JenisKas cc ON aa.JenisKasID = cc.JenisKasID
                WHERE
                    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 <KasBonModel>();
                        while (dr.Read())
                        {
                            var item = new KasBonModel
                            {
                                KasBonID       = dr["KasBonID"].ToString(),
                                Tgl            = dr["Tgl"].ToString().ToTglDMY(),
                                Jam            = dr["Jam"].ToString(),
                                Keterangan     = dr["Keterangan"].ToString(),
                                PihakKeduaID   = dr["PihakKeduaID"].ToString(),
                                PihakKeduaName = dr["PihakKeduaName"].ToString(),
                                JenisKasID     = dr["JenisKasID"].ToString(),
                                JenisKasName   = dr["JenisKasName"].ToString(),
                                NilaiKasBon    = Convert.ToDecimal(dr["NilaiKasBon"])
                            };
                            result.Add(item);
                        }
                    }
                }
            return(result);
        }
Exemplo n.º 7
0
        public KasBonModel Save(KasBonModel model)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }

            if (model.NilaiKasBon <= 0)
            {
                throw new ArgumentException("Nilai KasBon invalid");
            }

            var jenisKasBon = _jenisKasBonBL.GetData(model.PihakKeduaID);

            if (jenisKasBon == null)
            {
                throw new ArgumentException("PihakKeduaID invalid");
            }

            var jenisKas = _jenisKasBL.GetData(model.JenisKasID);

            if (jenisKas == null)
            {
                throw new ArgumentException("JenisKasID invalid");
            }

            bool isNew = false;

            if (model.KasBonID.Trim() == "")
            {
                isNew = true;
            }

            using (var trans = TransHelper.NewScope())
            {
                if (isNew)
                {
                    model.KasBonID = GenNewID();
                    _kasBonDal.Insert(model);
                }
                else
                {
                    _kasBonDal.Update(model);
                }
                trans.Complete();
            }

            return(model);
        }
Exemplo n.º 8
0
        private KasBonModel KasBonDataFactory()
        {
            var result = new KasBonModel
            {
                KasBonID       = "A1",
                Tgl            = "11-02-2019",
                Jam            = "01:38:00",
                Keterangan     = "B1",
                PihakKeduaID   = "C1",
                PihakKeduaName = "",
                JenisKasID     = "D1",
                JenisKasName   = "",
                NilaiKasBon    = 300000
            };

            return(result);
        }
Exemplo n.º 9
0
        public BPKasModel Generate(LunasKasBonModel lunasKasBon, KasBonModel kasBon)
        {
            if (lunasKasBon == null)
            {
                throw new ArgumentNullException(nameof(lunasKasBon));
            }

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

            if (lunasKasBon.KasBonID != kasBon.KasBonID)
            {
                throw new ArgumentException("KasBonID invalid");
            }

            //  convert lunasKasBon menjadi object kasBon
            BPKasModel bpKas = new BPKasModel
            {
                BPKasID       = lunasKasBon.LunasKasBonID,
                Tgl           = lunasKasBon.Tgl,
                Jam           = lunasKasBon.Jam,
                Keterangan    = "Lunas KasBon " + kasBon.Keterangan,
                NilaiTotalKas = 0,
            };
            BPKasDetilModel detil = new BPKasDetilModel
            {
                BPKasID       = bpKas.BPKasID,
                BPKasDetilID  = bpKas.BPKasID + '-' + "01",
                JenisKasID    = "K01",
                NilaiKasMasuk =
                    lunasKasBon.ListLunas
                    .Where(x => x.JenisLunasID == "KAS")
                    .Sum(x => x.NilaiLunas)
            };

            bpKas.ListDetil = new List <BPKasDetilModel>
            {
                detil
            };

            var result = Save(bpKas);

            return(result);
        }
Exemplo n.º 10
0
        public void GenPiutangDelete(KasBonModel kasBon)
        {
            if (kasBon == null)
            {
                throw new ArgumentNullException(nameof(kasBon));
            }

            //  jika sudah ada pelunasan, tidak bisa di hapus
            var bpPiutang = GetData(kasBon.KasBonID);
            if (bpPiutang == null)
                throw new ArgumentException("KasBon invalid");

            if (bpPiutang.NilaiLunas > 0)
                throw new ArgumentException("KasBon sudah ada pelunasan, tidak dapat di hapus");

            _bpPiutangDetilDal.Delete(kasBon.KasBonID);
            _bpPiutangDal.Delete(kasBon.KasBonID);
        }
Exemplo n.º 11
0
        public KasBonModel GetData(string id)
        {
            KasBonModel result = null;
            var         sSql   = @"
                SELECT
                    aa.KasBonID, aa.Tgl, aa.Jam, aa.Keterangan, 
                    aa.PihakKeduaID, aa.JenisKasID, aa.NilaiKasBon,
                    ISNULL(bb.PihakKeduaName, '') PihakKeduaName,
                    ISNULL(cc.JenisKasName, '') JenisKasName
                FROM
                    KasBon aa
                    LEFT JOIN PihakKedua bb ON aa.PihakKeduaID = bb.PihakKeduaID
                    LEFT JOIN JenisKas cc ON aa.JenisKasID = cc.JenisKasID
                WHERE
                    KasBonID = @KasBonID ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@KasBonID", id);
                    conn.Open();
                    using (var dr = cmd.ExecuteReader())
                    {
                        if (!dr.HasRows)
                        {
                            return(null);
                        }
                        dr.Read();
                        result = new KasBonModel
                        {
                            KasBonID       = id,
                            Tgl            = dr["Tgl"].ToString().ToTglDMY(),
                            Jam            = dr["Jam"].ToString(),
                            Keterangan     = dr["Keterangan"].ToString(),
                            PihakKeduaID   = dr["PihakKeduaID"].ToString(),
                            PihakKeduaName = dr["PihakKeduaName"].ToString(),
                            JenisKasID     = dr["JenisKasID"].ToString(),
                            JenisKasName   = dr["JenisKasName"].ToString(),
                            NilaiKasBon    = Convert.ToDecimal(dr["NilaiKasBon"])
                        };
                    }
                }
            return(result);
        }
Exemplo n.º 12
0
        public BPPiutangModel GenPiutang(LunasKasBonModel lunasKasBon, KasBonModel kasBon)
        {
            //  ambil data piutang berdasarkan kasBon
            var bpPiutang = GetData(kasBon.KasBonID);
            if(bpPiutang == null)
            {
                var errMsg = string.Format("Piutang {0} tidak ditemukan ", kasBon.KasBonID);
                throw new ArgumentException(errMsg);
            }

            //  hapus detil lunas yang id-nya = lunasKasBonID
            List<BPPiutangDetilModel> newListLunas = 
                (
                    from c in bpPiutang.ListLunas
                    where c.ReffID != lunasKasBon.LunasKasBonID
                    select c
                ).ToList();

            //  tambahkan pelunasan dari lunasKasBon
            int noUrut = newListLunas.Count + 1;
            foreach(var item in lunasKasBon.ListLunas)
            {
                newListLunas.Add(new BPPiutangDetilModel
                {
                    BPPiutangID = bpPiutang.BPPiutangID,
                    BPPiutangDetilID = bpPiutang.BPPiutangID + '-' + noUrut.ToString().PadLeft(2, '0'),
                    Tgl = lunasKasBon.Tgl,
                    Jam = lunasKasBon.Jam,
                    ReffID = item.LunasKasBonID,
                    Keterangan = "   Pelunasan " + item.Keterangan,
                    NilaiPiutang = 0,
                    NilaiLunas = item.NilaiLunas
                });
                noUrut++;
            }

            bpPiutang.ListLunas = newListLunas;
            //  simpan
            var result = Save(bpPiutang);
            return result;
        }