Beispiel #1
0
        public void Insert(BPPiutangModel model)
        {
            var sSql = @"
                INSERT INTO 
                    BPPiutang (
                        BPPiutangID, Tgl, Jam, PihakKeduaID,
                        Keterangan, NilaiPiutang, NilaiLunas) 
                VALUES (
                        @BPPiutangID, @Tgl, @Jam, @PihakKeduaID,
                        @Keterangan, @NilaiPiutang, @NilaiLunas ) ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@BPPiutangID", model.BPPiutangID);
                    cmd.AddParam("@Tgl", model.Tgl.ToTglYMD());
                    cmd.AddParam("@Jam", model.Jam);
                    cmd.AddParam("@PihakKeduaID", model.PihakKeduaID);
                    cmd.AddParam("@Keterangan", model.Keterangan);
                    cmd.AddParam("@NilaiPiutang", model.NilaiPiutang);
                    cmd.AddParam("@NilaiLunas", model.NilaiLunas);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }
        }
Beispiel #2
0
        public void Update(BPPiutangModel model)
        {
            var sSql = @"
                UPDATE
                    BPPiutang 
                SET
                    Tgl = @Tgl, 
                    Jam = @Jam, 
                    PihakKeduaID = @PihakKeduaID,
                    Keterangan = @Keterangan, 
                    NilaiPiutang = @NilaiPiutang, 
                    NilaiLunas = @NilaiLunas 
                WHERE
                    BPPiutangID = @BPPiutangID  ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@BPPiutangID", model.BPPiutangID);
                    cmd.AddParam("@Tgl", model.Tgl.ToTglYMD());
                    cmd.AddParam("@Jam", model.Jam);
                    cmd.AddParam("@PihakKeduaID", model.PihakKeduaID);
                    cmd.AddParam("@Keterangan", model.Keterangan);
                    cmd.AddParam("@NilaiPiutang", model.NilaiPiutang);
                    cmd.AddParam("@NilaiLunas", model.NilaiLunas);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }
        }
        private BPPiutangModel BPPiutangFactory2()
        {
            var result = new BPPiutangModel
            {
                BPPiutangID    = "A2",
                Tgl            = "02-01-2019",
                Jam            = "09:00:00",
                PihakKeduaID   = "B1",
                PihakKeduaName = "C2",
                Keterangan     = "D2",
                NilaiLunas     = 1500,
                NilaiPiutang   = 1500,
                ListLunas      = new List <BPPiutangDetilModel>
                {
                    new BPPiutangDetilModel
                    {
                        BPPiutangID      = "A2",
                        BPPiutangDetilID = "E2",
                        ReffID           = "F2",
                        Tgl          = "01-01-2019",
                        Jam          = "09:00:00",
                        Keterangan   = "G2",
                        NilaiPiutang = 1500,
                        NilaiLunas   = 1500
                    }
                }
            };

            return(result);
        }
        private BPPiutangModel BPPiutangFactory1()
        {
            var result = new BPPiutangModel
            {
                BPPiutangID    = "A1",
                Tgl            = "01-01-2019",
                Jam            = "09:00:00",
                PihakKeduaID   = "B1",
                PihakKeduaName = "C1",
                Keterangan     = "D1",
                NilaiLunas     = 0,
                NilaiPiutang   = 25000,
                ListLunas      = new List <BPPiutangDetilModel>
                {
                    new BPPiutangDetilModel
                    {
                        BPPiutangID      = "A1",
                        BPPiutangDetilID = "E1",
                        ReffID           = "F1",
                        Tgl          = "01-01-2019",
                        Jam          = "09:00:00",
                        Keterangan   = "G1",
                        NilaiPiutang = 1000,
                        NilaiLunas   = 0
                    }
                }
            };

            return(result);
        }
        private BPPiutangModel BPPiutangDataFactory()
        {
            var result = new BPPiutangModel
            {
                BPPiutangID    = "A1",
                Tgl            = "11-02-2019",
                Jam            = "01:38:00",
                PihakKeduaID   = "B1",
                PihakKeduaName = "",
                Keterangan     = "C1",
                NilaiPiutang   = 300000,
                NilaiLunas     = 250000
            };

            return(result);
        }
