Ejemplo n.º 1
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);
        }
Ejemplo n.º 2
0
        public void Update(StokAdjustmentModel stokAdjustment)
        {
            var sSql = @"
                UPDATE
                    StokAdjustment 
                SET
                    TglTrs = @TglTrs,
                    JamTrs = @JamTrs,
                    UserrID = @UserrID,
                    TglVoid = @TglVoid,
                    JamVoid = @JamVoid,
                    UserrIDVoid = @UserrIDVoid,
                    Keterangan = @Keterangan
                WHERE
                    StokAdjustmentID = @StokAdjustmentID ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@StokAdjustmentID", stokAdjustment.StokAdjustmentID);
                    cmd.AddParam("@TglTrs", stokAdjustment.TglTrs);
                    cmd.AddParam("@JamTrs", stokAdjustment.JamTrs);
                    cmd.AddParam("@UserrID", stokAdjustment.UserrID);
                    cmd.AddParam("@TglVoid", stokAdjustment.TglVoid.ToTglYMD());
                    cmd.AddParam("@JamVoid", stokAdjustment.JamVoid);
                    cmd.AddParam("@UserrIDVoid", stokAdjustment.UserrIDVoid);
                    cmd.AddParam("@Keterangan", stokAdjustment.Keterangan);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }
        }
Ejemplo n.º 3
0
        public void Insert(StokAdjustmentModel stokAdjustment)
        {
            var sSql = @"
                INSERT INTO
                    StokAdjustment (
                        StokAdjustmentID, TglTrs, JamTrs, UserrID, 
                        TglVoid, JamVoid, UserrIDVoid, Keterangan)
                VALUES (
                        @StokAdjustmentID, @TglTrs, @JamTrs, @UserrID, 
                        @TglVoid, @JamVoid, @UserrIDVoid, @Keterangan) ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@StokAdjustmentID", stokAdjustment.StokAdjustmentID);
                    cmd.AddParam("@TglTrs", stokAdjustment.TglTrs.ToTglYMD());
                    cmd.AddParam("@JamTrs", stokAdjustment.JamTrs);
                    cmd.AddParam("@UserrID", stokAdjustment.UserrID);
                    cmd.AddParam("@TglVoid", stokAdjustment.TglVoid.ToTglYMD());
                    cmd.AddParam("@JamVoid", stokAdjustment.JamVoid);
                    cmd.AddParam("@UserrIDVoid", stokAdjustment.UserrIDVoid);
                    cmd.AddParam("@Keterangan", stokAdjustment.Keterangan);
                    conn.Open();
                    cmd.ExecuteNonQuery();
                }
        }
Ejemplo n.º 4
0
        private StokAdjustmentModel StokAdjustmentHeaderDataFactory()
        {
            var result = new StokAdjustmentModel
            {
                StokAdjustmentID = "A1",
                TglTrs           = "20-02-2019",
                JamTrs           = "21:39:00",
            };

            return(result);
        }
Ejemplo n.º 5
0
        public StokAdjustmentModel Save(StokAdjustmentModel stokAdjustment)
        {
            //  validasi
            var result = stokAdjustment;

            result = TryValidate(stokAdjustment);

            var trsID = "";

            //  save
            using (var trans = TransHelper.NewScope())
            {
                //  edit: delete data lama
                if (stokAdjustment.StokAdjustmentID.Trim() != "")
                {
                    //  kembalikan stok lama
                    _stokAdjustment2Dal.Delete(stokAdjustment.StokAdjustmentID);
                    _stokAdjustmentDal.Delete(stokAdjustment.StokAdjustmentID);
                    trsID = stokAdjustment.StokAdjustmentID;
                }
                //  baru: generate no.transaksi
                else
                {
                    var prefix = "AJ" + DateTime.Now.ToString("yyMM");
                    trsID = _paramNoBL.GenNewID(prefix, 10);
                }

                //  save header
                stokAdjustment.StokAdjustmentID = trsID;

                //  delete data lama
                _stokAdjustment2Dal.Delete(trsID);
                _stokAdjustmentDal.Delete(trsID);

                //  insert data baru
                _stokAdjustmentDal.Insert(stokAdjustment);
                foreach (var item in stokAdjustment.ListBrg)
                {
                    item.StokAdjustmentID  = trsID;
                    item.StokAdjustmentID2 = string.Format("{0}-{1}", trsID, item.NoUrut.ToString().PadLeft(3, '0'));
                    _stokAdjustment2Dal.Insert(item);
                }
                trans.Complete();
            }
            return(result);
        }
