public async Task <IActionResult> GetSalesOrderDetailView(long SalesOrderDetailId) { SalesOrderModule sodMod = new SalesOrderModule(); SalesOrderDetailView view = await sodMod.SalesOrderDetail.Query().GetViewById(SalesOrderDetailId); return(Ok(view)); }
public async Task TestSalesOrderPaging() { SalesOrderModule salesOrderMod = new SalesOrderModule(); long? salesOrderId = 69; PageListViewContainer <SalesOrderView> container = await salesOrderMod.SalesOrder.Query().GetViewsByPage(predicate: e => e.SalesOrderId == salesOrderId, order: e => e.SalesOrderId, pageSize: 1, pageNumber: 1); Assert.True(container.TotalItemCount > 0); }
public async Task TestSalesOrderView() { SalesOrderModule invMod = new SalesOrderModule(); long SalesOrderId = 21; SalesOrderView view = await invMod.SalesOrder.Query().GetViewById(SalesOrderId); Assert.NotNull(view); }
public async Task <IActionResult> DeleteSalesOrderDetail([FromBody] SalesOrderDetailView view) { SalesOrderModule sodMod = new SalesOrderModule(); SalesOrderDetail SalesOrderDetail = await sodMod.SalesOrderDetail.Query().MapToEntity(view); sodMod.SalesOrderDetail.DeleteSalesOrderDetail(SalesOrderDetail).Apply(); return(Ok(view)); }
public async Task <IActionResult> UpdateSalesOrderDetail([FromBody] SalesOrderDetailView view) { SalesOrderModule sodMod = new SalesOrderModule(); SalesOrderDetail SalesOrderDetail = await sodMod.SalesOrderDetail.Query().MapToEntity(view); sodMod.SalesOrderDetail.UpdateSalesOrderDetail(SalesOrderDetail).Apply(); SalesOrderDetailView updateView = await sodMod.SalesOrderDetail.Query().GetViewById(SalesOrderDetail.SalesOrderDetailId); SalesOrderDetailView retView = await sodMod.SalesOrderDetail.Query().GetViewById(SalesOrderDetail.SalesOrderDetailId); return(Ok(retView)); }
public async Task<IActionResult> UpdateSalesOrder([FromBody]SalesOrderView view) { SalesOrderModule salesOrderMod = new SalesOrderModule(); SalesOrder salesOrder = await salesOrderMod.SalesOrder.Query().MapToEntity(view); IList<SalesOrderDetail> salesOrderDetails = await salesOrderMod.SalesOrderDetail.Query().MapToEntity((view.SalesOrderDetailViews).ToList<SalesOrderDetailView>()); salesOrder = salesOrderMod.SalesOrder.Query().SumAmounts(salesOrder, salesOrderDetails); salesOrderMod.SalesOrderDetail.UpdateSalesOrderDetails(salesOrderDetails).Apply(); salesOrderMod.SalesOrder.UpdateSalesOrder(salesOrder).Apply(); return Ok(view); }
public async Task <IActionResult> AddSalesOrderDetail([FromBody] SalesOrderDetailView view) { SalesOrderModule sodMod = new SalesOrderModule(); NextNumber nnSalesOrderDetail = await sodMod.SalesOrderDetail.Query().GetNextNumber(); view.SalesOrderDetailNumber = nnSalesOrderDetail.NextNumberValue; SalesOrderDetail SalesOrderDetail = await sodMod.SalesOrderDetail.Query().MapToEntity(view); sodMod.SalesOrderDetail.AddSalesOrderDetail(SalesOrderDetail).Apply(); SalesOrderDetailView newView = await sodMod.SalesOrderDetail.Query().GetViewByNumber(view.SalesOrderDetailNumber); return(Ok(newView)); }
public async Task<IActionResult> DeleteSalesOrder(long salesOrderId) { SalesOrderModule salesOrderMod = new SalesOrderModule(); List<SalesOrderDetail> salesOrderDetails = (await salesOrderMod.SalesOrderDetail.Query().GetDetailsBySalesOrderId(salesOrderId)).ToList<SalesOrderDetail>(); IList<SalesOrderDetailView> listDetailViews = await salesOrderMod.SalesOrderDetail.Query().GetDetailViewsBySalesOrderId(salesOrderId); salesOrderMod.SalesOrderDetail.DeleteSalesOrderDetails(salesOrderDetails).Apply(); SalesOrder salesOrder = await salesOrderMod.SalesOrder.Query().GetEntityById(salesOrderId); salesOrderMod.SalesOrder.DeleteSalesOrder(salesOrder).Apply(); SalesOrderView view = await salesOrderMod.SalesOrder.Query().MapToView(salesOrder); view.SalesOrderDetailViews = listDetailViews; return Ok(view); }
public async Task<IActionResult> AddSalesOrder([FromBody]SalesOrderView view) { SalesOrderModule salesOrderMod = new SalesOrderModule(); List<SalesOrderDetailView> detailViews = view.SalesOrderDetailViews.ToList<SalesOrderDetailView>(); Udc orderType = await salesOrderMod.SalesOrder.Query().GetUdc("ORDER_TYPE", SalesOrderEnum.CASH_SALES.ToString()); Udc paymentTerms = await salesOrderMod.SalesOrder.Query().GetUdc("PAYMENTTERMS", PaymentTermsEnum.Net_2_10_30.ToString()); NextNumber nnSalesOrder = await salesOrderMod.SalesOrder.Query().GetNextNumber(); view.OrderNumber = nnSalesOrder.NextNumberValue.ToString(); SalesOrder salesOrder = await salesOrderMod.SalesOrder.Query().MapToEntity(view); salesOrderMod.SalesOrder.AddSalesOrder(salesOrder).Apply(); SalesOrder newSalesOrder = await salesOrderMod.SalesOrder.Query().GetEntityByNumber(view.OrderNumber); detailViews.ForEach(m => m.SalesOrderId = newSalesOrder.SalesOrderId); List<SalesOrderDetail> salesOrderDetails = (await salesOrderMod.SalesOrderDetail.Query().MapToEntity(detailViews)).ToList<SalesOrderDetail>(); salesOrderMod.SalesOrderDetail.AddSalesOrderDetails(salesOrderDetails).Apply(); newSalesOrder = salesOrderMod.SalesOrder.Query().SumAmounts(newSalesOrder,salesOrderDetails); salesOrderMod.SalesOrder.UpdateSalesOrder(newSalesOrder).Apply(); SalesOrderView newSalesOrderView = await salesOrderMod.SalesOrder.Query().MapToView(newSalesOrder); List<SalesOrderDetailView> listDetailViews = (await salesOrderMod.SalesOrderDetail.Query().GetDetailViewsBySalesOrderId(newSalesOrder.SalesOrderId)).ToList<SalesOrderDetailView>(); newSalesOrderView.SalesOrderDetailViews = listDetailViews; return Ok(newSalesOrderView); }
public async Task TestAddUpdatDeleteShipments() { SalesOrderModule salesOrderMod = new SalesOrderModule(); Udc orderType = await salesOrderMod.SalesOrder.Query().GetUdc("ORDER_TYPE", SalesOrderEnum.CASH_SALES.ToString()); Udc paymentTerms = await salesOrderMod.SalesOrder.Query().GetUdc("PAYMENTTERMS", PaymentTermsEnum.Net_2_10_30.ToString()); NextNumber nnSalesOrder = await salesOrderMod.SalesOrder.Query().GetNextNumber(); SalesOrderView view = new SalesOrderView() { Taxes = 0, Amount = 0, OrderType = orderType.KeyCode.ToString(), CustomerId = 2, TakenBy = "David Nishimoto", FreightAmount = 0, PaymentInstrument = "Check", PaymentTerms = paymentTerms.KeyCode.ToString() }; List <SalesOrderDetailView> detailViews = new List <SalesOrderDetailView>() { new SalesOrderDetailView() { ItemId = 11, Description = "Flower Bent Rod", Quantity = 4, QuantityOpen = 4, Amount = 31.52M, AmountOpen = 31.52M, UnitOfMeasure = "Each", UnitPrice = 7.88M, AccountId = 5, ScheduledShipDate = DateTime.Parse("5/21/2019"), PromisedDate = DateTime.Parse("5/23/2019"), GLDate = DateTime.Parse("5/21/2019"), InvoiceDate = (DateTime?)null, ShippedDate = (DateTime?)null, GrossWeight = 4.1000M * 4M, GrossWeightUnitOfMeasure = "LBS", //UnitVolume { get; set; } //UnitVolumeUnitOfMeasurement { get; set; } BusUnit = "700", CompanyCode = "1000", LineNumber = 1 } }; view.OrderNumber = nnSalesOrder.NextNumberValue.ToString(); SalesOrder salesOrder = await salesOrderMod.SalesOrder.Query().MapToEntity(view); salesOrderMod.SalesOrder.AddSalesOrder(salesOrder).Apply(); SalesOrder newSalesOrder = await salesOrderMod.SalesOrder.Query().GetEntityByNumber(view.OrderNumber); Assert.NotNull(newSalesOrder); newSalesOrder.Note = "sales order note test"; SalesOrderView newSalesOrderView = await salesOrderMod.SalesOrder.Query().MapToView(newSalesOrder); salesOrderMod.SalesOrder.UpdateSalesOrder(newSalesOrder).Apply(); SalesOrderView updateView = await salesOrderMod.SalesOrder.Query().GetViewById(newSalesOrder.SalesOrderId); Assert.Same(updateView.Note, "sales order note test"); detailViews.ForEach(m => m.SalesOrderId = newSalesOrder.SalesOrderId); foreach (var item in detailViews) { NextNumber nn = await salesOrderMod.SalesOrderDetail.Query().GetNextNumber(); item.SalesOrderDetailNumber = nn.NextNumberValue; } List <SalesOrderDetail> salesOrderDetails = (await salesOrderMod.SalesOrderDetail.Query().MapToEntity(detailViews)).ToList <SalesOrderDetail>(); salesOrderMod.SalesOrderDetail.AddSalesOrderDetails(salesOrderDetails).Apply(); salesOrderDetails.ForEach(m => m.Description += " Updated"); salesOrderMod.SalesOrderDetail.UpdateSalesOrderDetails(salesOrderDetails).Apply(); List <SalesOrderDetail> soListDetails = (await salesOrderMod.SalesOrderDetail.Query().GetDetailsBySalesOrderId(newSalesOrder.SalesOrderId)).ToList <SalesOrderDetail>(); /************************************Shipments**************************/ ShipmentModule ShipmentMod = new ShipmentModule(); NextNumber nnShipment = await ShipmentMod.Shipment.Query().GetNextNumber(); ShipmentView shipmentCreation = new ShipmentView() { SalesOrderId = newSalesOrder.SalesOrderId, ActualWeight = 100, BillableWeight = 100, ShippedFromLocationId = 3, ShippedToLocationId = 9, TrackingNumber = "123", WeightUOM = "LBS", ShipmentDate = DateTime.Now, CarrierId = 2, ShipmentNumber = nnShipment.NextNumberValue }; shipmentCreation.ItemsAdjustedQuantityShipped = new List <ItemsAdjustedQuantityShippedStruct>(); foreach (var item in soListDetails) { var newItem = new ItemsAdjustedQuantityShippedStruct() { SalesOrderDetailId = item.SalesOrderDetailId, AdjustedQuantityShipped = item.Quantity ?? 0, AdjustedAmountShipped = item.Amount }; shipmentCreation.ItemsAdjustedQuantityShipped.Add(newItem); } bool result = await ShipmentMod.CreateBySalesOrder(shipmentCreation); Shipment lookupShipment = await ShipmentMod.Shipment.Query().GetEntityByNumber(shipmentCreation.ShipmentNumber); lookupShipment.TrackingNumber = "123"; ShipmentMod.Shipment.UpdateShipment(lookupShipment).Apply(); ShipmentView updateShipmentsView = await ShipmentMod.Shipment.Query().GetViewById(lookupShipment.ShipmentId); Assert.Same(updateShipmentsView.TrackingNumber, "123"); List <ShipmentDetail> listShipmentDetail = (await ShipmentMod.ShipmentDetail.Query().GetEntitiesByShipmentId(lookupShipment.ShipmentId)).ToList <ShipmentDetail>(); listShipmentDetail.ForEach(m => m.AmountShipped = 10); listShipmentDetail.ForEach(m => m.QuantityShipped = 1); ShipmentMod.ShipmentDetail.UpdateShipmentDetails(listShipmentDetail).Apply(); //Test Paging //lssWebApi2.AbstractFactory.PageListViewContainer<ShipmentView> container = await ShipmentMod.Shipment.Query().GetViewsByPage(predicate: e => e.TrackingNumber == "123", order: e => e.Amount, pageSize: 1, pageNumber: 1); //Assert.True(container.Items.Count > 0); List <ShipmentDetail> listShipmentDetails = (await ShipmentMod.ShipmentDetail.Query().GetEntitiesByShipmentId(lookupShipment.ShipmentId)).ToList <ShipmentDetail>(); IList <ShipmentDetailView> listShipmentDetailViews = await ShipmentMod.ShipmentDetail.Query().GetViewsByShipmentId(lookupShipment.ShipmentId); ShipmentMod.ShipmentDetail.DeleteShipmentDetails(listShipmentDetails).Apply(); ShipmentMod.Shipment.DeleteShipment(lookupShipment).Apply(); Shipment lookup2Shipments = await ShipmentMod.Shipment.Query().GetEntityById(lookupShipment.ShipmentId); Assert.Null(lookup2Shipments); /**********************remove sales Order detail******************************/ IList <SalesOrderDetailView> solistDetailViews = await salesOrderMod.SalesOrderDetail.Query().GetDetailViewsBySalesOrderId(newSalesOrder.SalesOrderId); if (solistDetailViews.ToList <SalesOrderDetailView>().Any(m => m.Description.Contains("Updated")) == false) { Assert.True(false); } salesOrderMod.SalesOrderDetail.DeleteSalesOrderDetails(soListDetails).Apply(); salesOrderMod.SalesOrder.DeleteSalesOrder(newSalesOrder).Apply(); SalesOrder lookupSalesOrder = await salesOrderMod.SalesOrder.Query().GetEntityById(view.SalesOrderId); Assert.Null(lookupSalesOrder); }
public async Task TestAddUpdatDeleteSalesOrder() { SalesOrderModule salesOrderMod = new SalesOrderModule(); Udc orderType = await salesOrderMod.SalesOrder.Query().GetUdc("ORDER_TYPE", SalesOrderEnum.CASH_SALES.ToString()); Udc paymentTerms = await salesOrderMod.SalesOrder.Query().GetUdc("PAYMENTTERMS", PaymentTermsEnum.Net_2_10_30.ToString()); NextNumber nnSalesOrder = await salesOrderMod.SalesOrder.Query().GetNextNumber(); SalesOrderView view = new SalesOrderView() { Taxes = 0, Amount = 0, OrderType = orderType.KeyCode.ToString(), CustomerId = 2, TakenBy = "David Nishimoto", FreightAmount = 0, PaymentInstrument = "Check", PaymentTerms = paymentTerms.KeyCode.ToString() }; List <SalesOrderDetailView> detailViews = new List <SalesOrderDetailView>() { new SalesOrderDetailView() { ItemId = 11, Description = "Flower Bent Rod", Quantity = 4, QuantityOpen = 4, Amount = 31.52M, AmountOpen = 31.52M, UnitOfMeasure = "Each", UnitPrice = 7.88M, AccountId = 5, ScheduledShipDate = DateTime.Parse("5/21/2019"), PromisedDate = DateTime.Parse("5/23/2019"), GLDate = DateTime.Parse("5/21/2019"), InvoiceDate = (DateTime?)null, ShippedDate = (DateTime?)null, GrossWeight = 4.1000M * 4M, GrossWeightUnitOfMeasure = "LBS", //UnitVolume { get; set; } //UnitVolumeUnitOfMeasurement { get; set; } BusUnit = "700", CompanyCode = "1000", LineNumber = 1 } }; view.OrderNumber = nnSalesOrder.NextNumberValue.ToString(); SalesOrder salesOrder = await salesOrderMod.SalesOrder.Query().MapToEntity(view); salesOrderMod.SalesOrder.AddSalesOrder(salesOrder).Apply(); SalesOrder newSalesOrder = await salesOrderMod.SalesOrder.Query().GetEntityByNumber(view.OrderNumber); Assert.NotNull(newSalesOrder); newSalesOrder.Note = "sales order note test"; SalesOrderView newSalesOrderView = await salesOrderMod.SalesOrder.Query().MapToView(newSalesOrder); salesOrderMod.SalesOrder.UpdateSalesOrder(newSalesOrder).Apply(); SalesOrderView updateView = await salesOrderMod.SalesOrder.Query().GetViewById(newSalesOrder.SalesOrderId); Assert.Same(updateView.Note, "sales order note test"); detailViews.ForEach(m => m.SalesOrderId = newSalesOrder.SalesOrderId); foreach (var item in detailViews) { NextNumber nn = await salesOrderMod.SalesOrderDetail.Query().GetNextNumber(); item.SalesOrderDetailNumber = nn.NextNumberValue; } List <SalesOrderDetail> salesOrderDetails = (await salesOrderMod.SalesOrderDetail.Query().MapToEntity(detailViews)).ToList <SalesOrderDetail>(); salesOrderMod.SalesOrderDetail.AddSalesOrderDetails(salesOrderDetails).Apply(); salesOrderDetails.ForEach(m => m.Description += " Updated"); salesOrderMod.SalesOrderDetail.UpdateSalesOrderDetails(salesOrderDetails).Apply(); //Test Paging - TODO -figure out why paging causes a severed relationship between the order and the detail //SalesOrderViewContainer container = await salesOrderMod.SalesOrder.Query().GetViewsByPage(predicate: e => e.Note.Contains("test"), order: e => e.SalesOrderId, pageSize: 1, pageNumber: 1); // Assert.True(container.items.Count > 0); List <SalesOrderDetail> listDetails = (await salesOrderMod.SalesOrderDetail.Query().GetDetailsBySalesOrderId(newSalesOrder.SalesOrderId)).ToList <SalesOrderDetail>(); List <SalesOrderDetailView> listDetailViews = (await salesOrderMod.SalesOrderDetail.Query().GetDetailViewsBySalesOrderId(newSalesOrder.SalesOrderId)).ToList <SalesOrderDetailView>(); Assert.True(listDetails.Any(m => m.Description.Contains("Updated"))); salesOrderMod.SalesOrderDetail.DeleteSalesOrderDetails(listDetails).Apply(); salesOrderMod.SalesOrder.DeleteSalesOrder(newSalesOrder).Apply(); SalesOrder lookupSalesOrder = await salesOrderMod.SalesOrder.Query().GetEntityById(view.SalesOrderId); Assert.Null(lookupSalesOrder); }