public async Task <CreateProcessStatus> CreateInventoryByPackingSlipView(PackingSlipView view) { int count = 0; try { foreach (var item in view.PackingSlipDetailViews) { var query = await(from e in _dbContext.Inventories where e.ItemId == item.ItemId && e.PackingSlipDetailId == item.PackingSlipDetailId select e).FirstOrDefaultAsync <Inventory>(); if (query == null) { Inventory inventory = new Inventory(); applicationViewFactory.MapPackingSlipIntoInventoryEntity(ref inventory, item); AddObject(inventory); count++; } } if (count == 0) { return(CreateProcessStatus.AlreadyExists); } else { return(CreateProcessStatus.Insert); } } catch (Exception ex) { throw new Exception(GetMyMethodName(), ex); } }
public IFluentInventory CreateInventoryByPackingSlipView(PackingSlipView view) { int count = 0; try { foreach (var item in view.PackingSlipDetailViews) { Task <Inventory> inventoryTask = Task.Run(async() => await unitOfWork.inventoryRepository.FindEntityByExpression(e => e.ItemId == item.ItemId && e.PackingSlipDetailId == item.PackingSlipDetailId)); Task.WaitAll(inventoryTask); if (inventoryTask.Result == null) { Inventory inventory = new Inventory(); applicationViewFactory.MapPackingSlipIntoInventoryEntity(ref inventory, item); AddInventory(inventory); count++; } } if (count == 0) { processStatus = CreateProcessStatus.AlreadyExists; return(this as IFluentInventory); } else { return(this as IFluentInventory); } } catch (Exception ex) { throw new Exception("CreateInventoryByPackingSlipView", ex); } }
public IFluentPackingSlipDetail CreatePackingSlipDetailsByView(PackingSlipView view) { try { Task <PackingSlip> packingSlipTask = Task.Run(async() => await unitOfWork.packingSlipRepository.GetEntityBySlipDocument(view.SlipDocument)); if (packingSlipTask.Result != null) { long packingSlipId = view.PackingSlipId; //TODO - send a list of ids and return back the views foreach (var detailView in view.PackingSlipDetailViews) { detailView.PackingSlipId = packingSlipId; PackingSlipDetail newDetail = new PackingSlipDetail(); newDetail = MapToEntity(detailView); Task <IList <PackingSlipDetail> > listTask = Task.Run(async() => await unitOfWork.packingSlipDetailRepository.FindByExpression(e => e.ItemId == detailView.ItemId && e.PackingSlipId == newDetail.PackingSlipId)); Task.WaitAll(listTask); if (listTask.Result == null) { //_dbContext.Set<PackingSlipDetail>().Add(newDetail); AddPackingSlipDetail(newDetail); return(this as IFluentPackingSlipDetail); } } } processStatus = CreateProcessStatus.AlreadyExists; return(this as IFluentPackingSlipDetail); } catch (Exception ex) { throw new Exception("CreatePackingSlipDetailsByView", ex); } }
public IPackingSlip CreatePackingSlipDetails(PackingSlipView packingSlipView) { Task <CreateProcessStatus> resultTask = Task.Run(() => unitOfWork.packingSlipRepository.CreatePackingSlipDetailsByView(packingSlipView)); Task.WaitAll(resultTask); processStatus = resultTask.Result; return(this as IPackingSlip); }
public async Task <IActionResult> GetPackingSlipView(long packingSlipId) { PackingSlipModule invMod = new PackingSlipModule(); PackingSlipView view = await invMod.PackingSlip.Query().GetViewById(packingSlipId); return(Ok(view)); }
public async Task <IActionResult> DeletePackingSlip([FromBody] PackingSlipView view) { PackingSlipModule invMod = new PackingSlipModule(); PackingSlip packingSlip = await invMod.PackingSlip.Query().MapToEntity(view); invMod.PackingSlip.DeletePackingSlip(packingSlip).Apply(); return(Ok(view)); }
public IPackingSlip CreateInventoryByPackingSlip(PackingSlipView packingSlipView) { Task <PackingSlipView> lookupViewTask = Task.Run(() => unitOfWork.packingSlipRepository.GetPackingSlipViewBySlipDocument(packingSlipView.SlipDocument)); Task.WaitAll(lookupViewTask); Task <CreateProcessStatus> resultTask = unitOfWork.inventoryRepository.CreateInventoryByPackingSlipView(lookupViewTask.Result); Task.WaitAll(resultTask); processStatus = resultTask.Result; return(this as IPackingSlip); }
public async Task <IActionResult> UpdatePackingSlip([FromBody] PackingSlipView view) { PackingSlipModule invMod = new PackingSlipModule(); PackingSlip packingSlip = await invMod.PackingSlip.Query().MapToEntity(view); invMod.PackingSlip.UpdatePackingSlip(packingSlip).Apply(); PackingSlipView retView = await invMod.PackingSlip.Query().GetViewById(packingSlip.PackingSlipId); return(Ok(retView)); }
public bool CreatePackingSlip(PackingSlipView packingSlipView) { try { PackingSlip.CreatePackingSlipByView(packingSlipView).Apply(); PackingSlipDetail.CreatePackingSlipDetailsByView(packingSlipView).Apply(); Inventory.CreateInventoryByPackingSlipView(packingSlipView).Apply(); return(true); } catch (Exception ex) { throw new Exception("CreatePackingSlip", ex); } }
public async Task <IActionResult> AddPackingSlip([FromBody] PackingSlipView view) { PackingSlipModule invMod = new PackingSlipModule(); NextNumber nnPackingSlip = await invMod.PackingSlip.Query().GetNextNumber(); view.PackingSlipNumber = nnPackingSlip.NextNumberValue; PackingSlip packingSlip = await invMod.PackingSlip.Query().MapToEntity(view); invMod.PackingSlip.AddPackingSlip(packingSlip).Apply(); PackingSlipView newView = await invMod.PackingSlip.Query().GetViewByNumber(view.PackingSlipNumber); return(Ok(newView)); }
public async Task TestCreateInboundPackingSlip() { long supplierId = 3; try { SupplierModule supplierMod = new SupplierModule(); SupplierView supplierView = await supplierMod.Supplier.Query().GetViewById(supplierId); Udc slipTypeUDC = await supplierMod.Udc.Query().GetUdc("PACKINGSLIP_TYPE", "INBOUND"); string json = @"{ ""SupplierId"" : " + supplierView.SupplierId + @", ""ReceivedDate"" : """ + DateTime.Parse("8/16/2018") + @""", ""SlipDocument"" : ""SLIP-1"", ""PONumber"" :""PO-2"", ""SlipType"" : """ + slipTypeUDC.KeyCode + @""", ""PackingSlipDetailViews"":[ { ""ItemId"": 5, ""Quantity"": 5, ""UnitPrice"" : " + 10 + @", ""ExtendedCost"" : " + 50 + @", ""UnitOfMeasure"" : """ + "Dozen" + @""", ""Description"": """ + "Pencil HB" + @""" }, { ""ItemId"": 6, ""Quantity"": 4, ""UnitPrice"" : " + 10 + @", ""ExtendedCost"" : " + 40 + @", ""UnitOfMeasure"" : """ + "Dozen" + @""", ""Description"": """ + "Pencils 2B" + @""" }, { ""ItemId"": 7, ""Quantity"": 10, ""UnitPrice"" : " + 3 + @", ""ExtendedCost"" : " + 30 + @", ""UnitOfMeasure"" : """ + "Ream" + @""", ""Description"": """ + "Paper - A4, Photo coper, 70 grams" + @""" }, { ""ItemId"": 8, ""Quantity"": 15, ""UnitPrice"" : " + 3.20 + @", ""ExtendedCost"" : " + 48 + @", ""UnitOfMeasure"" : """ + "Ream" + @""", ""Description"": """ + "NPaper - A4, Photo Copier, 80 gramULL" + @""" }, { ""ItemId"": 9, ""Quantity"": 5, ""UnitPrice"" : " + 10 + @", ""ExtendedCost"" : " + 100 + @", ""UnitOfMeasure"" : """ + "Ream" + @""", ""Description"": """ + "Pens - Ball Point, Blue" + @""" } ] }"; PackingSlipView packingSlipView = JsonConvert.DeserializeObject <PackingSlipView>(json); AccountPayableModule apMod = new AccountPayableModule(); apMod.CreatePackingSlip(packingSlipView); apMod.AccountPayable.Apply(); Assert.True(true); } catch (Exception ex) { } }