コード例 #1
0
        public BrgModel Save(BrgModel brg)
        {
            //  validasi
            var result = brg;

            result = TryValidate(brg);

            using (var trans = TransHelper.NewScope())
            {
                //  save
                if (brg.BrgID.Trim() == "")
                {
                    brg.BrgID = _paramNoBL.GenNewID("B", 5);
                    _brgDal.Insert(result);

                    //  insert ke barangStokHarga
                    _brgStokHargaBL.UpdateStok(brg.BrgID);
                }
                else
                {
                    var dummyBrg = _brgDal.GetData(brg.BrgID);
                    if (dummyBrg == null)
                    {
                        _brgDal.Insert(result);
                        //  insert ke barangStokHarga
                        _brgStokHargaBL.UpdateStok(brg.BrgID);
                    }
                    else
                    {
                        _brgDal.Update(result);
                        //  insert ke barangStokHarga
                        _brgStokHargaBL.UpdateStok(brg.BrgID);
                    }
                }
                trans.Complete();
            }

            return(result);
        }
コード例 #2
0
ファイル: BPStokBL.cs プロジェクト: druryyl/AnugerahStore
        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);
        }