Ejemplo n.º 6
0
 StokAdjustmentModel StokAdjustmentDataFactory()
 {
     var result = new StokAdjustmentModel
     {
         StokAdjustmentID = "A1",
         TglTrs = "01-01-2000",
         JamTrs = "12:12:11",
         UserrID = "B1",
         TglVoid = "01-01-3000",
         JamVoid = "00:00:00",
         UserrIDVoid = "C1",
         Keterangan = "D1",
         ListBrg = null,
         
     };
     return result;
 }
Ejemplo n.º 7
0
        public IEnumerable <StokAdjustmentModel> ListData(string tgl1, string tgl2)
        {
            List <StokAdjustmentModel> result = null;
            var sSql = @"
                SELECT
                    aa.StokAdjustmentID, 
                    aa.TglTrs, aa.JamTrs, aa.UserrID, 
                    aa.TglVoid, aa.JamVoid, aa.UserrIDVoid,
                    aa.Keterangan
                FROM
                    StokAdjustment aa 
                WHERE
                    aa.TglTrs 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)
                        {
                            result = new List <StokAdjustmentModel>();
                            while (dr.Read())
                            {
                                var item = new StokAdjustmentModel
                                {
                                    StokAdjustmentID = dr["StokAdjustmentID"].ToString(),
                                    TglTrs           = dr["TglTrs"].ToString().ToTglDMY(),
                                    JamTrs           = dr["JamTrs"].ToString(),
                                    UserrID          = dr["UserrID"].ToString(),
                                    TglVoid          = dr["TglVoid"].ToString().ToTglDMY(),
                                    JamVoid          = dr["JamVoid"].ToString(),
                                    UserrIDVoid      = dr["UserrIDVoid"].ToString(),
                                    Keterangan       = dr["Keterangan"].ToString(),
                                };
                                result.Add(item);
                            }
                        }
                    }
                }
            return(result);
        }
Ejemplo n.º 8
0
        public StokAdjustmentModel GetData(string id)
        {
            StokAdjustmentModel result = null;
            var sSql = @"
                SELECT
                    aa.TglTrs, aa.JamTrs,aa.UserrID, aa.Keterangan,
                    aa.TglVoid, aa.JamVoid, aa.UserrIDVoid
                FROM
                    StokAdjustment aa
                WHERE
                    aa.StokAdjustmentID = @StokAdjustmentID ";

            using (var conn = new SqlConnection(_connString))
                using (var cmd = new SqlCommand(sSql, conn))
                {
                    cmd.AddParam("@StokAdjustmentID", id);
                    conn.Open();
                    using (var dr = cmd.ExecuteReader())
                    {
                        if (dr.HasRows)
                        {
                            dr.Read();
                            result = new StokAdjustmentModel
                            {
                                StokAdjustmentID = id,
                                TglTrs           = dr["TglTrs"].ToString().ToTglDMY(),
                                JamTrs           = dr["JamTrs"].ToString(),
                                UserrID          = dr["UserrID"].ToString(),
                                TglVoid          = dr["TglVoid"].ToString().ToTglDMY(),
                                JamVoid          = dr["JamVoid"].ToString(),
                                UserrIDVoid      = dr["UserrIDVoid"].ToString(),
                                Keterangan       = dr["Keterangan"].ToString(),
                            };
                        }
                    }
                }
            return(result);
        }
