public void ListDataTest()
        {
            using (var trans = TransHelper.NewScope())
            {
                //  arrange
                var expected1 = BPPurchaseReceiptDataFactory();
                var expected2 = expected1.CloneObject();
                expected2.BPReceiptID = "B2";
                _purchaseDal.Insert(expected1);
                _purchaseDal.Insert(expected2);
                var expected = new List <BPPurchaseReceiptModel>
                {
                    expected1, expected2
                };

                //  act
                var actual = _purchaseDal.ListData("A1");

                //  assert
                actual.Should().BeEquivalentTo(expected);
            }
        }
Пример #2
0
        private void Proses(string tgl1, string tgl2)
        {
            IEnumerable <BPPurchaseReceiptModel> listData = _bpPurchaseReceiptDal.ListData(tgl1, tgl2);

            if (listData == null)
            {
                return;
            }
            var listDataSort = listData.OrderBy(x => x.BPPurchaseID + x.BrgID + x.NoUrut.ToString("N0"));
            List <BPPurchaseReceiptInfo> result = new List <BPPurchaseReceiptInfo>();

            decimal qtySisa      = 0;
            string  supplierName = "";
            bool    isClosedPO   = false;

            PurchaseReceiptTable.Rows.Clear();

            foreach (var item in listDataSort)
            {
                var trsID      = item.BPPurchaseID;
                var bpPurchase = _bpPurchaseDal.GetData(item.BPPurchaseID);

                if (OutstandingCheckBox.Checked == true)
                {
                    if (bpPurchase.IsClosed)
                    {
                        continue;
                    }
                }

                //  jika baris Purchase
                if (item.BPReceiptID.Trim() == "")
                {
                    supplierName = bpPurchase.SupplierName;
                    qtySisa      = _bpPurchaseBL.GetQtyOutstanding(item.BPPurchaseID, item.BrgID);
                    isClosedPO   = bpPurchase.IsClosed;
                }

                //  jika baris Receipt
                else
                {
                    trsID        = "    " + item.BPReceiptID;
                    supplierName = "";
                    qtySisa      = 0;
                    isClosedPO   = false;
                }

                //  cek supplier
                if (item.QtyPurchase != 0)
                {
                    var status = "";
                    if (isClosedPO)
                    {
                        status = "Close";
                    }
                    PurchaseReceiptTable.Rows.Add(
                        trsID, item.Tgl, supplierName, item.Keterangan,
                        item.QtyPurchase, null, qtySisa, status);
                }
                else
                {
                    PurchaseReceiptTable.Rows.Add(
                        trsID, item.Tgl, supplierName, item.Keterangan,
                        null, item.QtyReceipt, null, null);
                }
            }

            bool colorToggle = false;

            for (int i = 0; i <= dataGridView1.Rows.Count - 1; i++)
            {
                var x = dataGridView1.Rows[i].Cells[1].Value.ToString();
                if (x.Trim().Substring(0, 2) == "PC")
                {
                    colorToggle = !colorToggle;
                }

                if (colorToggle)
                {
                    dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.White;
                }
                else
                {
                    dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.LemonChiffon;
                }
            }
        }
Пример #3
0
        public BPPurchaseModel Generate(ReceiptModel receipt)
        {
            if (receipt == null)
            {
                throw new ArgumentNullException(nameof(receipt));
            }

            #region UPDATE-PURCHASE-LAMA (KASUS EDIT)
            //  cari Purchase atas receipt ini (jika ada sebelumnya)
            BPPurchaseModel bpPurchaseLama = null;
            var             listPurchase   = _bpPurchaseReceiptDal.ListData(receipt);
            //  hilangkan receipt ini dari purchase tsb
            if (listPurchase != null)
            {
                var bpPurchasIDLama = listPurchase.First().BPPurchaseID;
                bpPurchaseLama         = GetData(bpPurchasIDLama);
                bpPurchaseLama.ListBrg = bpPurchaseLama.ListBrg
                                         .Where(x => x.BPReceiptID != receipt.ReceiptID)
                                         .ToList();
            }
            #endregion

            //  update pruchase baru
            BPPurchaseModel bpPurchaseBaru = null;
            bpPurchaseBaru = GetData(receipt.PurchaseID);
            if (bpPurchaseBaru == null)
            {
                throw new ArgumentException("Purchase Invalid");
            }

            //  hilangka receipt ini dari purchase (jika ada / kasus edit)
            //  sebelum ditambahkan kembali
            bpPurchaseBaru.ListBrg = bpPurchaseBaru.ListBrg
                                     .Where(x => x.BPReceiptID != receipt.ReceiptID).ToList();

            //  tambahkan detil baru
            foreach (var item in receipt.ListBrg)
            {
                var newItem = new BPPurchaseReceiptModel()
                {
                    BPReceiptID  = receipt.ReceiptID,
                    BPDetilID    = item.ReceiptDetilID,
                    Tgl          = receipt.Tgl,
                    Jam          = receipt.Jam,
                    BrgID        = item.BrgID,
                    Harga        = item.Harga,
                    Diskon       = item.Diskon,
                    Tax          = item.TaxRupiah,
                    SubTotal     = item.SubTotal,
                    QtyPurchase  = 0,
                    QtyReceipt   = item.Qty,
                    BPPurchaseID = receipt.PurchaseID,
                };
                bpPurchaseBaru.ListBrg.Add(newItem);
            }

            //  simpan data
            BPPurchaseModel result     = null;
            BPPurchaseModel resultLama = null;
            using (var trans = TransHelper.NewScope())
            {
                if (bpPurchaseLama != null)
                {
                    resultLama = Save(bpPurchaseLama);
                }

                result = Save(bpPurchaseBaru);
                trans.Complete();
            }
            return(result);
        }