public IFluentPackingSlip CreatePackingSlipByView(PackingSlipView view) { decimal amount = 0; try { Task <PackingSlip> packingSlipTask = Task.Run(async() => await unitOfWork.packingSlipRepository.GetEntityBySlipDocument(view.SlipDocument)); Task.WaitAll(packingSlipTask); if (packingSlipTask.Result != null) { processStatus = CreateProcessStatus.AlreadyExists; return(this as IFluentPackingSlip); } foreach (var detail in view.PackingSlipDetailViews) { amount += detail.ExtendedCost ?? 0; } view.Amount = amount; PackingSlip packingSlip = null; packingSlip = MapToEntity(view); AddPackingSlip(packingSlip); return(this as IFluentPackingSlip); } catch (Exception ex) { throw new Exception("CreatePackingSlipByView", ex); } }
private PackingSlip MapToEntity(PackingSlipView inputObject) { Mapper mapper = new Mapper(); PackingSlip outObject = mapper.Map <PackingSlip>(inputObject); return(outObject); }
public async Task TestAddUpdatDelete() { PackingSlipModule PackingSlipMod = new PackingSlipModule(); Supplier supplier = await PackingSlipMod.Supplier.Query().GetEntityById(3); PackingSlipView view = new PackingSlipView() { SupplierId = supplier.SupplierId, ReceivedDate = DateTime.Parse("11/29/2019"), SlipDocument = "Slip-02", PONumber = "PO-2", Remark = "Remark comment", SlipType = "INBOUND", Amount = 267.9m }; NextNumber nnNextNumber = await PackingSlipMod.PackingSlip.Query().GetNextNumber(); view.PackingSlipNumber = nnNextNumber.NextNumberValue; PackingSlip packingSlip = await PackingSlipMod.PackingSlip.Query().MapToEntity(view); PackingSlipMod.PackingSlip.AddPackingSlip(packingSlip).Apply(); PackingSlip newPackingSlip = await PackingSlipMod.PackingSlip.Query().GetEntityByNumber(view.PackingSlipNumber); Assert.NotNull(newPackingSlip); newPackingSlip.SlipDocument = "Slip-03 Update"; PackingSlipMod.PackingSlip.UpdatePackingSlip(newPackingSlip).Apply(); PackingSlipView updateView = await PackingSlipMod.PackingSlip.Query().GetViewById(newPackingSlip.PackingSlipId); Assert.Same(updateView.SlipDocument, "Slip-03 Update"); PackingSlipMod.PackingSlip.DeletePackingSlip(newPackingSlip).Apply(); PackingSlip lookupPackingSlip = await PackingSlipMod.PackingSlip.Query().GetEntityById(view.PackingSlipId); Assert.Null(lookupPackingSlip); }