Exemplo n.º 1
0
        public void Insert(BukuPiutangModel bukuPiutang)
        {
            var sSql = @"
                INSERT INTO
                    BukuPiutang (
                        BukuPiutangID, TglBuku, JamBuku, UserrID,
                        PihakKetigaID, NilaiPiutang, NilaiSisa,
                        Keterangan, BukuKasID)
                VALUES (
                        @BukuPiutangID, @TglBuku, @JamBuku, @UserrID,
                        @PihakKetigaID, @NilaiPiutang, @NilaiSisa,
                        @Keterangan, @BukuKasID) ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@BukuPiutangID", bukuPiutang.BukuPiutangID);
                    cmd.AddParam("@TglBuku", bukuPiutang.TglBuku.ToTglYMD());
                    cmd.AddParam("@JamBuku", bukuPiutang.JamBuku);
                    cmd.AddParam("@UserrID", bukuPiutang.UserrID);
                    cmd.AddParam("@PihakKetigaID", bukuPiutang.PihakKetigaID);
                    cmd.AddParam("@NilaiPiutang", bukuPiutang.NilaiPiutang);
                    cmd.AddParam("@NilaiSisa", bukuPiutang.NilaiSisa);
                    cmd.AddParam("@Keterangan", bukuPiutang.Keterangan);
                    cmd.AddParam("@BukuKasID", bukuPiutang.BukuKasID);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }
        }
Exemplo n.º 2
0
        public void Update(BukuPiutangModel bukuPiutang)
        {
            var sSql = @"
                UPDATE
                    BukuPiutang 
                SET 
                    TglBuku = @TglBuku, 
                    JamBuku = @JamBuku, 
                    UserrID = @UserrID,
                    PihakKetigaID = @PihakKetigaID, 
                    NilaiPiutang = @NilaiPiutang, 
                    NilaiSisa = @NilaiSisa,
                    Keterangan = @Keterangan, 
                    BukuKasID = @BukuKasID
                WHERE
                    BukuPiutangID = @BukuPiutangID ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@BukuPiutangID", bukuPiutang.BukuPiutangID);
                    cmd.AddParam("@TglBuku", bukuPiutang.TglBuku.ToTglYMD());
                    cmd.AddParam("@JamBuku", bukuPiutang.JamBuku);
                    cmd.AddParam("@UserrID", bukuPiutang.UserrID);
                    cmd.AddParam("@PihakKetigaID", bukuPiutang.PihakKetigaID);
                    cmd.AddParam("@NilaiPiutang", bukuPiutang.NilaiPiutang);
                    cmd.AddParam("@NilaiSisa", bukuPiutang.NilaiSisa);
                    cmd.AddParam("@Keterangan", bukuPiutang.Keterangan);
                    cmd.AddParam("@BukuKasID", bukuPiutang.BukuKasID);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }
        }
Exemplo n.º 3
0
        private BukuPiutangModel Save(BukuPiutangModel bukuPiutang)
        {
            //  validasi nilai sisa piutang
            bukuPiutang.NilaiSisa = bukuPiutang.ListLunas.Sum(x => x.NilaiLunas);

            //  update bukuPiutangID di detil harus sama dengan header semuana
            foreach (var item in bukuPiutang.ListLunas)
            {
                item.BukuPiutangID = bukuPiutang.BukuPiutangID;
            }

            //  update bukuPiutangLunas ID
            var noUrut = 0;

            foreach (var item in bukuPiutang.ListLunas.OrderBy(x => x.TglLunas).OrderBy(x => x.JamLunas))
            {
                var noBukuPiutangLunasID = string.Format("{0}-{1}",
                                                         bukuPiutang.BukuPiutangID, noUrut.ToString().PadLeft(2, '0'));
                item.BukuPiutangLunasID = noBukuPiutangLunasID;
                noUrut++;
            }

            //  - hapus data lama
            _bukuPiutangDal.Delete(bukuPiutang.BukuPiutangID);
            _bukuPiutangLunasDal.Delete(bukuPiutang.BukuPiutangID);
            //
            //  insert data baru
            _bukuPiutangDal.Insert(bukuPiutang);
            foreach (var item in bukuPiutang.ListLunas)
            {
                _bukuPiutangLunasDal.Insert(item);
            }

            return(bukuPiutang);
        }