Ejemplo n.º 9
0
        private void SaveTransaksi()
        {
            var kodeTrs    = NoTrsTextBox.Text;
            var tglTrs     = TanggalDateTime.Value.ToString("dd-MM-yyyy");
            var jamTrs     = JamTextBox.Text;
            var keterangan = KeteranganTextBox.Text;
            var dtlTrs     = new List <StokAdjustment2Model>();
            var noUrut     = 0;
            List <StokAdjustment2Model> listDetilAdj = null;

            foreach (DataRow dr in DetilAdjTable.Rows)
            {
                if (listDetilAdj == null)
                {
                    listDetilAdj = new List <StokAdjustment2Model>();
                }

                if (dr["BrgID"].ToString().Trim() == "")
                {
                    continue;
                }

                var dtlAdj = new StokAdjustment2Model()
                {
                    NoUrut    = noUrut,
                    BrgID     = dr["BrgID"].ToString(),
                    BrgName   = "",
                    QtyAwal   = Convert.ToDecimal(dr["QtyAwal"]),
                    QtyAdjust = Convert.ToDecimal(dr["QtyAdjust"]),
                    QtyAkhir  = Convert.ToDecimal(dr["QtyAkhir"]),
                    HppAdjust = Convert.ToDecimal(dr["Hpp"])
                };
                listDetilAdj.Add(dtlAdj);

                noUrut++;
            }
            var stokAdj = new StokAdjustmentModel
            {
                StokAdjustmentID = kodeTrs,
                TglTrs           = tglTrs,
                JamTrs           = jamTrs,
                Keterangan       = keterangan,
                TglVoid          = "3000-01-01",
                JamVoid          = "00:00:00",
                UserrID          = "",
                UserrIDVoid      = "",
                ListBrg          = listDetilAdj
            };

            StokAdjustmentModel result = null;

            using (var trans = TransHelper.NewScope())
            {
                result = _stokAdjustmentBL.Save(stokAdj);
                var resultGenStok = _bpStokBL.Generate(result);
                trans.Complete();
            }
            if (result != null)
            {
                LastIDLabel.Text = result.StokAdjustmentID;
            }
        }
Ejemplo n.º 10
0
        public IEnumerable <BPStokModel> Generate(StokAdjustmentModel adjustment)
        {
            if (adjustment == null)
            {
                throw new ArgumentNullException(nameof(adjustment));
            }
            if (adjustment.ListBrg == null)
            {
                throw new ArgumentNullException(nameof(adjustment.ListBrg));
            }

            List <BPStokModel> result = null;

            // generate yang plus dulu
            foreach (var item in adjustment.ListBrg.Where(x => x.QtyAdjust > 0))
            {
                var stokItem = new StokItem
                {
                    ReffID    = adjustment.StokAdjustmentID,
                    Tgl       = adjustment.TglTrs,
                    Jam       = adjustment.JamTrs,
                    BrgID     = item.BrgID,
                    BrgName   = item.BrgName,
                    QtyIn     = item.QtyAdjust,
                    NilaiHpp  = item.HppAdjust,
                    QtyOut    = 0,
                    HargaJual = 0,
                    BPStokID  = "",
                };
                var genResult = AddStok(stokItem);
                if (result == null)
                {
                    result = new List <BPStokModel>();
                }
                result.Add(genResult);
            }

            // generate yang minus kemudian
            foreach (var item in adjustment.ListBrg.Where(x => x.QtyAdjust < 0))
            {
                var stokItem = new StokItem
                {
                    ReffID    = adjustment.StokAdjustmentID,
                    Tgl       = adjustment.TglTrs,
                    Jam       = adjustment.JamTrs,
                    BrgID     = item.BrgID,
                    BrgName   = item.BrgName,
                    QtyIn     = 0,
                    NilaiHpp  = 0,
                    QtyOut    = item.QtyAdjust * -1,
                    HargaJual = 0,
                    BPStokID  = "",
                };
                var genResult = RemoveStok(stokItem);
                if (result == null)
                {
                    result = new List <BPStokModel>();
                }
                foreach (var item2 in genResult)
                {
                    result.Add(item2);
                }
            }

            //  update stok info
            foreach (var item in adjustment.ListBrg)
            {
                _brgStokHargaBL.UpdateStok(item.BrgID);
            }

            return(result);
        }