public async Task Should_Success_Update_Data() { ExternalPurchaseOrder model = await DataUtil.GetTestData("Unit test"); model.UseIncomeTax = false; foreach (var item in model.Items) { foreach (var detail in item.Details) { detail.DealQuantity -= 1; } } var Response = await Facade.Update((int)model.Id, model, "Unit test"); Assert.NotEqual(Response, 0); ExternalPurchaseOrderItem oldItem = model.Items.FirstOrDefault(); ExternalPurchaseOrderDetail oldDetail = oldItem.Details.FirstOrDefault(); ExternalPurchaseOrderItem newDuplicateItem = new ExternalPurchaseOrderItem { POId = oldItem.POId, PONo = oldItem.PONo, PRId = oldItem.PRId, PRNo = oldItem.PRNo, UnitId = oldItem.UnitId, UnitCode = oldItem.UnitCode, UnitName = oldItem.UnitName, Details = new List <ExternalPurchaseOrderDetail>() }; ExternalPurchaseOrderDetail oldDuplicateDetail = new ExternalPurchaseOrderDetail { PRItemId = oldDetail.PRItemId, ProductId = oldDetail.ProductId, ProductCode = oldDetail.ProductCode, ProductName = oldDetail.ProductName, ProductRemark = oldDetail.ProductRemark, DOQuantity = oldDetail.DOQuantity, DealQuantity = oldDetail.DealQuantity, DealUomId = oldDetail.DealUomId, DealUomUnit = oldDetail.DealUomUnit, ReceiptQuantity = oldDetail.ReceiptQuantity, DefaultUomId = oldDetail.DefaultUomId, DefaultUomUnit = oldDetail.DefaultUomUnit, POItemId = oldDetail.POItemId }; ExternalPurchaseOrderDetail newDuplicateDetail = new ExternalPurchaseOrderDetail { PRItemId = oldDetail.PRItemId, ProductRemark = oldDetail.ProductRemark, DOQuantity = oldDetail.DOQuantity, DealQuantity = oldDetail.DealQuantity, DealUomId = oldDetail.DealUomId, DealUomUnit = oldDetail.DealUomUnit, ReceiptQuantity = oldDetail.ReceiptQuantity, DefaultUomId = oldDetail.DefaultUomId, DefaultUomUnit = oldDetail.DefaultUomUnit, POItemId = oldDetail.POItemId, ProductId = "PrdId2", ProductCode = "PrdCode2", ProductName = "PrdName2", }; newDuplicateItem.Details.Add(oldDuplicateDetail); newDuplicateItem.Details.Add(newDuplicateDetail); model.Items.Add(newDuplicateItem); var ResponseAddDuplicateItem = await Facade.Update((int)model.Id, model, "Unit test"); Assert.NotEqual(ResponseAddDuplicateItem, 0); var newModelForAddItem = await DataUtil.GetNewData("Unit test"); ExternalPurchaseOrderItem newModelItem = newModelForAddItem.Items.FirstOrDefault(); model.Items.Add(newModelItem); var ResponseAddItem = await Facade.Update((int)model.Id, model, "Unit test"); Assert.NotEqual(ResponseAddItem, 0); model.Items.Remove(newModelItem); model.Items.FirstOrDefault().Details.Remove(oldDetail); var ResponseRemoveItemDetail = await Facade.Update((int)model.Id, model, "Unit test"); Assert.NotEqual(ResponseRemoveItemDetail, 0); }
public async Task <PurchasingDisposition> GetNewData() { var s = await Task.Run(() => externalPurchaseOrderDataUtil.GetTestData("unit-test")); ExternalPurchaseOrderDetail d = new ExternalPurchaseOrderDetail(); ExternalPurchaseOrderItem i = new ExternalPurchaseOrderItem(); var itemData = s.Items; foreach (var item in itemData) { i = item; break; } foreach (var detail in i.Details) { d = detail; break; } EPODetailViewModel detailEPO = new EPODetailViewModel { _id = d.Id, poItemId = d.POItemId, prItemId = d.PRItemId, product = new ProductViewModel { _id = d.ProductId, code = d.ProductCode, name = d.ProductName, }, dealQuantity = d.DealQuantity, dealUom = new UomViewModel { _id = d.DealUomId, unit = d.DealUomUnit, }, doQuantity = d.DOQuantity, dispositionQuantity = d.DispositionQuantity, productRemark = d.ProductRemark, priceBeforeTax = d.PriceBeforeTax, pricePerDealUnit = d.PricePerDealUnit, }; EPOItemViewModel itemEPO = new EPOItemViewModel { _id = i.Id, IsDeleted = i.IsDeleted, prId = i.PRId, poId = i.POId, prNo = i.PRNo, category = new CategoryViewModel { _id = "CategoryId", code = "CategoryCode", name = "CategoryName" }, details = new List <EPODetailViewModel>() { detailEPO } }; EPOViewModel dataEPO = new EPOViewModel { _id = s.Id, no = s.EPONo, unit = new UnitViewModel { _id = s.UnitId, name = s.UnitName, code = s.UnitCode, }, useVat = s.UseVat, useIncomeTax = s.UseIncomeTax, incomeTax = new IncomeTaxViewModel { _id = s.IncomeTaxId, name = s.IncomeTaxName, rate = s.IncomeTaxRate, }, items = new List <EPOItemViewModel>() { itemEPO } }; return(new PurchasingDisposition { SupplierId = "1", SupplierCode = "Supplier1", SupplierName = "supplier1", Bank = "Bank", Amount = 1000, Calculation = "axb+c", //InvoiceNo="test", ConfirmationOrderNo = "test", //Investation = "test", PaymentDueDate = new DateTimeOffset(), ProformaNo = "aaa", PaymentMethod = "Test", Remark = "Remark1", CategoryCode = "test", CategoryId = "1", CategoryName = "test", Items = new List <PurchasingDispositionItem> { new PurchasingDispositionItem { EPOId = dataEPO._id.ToString(), EPONo = dataEPO.no, IncomeTaxId = "1", IncomeTaxName = "tax", IncomeTaxRate = 1, UseIncomeTax = true, UseVat = true, Details = new List <PurchasingDispositionDetail> { new PurchasingDispositionDetail { EPODetailId = detailEPO._id.ToString(), DealQuantity = 10, PaidQuantity = 1000, DealUomId = "1", DealUomUnit = "test", PaidPrice = 1000, PricePerDealUnit = 100, PriceTotal = 10000, PRId = "1", PRNo = "test", ProductCode = "test", ProductName = "test", ProductId = "1", UnitName = "test", UnitCode = "test", UnitId = "1", } } } } }); }
public PurchasingDisposition GetNewData() { var datas = Task.Run(() => externalPurchaseOrderDataUtil.GetTestData("unit-test")).Result; var itemData = datas.Items; ExternalPurchaseOrderDetail detailData = new ExternalPurchaseOrderDetail(); ExternalPurchaseOrderItem itemdata = new ExternalPurchaseOrderItem(); foreach (var item in itemData) { itemdata = item; break; } foreach (var detail in itemdata.Details) { detailData = detail; break; } return(new PurchasingDisposition { SupplierId = "1", SupplierCode = "Supplier1", SupplierName = "supplier1", Bank = "Bank", Amount = 1000, Calculation = "axb+c", //InvoiceNo="test", ConfirmationOrderNo = "test", //Investation = "test", PaymentDueDate = new DateTimeOffset(), ProformaNo = "aaa", PaymentMethod = "Test", Remark = "Remark1", Items = new List <PurchasingDispositionItem> { new PurchasingDispositionItem { EPOId = datas.Id.ToString(), EPONo = datas.EPONo, IncomeTaxId = "1", IncomeTaxName = "tax", IncomeTaxRate = 1, UseIncomeTax = true, UseVat = true, Details = new List <PurchasingDispositionDetail> { new PurchasingDispositionDetail { //EPODetailId=detailData.Id.ToString(), CategoryCode = "test", CategoryId = "1", CategoryName = "test", DealQuantity = 10, PaidQuantity = 1000, DealUomId = "1", DealUomUnit = "test", PaidPrice = 1000, PricePerDealUnit = 100, PriceTotal = 10000, PRId = "1", PRNo = "test", ProductCode = "test", ProductName = "test", ProductId = "1", UnitName = "test", UnitCode = "test", UnitId = "1", } } } } }); }