Exemplo n.º 4
0
        public BukuPiutangModel GenBukuPiutangLunas(BukuKasModel bukuKas)
        {
            //  ambil data piutang lunas lama
            BukuPiutangModel bukuPiutangLama = null;
            var bukuPiutangID = GetBukuPiutangID(bukuKas);

            if (bukuPiutangID != null)
            {
                bukuPiutangLama = GetData(bukuPiutangID);
                var listLunasLama = bukuPiutangLama.ListLunas.ToList();
                for (int i = 0; i <= listLunasLama.Count - 1; i++)
                {
                    if (listLunasLama[i].BukuKasID == bukuKas.BukuKasID)
                    {
                        listLunasLama.RemoveAt(i);
                        break;
                    }
                }
                bukuPiutangLama.ListLunas = listLunasLama;
            }

            //  ambil data piutang yang baru
            var bukuPiutangBaru = GetData(bukuKas.ReffID);
            var piutangLunas    = new BukuPiutangLunasModel
            {
                TglLunas   = bukuKas.TglBuku,
                JamLunas   = bukuKas.JamBuku,
                NilaiLunas = bukuKas.NilaiKas,
                BukuKasID  = bukuKas.BukuKasID
            };
            var listLunas = bukuPiutangBaru.ListLunas.ToList();

            //  hapus detil lunas lama yang bukukas-nya sama
            if (listLunas != null)
            {
                for (int i = 0; i <= listLunas.Count - 1; i++)
                {
                    if (listLunas[i].BukuKasID == bukuKas.BukuKasID)
                    {
                        listLunas.RemoveAt(i);
                        break;
                    }
                }
            }
            //bukuPiutangBaru.ListLunas = listLunas;
            listLunas.Add(piutangLunas);
            bukuPiutangBaru.ListLunas = listLunas;

            BukuPiutangModel result = null;

            //  simpan update data lama
            if (bukuPiutangLama != null)
            {
                result = Save(bukuPiutangLama);
            }
            //  simpan data baru
            result = Save(bukuPiutangBaru);
            return(result);
        }
Exemplo n.º 5
0
        public BukuPiutangModel GetData(string bukuPiutangID)
        {
            BukuPiutangModel result = null;

            result = _bukuPiutangDal.GetData(bukuPiutangID);
            if (result != null)
            {
                result.ListLunas = _bukuPiutangLunasDal.ListData(bukuPiutangID);
            }

            return(result);
        }
Exemplo n.º 6
0
        public IEnumerable <BukuPiutangModel> ListData(string pihakKetigaID)
        {
            List <BukuPiutangModel> result = null;
            var sSql = @"
                SELECT
                    aa.BukuPiutangID, aa.TglBuku, aa.JamBuku, aa.UserrID,
                    aa.PihakKetigaID, aa.NilaiPiutang, aa.NilaiSisa,
                    aa.Keterangan, aa.BukuKasID,
                    ISNULL(bb.PihakKetigaName, '') PihakKetigaName
                FROM    
                    BukuPiutang aa
                    LEFT JOIN PihakKetiga bb ON aa.PihakKetigaID = bb.PihakKetigaID
                WHERE
                    aa.PihakKetigaID = @PihakKetigaID 
                    AND aa.NilaiSisa <> 0 ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@PihakKetigaID", pihakKetigaID);
                    conn.Open();

                    using (var dr = cmd.ExecuteReader())
                    {
                        if (!dr.HasRows)
                        {
                            return(null);
                        }
                        result = new List <BukuPiutangModel>();
                        while (dr.Read())
                        {
                            var item = new BukuPiutangModel
                            {
                                BukuPiutangID = dr["BukuPiutangID"].ToString(),
                                TglBuku       = dr["TglBuku"].ToString().ToTglDMY(),
                                JamBuku       = dr["JamBuku"].ToString(),
                                UserrID       = dr["USerrID"].ToString(),

                                PihakKetigaID   = dr["PihakKetigaID"].ToString(),
                                PihakKetigaName = dr["PihakKetigaName"].ToString(),

                                NilaiPiutang = Convert.ToDecimal(dr["NilaiPiutang"]),
                                NilaiSisa    = Convert.ToDecimal(dr["NilaiSisa"]),
                                Keterangan   = dr["Keterangan"].ToString(),
                                BukuKasID    = dr["BukuKasID"].ToString()
                            };
                            result.Add(item);
                        }
                    }
                }
            return(result);
        }