Beispiel #6
0
        public IEnumerable <BPPiutangModel> ListData(string tgl1, string tgl2)
        {
            List <BPPiutangModel> result = null;
            var sSql = @"
                SELECT
                    aa.BPPiutangID, aa.Tgl, aa.Jam, aa.PihakKeduaID,
                    aa.Keterangan, aa.NilaiPiutang, aa.NilaiLunas,
                    ISNULL(bb.PihakKeduaName, '') PihakKeduaName 
                FROM    
                    BPPiutang 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 <BPPiutangModel>();
                        while (dr.Read())
                        {
                            var item = new BPPiutangModel
                            {
                                BPPiutangID    = dr["BPPiutangID"].ToString(),
                                Tgl            = dr["Tgl"].ToString().ToTglDMY(),
                                Jam            = dr["Jam"].ToString(),
                                PihakKeduaID   = dr["PihakKeduaID"].ToString(),
                                PihakKeduaName = dr["PihakKeduaName"].ToString(),
                                Keterangan     = dr["Keterangan"].ToString(),
                                NilaiPiutang   = Convert.ToDecimal(dr["NilaiPiutang"]),
                                NilaiLunas     = Convert.ToDecimal(dr["NilaiLunas"]),
                            };
                            result.Add(item);
                        }
                    }
                }
            return(result);
        }
Beispiel #7
0
        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;
        }
Beispiel #8
0
        public BPPiutangModel GetData(string id)
        {
            BPPiutangModel result = null;
            var            sSql   = @"
                SELECT
                    aa.BPPiutangID, aa.Tgl, aa.Jam, aa.PihakKeduaID,
                    aa.Keterangan, aa.NilaiPiutang, aa.NilaiLunas,
                    ISNULL(bb.PihakKeduaName, '') PihakKeduaName 
                FROM    
                    BPPiutang aa
                    LEFT JOIN PihakKedua bb ON aa.PihakKeduaID = bb.PihakKeduaID 
                WHERE
                    aa.BPPiutangID = @BPPiutangID ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@BPPiutangID", id);
                    conn.Open();
                    using (var dr = cmd.ExecuteReader())
                    {
                        if (!dr.HasRows)
                        {
                            return(null);
                        }
                        dr.Read();
                        result = new BPPiutangModel
                        {
                            BPPiutangID    = dr["BPPiutangID"].ToString(),
                            Tgl            = dr["Tgl"].ToString().ToTglDMY(),
                            Jam            = dr["Jam"].ToString(),
                            PihakKeduaID   = dr["PihakKeduaID"].ToString(),
                            PihakKeduaName = dr["PihakKeduaName"].ToString(),
                            Keterangan     = dr["Keterangan"].ToString(),
                            NilaiPiutang   = Convert.ToDecimal(dr["NilaiPiutang"]),
                            NilaiLunas     = Convert.ToDecimal(dr["NilaiLunas"]),
                        };
                    }
                }
            return(result);
        }
Beispiel #9
0
        private BPPiutangModel Save(BPPiutangModel 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;

            //  kasus simpan ulang; pastikan belum ada pelunasan
            var bpPiutang = GetData(model.BPPiutangID);
            if(bpPiutang != null)
            {
                //if (bpPiutang.NilaiLunas > 0)
                    //throw new ArgumentException("Piutang sudah ada pelunasan, tidak bisa simpan ulang");
            }

            //  update nilai total di header
            model.NilaiPiutang = model.ListLunas.Sum(x => x.NilaiPiutang);
            model.NilaiLunas = model.ListLunas.Sum(x => x.NilaiLunas);

            //  delete data lama
            using (var trans = TransHelper.NewScope())
            {
                _bpPiutangDetilDal.Delete(model.BPPiutangID);
                _bpPiutangDal.Delete(model.BPPiutangID);

                _bpPiutangDal.Insert(model);
                foreach (var item in model.ListLunas)
                    _bpPiutangDetilDal.Insert(item);

                trans.Complete();
            }
            return model;
        }