/// <summary> /// convert foundry order part to project part view model /// </summary> /// <param name="foundryOrderPart"></param> /// <returns></returns> public FoundryOrderPartViewModel ConvertToProjectPartView(FoundryOrderPart foundryOrderPart) { FoundryOrderPartViewModel model = new FoundryOrderPartViewModel(); var _foundryOrderRepository = new FoundryOrderRepository(); var _customerOrderRepository = new CustomerOrderRepository(); var _projectPartRepository = new ProjectPartRepository(); var _dynamicsReceiptRepository = new ReceiptDynamicsRepository(); var customerOrderPart = _customerOrderRepository.GetCustomerOrderPart(foundryOrderPart.CustomerOrderPartId); var projectPart = _projectPartRepository.GetProjectPart(foundryOrderPart.ProjectPartId); var customerOrder = _customerOrderRepository.GetCustomerOrder((customerOrderPart != null) ? customerOrderPart.CustomerOrderId : Guid.Empty); model.FoundryOrderPartId = foundryOrderPart.FoundryOrderPartId; model.CustomerOrderPartId = foundryOrderPart.CustomerOrderPartId; model.FoundryOrderId = foundryOrderPart.FoundryOrderId; model.ProjectPartId = foundryOrderPart.ProjectPartId; model.CustomerOrderId = (customerOrderPart != null) ? customerOrderPart.CustomerOrderId : Guid.Empty; model.AvailableQuantity = (customerOrderPart != null) ? customerOrderPart.AvailableQuantity : 0; model.FoundryOrderQuantity = foundryOrderPart.Quantity; model.PartNumber = (projectPart != null && !string.IsNullOrEmpty(projectPart.Number)) ? projectPart.Number : "N/A"; model.PartDescription = (projectPart != null && !string.IsNullOrEmpty(projectPart.Description)) ? projectPart.Description : "N/A"; model.PONumber = (customerOrder != null && !string.IsNullOrEmpty(customerOrder.PONumber)) ? customerOrder.PONumber : "N/A"; model.ShipCode = (!string.IsNullOrEmpty(foundryOrderPart.ShipCode)) ? foundryOrderPart.ShipCode : "N/A"; model.ShipCodeNotes = (!string.IsNullOrEmpty(foundryOrderPart.ShipCodeNotes)) ? foundryOrderPart.ShipCodeNotes : "N/A"; model.EstArrivalDate = (foundryOrderPart.EstArrivalDate != null) ? foundryOrderPart.EstArrivalDate : DateTime.MinValue; model.EstArrivalDateStr = (foundryOrderPart.EstArrivalDate != null) ? foundryOrderPart.EstArrivalDate.Value.ToShortDateString() : "N/A"; model.ShipDate = (foundryOrderPart.ShipDate != null) ? foundryOrderPart.ShipDate : DateTime.MinValue; model.ShipDateStr = (foundryOrderPart.ShipDate != null) ? foundryOrderPart.ShipDate.Value.ToShortDateString() : "N/A"; model.Cost = foundryOrderPart.Cost; model.Price = foundryOrderPart.Price; model.IsScheduled = foundryOrderPart.IsScheduled; model.HasBeenReceived = foundryOrderPart.HasBeenReceived; model.ReceiptDate = (foundryOrderPart.ReceiptDate != null) ? foundryOrderPart.ReceiptDate : DateTime.MinValue; model.ReceiptDateStr = (foundryOrderPart.ReceiptDate != null) ? foundryOrderPart.ReceiptDate.Value.ToShortDateString() : "N/A"; model.ReceiptQuantity = foundryOrderPart.ReceiptQuantity; if (_foundryOrderRepository != null) { _foundryOrderRepository.Dispose(); _foundryOrderRepository = null; } if (_customerOrderRepository != null) { _customerOrderRepository.Dispose(); _customerOrderRepository = null; } if (_projectPartRepository != null) { _projectPartRepository.Dispose(); _projectPartRepository = null; } if (_dynamicsReceiptRepository != null) { _dynamicsReceiptRepository.Dispose(); _dynamicsReceiptRepository = null; } return(model); }
/// <summary> /// convert part to part inventory list model /// </summary> /// <param name="part"></param> /// <returns></returns> public PartInventoryViewModel ConvertToListView(Part part) { PartInventoryViewModel model = new PartInventoryViewModel(); var _partRepository = new PartRepository(); var _dynamicsPartRepository = new PartDynamicsRepository(); var _foundryOrderRepository = new FoundryOrderRepository(); var _dynamicsReceiptRepository = new ReceiptDynamicsRepository(); var dynamicsPartQty = _dynamicsPartRepository.GetPartQuantityMaster(part.Number); var dynamicsPartStatus = _dynamicsPartRepository.GetItemStatus(part.Number); var dynamicsPartSales = _dynamicsPartRepository.GetItemSales(part.Number); model.PartId = part.PartId; model.PartNumber = part.Number; model.CustomerId = part.CustomerId; model.FoundryId = part.FoundryId; model.QuantityOnHand = (dynamicsPartStatus != null) ? Math.Round(dynamicsPartStatus.Quantity_on_Hand, 2) : 0.00m; model.Cost = (dynamicsPartStatus != null) ? Math.Round(dynamicsPartStatus.Cost, 2) : 0.00m; model.OnOrderQuantity = (dynamicsPartQty != null) ? Math.Round(dynamicsPartQty.QTYONORD, 2) : 0.00m; model.ReceiptDate = (dynamicsPartStatus != null && dynamicsPartStatus.Last_Receipt_Date != null) ? dynamicsPartStatus.Last_Receipt_Date : DateTime.MinValue; model.ReceiptDateStr = (dynamicsPartStatus != null && dynamicsPartStatus.Last_Receipt_Date != null) ? dynamicsPartStatus.Last_Receipt_Date.ToShortDateString() : "N/A"; model.ReceiptQuantity = (dynamicsPartQty != null) ? Math.Round(dynamicsPartQty.LRCPTQTY, 2) : 0.00m; model.SalesDate = (dynamicsPartStatus != null && dynamicsPartStatus.Last_Sale_Date != null) ? dynamicsPartStatus.Last_Sale_Date : DateTime.MinValue; model.SalesDateStr = (dynamicsPartStatus != null && dynamicsPartStatus.Last_Sale_Date != null) ? dynamicsPartStatus.Last_Sale_Date.ToShortDateString() : "N/A"; model.YearToDateSales = (dynamicsPartSales != null) ? Math.Round(dynamicsPartSales.YTD_SALES, 2) : 0.00m; if (_partRepository != null) { _partRepository.Dispose(); _partRepository = null; } if (_dynamicsPartRepository != null) { _dynamicsPartRepository.Dispose(); _dynamicsPartRepository = null; } return(model); }