Exemplo n.º 7
0
        BukuPiutangModel BukuPiutangDataFactory()
        {
            var result = new BukuPiutangModel
            {
                BukuPiutangID   = "A1",
                TglBuku         = "20-01-2019",
                JamBuku         = "11:00:12",
                UserrID         = "B1",
                PihakKetigaID   = "C1",
                PihakKetigaName = "D1",
                NilaiPiutang    = 21000,
                NilaiSisa       = 1000,
                Keterangan      = "E1",
                BukuKasID       = "F1"
            };

            return(result);
        }
Exemplo n.º 8
0
        private BukuPiutangModel CreateBukuPiutang(BukuKasModel bukuKas)
        {
            BukuPiutangModel result = null;

            //  piutang, nilai kas harus minus
            if (bukuKas.NilaiKas >= 0)
            {
                throw new ArgumentException("Generate Piutang harus Kas Keluar");
            }

            //  bentuk object bukuPiutang utuh atas bukuKas ini;
            //
            //  cari bukuPiutangID-nya
            var bukuPiutangID = GetBukuPiutangID(bukuKas);

            //  jika ngga ada, bikin id baru (berarti data baru)
            if (bukuPiutangID == null)
            {
                bukuPiutangID = GenNewBukuPiutangID();
            }

            //  ambil data bukuPiutang berdasarkan piutangID-nya
            result = GetData(bukuPiutangID);
            if (result == null)
            {
                result = new BukuPiutangModel();
            }
            //
            //  update header-nya dengan data baru
            result.BukuPiutangID = bukuPiutangID;
            result.TglBuku       = bukuKas.TglBuku;
            result.JamBuku       = bukuKas.JamBuku;
            result.UserrID       = bukuKas.UserrID;
            result.PihakKetigaID = bukuKas.PihakKetigaID;
            result.NilaiPiutang  = bukuKas.NilaiKas;
            result.NilaiSisa     = bukuKas.NilaiKas;
            result.Keterangan    = bukuKas.Keterangan;
            result.BukuKasID     = bukuKas.BukuKasID;
            //
            //  bikin list detil baru
            var newListDetil = new List <BukuPiutangLunasModel>();
            var noUrut       = 0;
            var item         = new BukuPiutangLunasModel
            {
                BukuPiutangLunasID = bukuPiutangID + "-" + noUrut.ToString().PadLeft(2, '0'),
                BukuPiutangID      = bukuPiutangID,
                TglLunas           = bukuKas.TglBuku,
                JamLunas           = bukuKas.JamBuku,
                NilaiLunas         = bukuKas.NilaiKas,
                BukuKasID          = bukuKas.BukuKasID
            };

            newListDetil.Add(item);
            //
            //  tambahkan dari item2 listDetil yang lama
            //  kecuali yang bukuKasID yang "ini"
            if (result.ListLunas != null)
            {
                foreach (var item2 in result.ListLunas.Where(x => x.BukuKasID != bukuKas.BukuKasID))
                {
                    noUrut++;
                    item2.BukuPiutangLunasID = bukuPiutangID + "-" + noUrut.ToString().PadLeft(2, '0');
                    item2.BukuPiutangID      = bukuPiutangID;
                    newListDetil.Add(item);
                }
            }
            //  tempelkan ke object buku piutang yag baru
            result.ListLunas = newListDetil;
            //
            //  Proses Save
            return(result);
        }