/// <summary> /// convert price sheet part to view model for quote price sheet /// </summary> /// <param name="part"></param> /// <returns></returns> public PriceSheetPartViewModel ConvertToProjectPartView(PriceSheetPart part) { PriceSheetPartViewModel model = new PriceSheetPartViewModel(); var _projectPartRepository = new ProjectPartRepository(); var _priceSheetRepository = new PriceSheetRepository(); var priceSheet = _priceSheetRepository.GetPriceSheet(part.PriceSheetId); var projectPart = _projectPartRepository.GetProjectPart(part.ProjectPartId); model.ProjectPartId = part.ProjectPartId ?? Guid.Empty; model.PriceSheetPartId = part.PriceSheetPartId; model.PriceSheetId = part.PriceSheetId; model.PriceSheetNumber = (priceSheet != null) ? priceSheet.Number : "N/A"; model.PartNumber = (projectPart != null) ? projectPart.Number : "N/A"; model.PartDescription = (projectPart != null) ? projectPart.Description : "N/A"; model.AvailableQuantity = part.AvailableQuantity; model.CustomerOrderQuantity = part.AvailableQuantity; model.UnitPrice = part.Price; model.UnitCost = part.Cost; if (_projectPartRepository != null) { _projectPartRepository.Dispose(); _projectPartRepository = null; } if (_priceSheetRepository != null) { _priceSheetRepository.Dispose(); _priceSheetRepository = null; } return(model); }
/// <summary> /// convert customer order part to project part view model /// </summary> /// <param name="customerOrderPart"></param> /// <returns></returns> public CustomerOrderPartViewModel ConvertToProjectPartView(CustomerOrderPart customerOrderPart) { CustomerOrderPartViewModel model = new CustomerOrderPartViewModel(); var _priceSheetRepository = new PriceSheetRepository(); var _projectPartRepository = new ProjectPartRepository(); var _customerOrderRepository = new CustomerOrderRepository(); var _foundryOrderRepository = new FoundryOrderRepository(); var priceSheetPart = _priceSheetRepository.GetPriceSheetPart(customerOrderPart.PriceSheetPartId); var projectPart = _projectPartRepository.GetProjectPart((customerOrderPart.ProjectPartId != null) ? customerOrderPart.ProjectPartId : Guid.Empty); var priceSheet = _priceSheetRepository.GetPriceSheet((priceSheetPart != null) ? priceSheetPart.PriceSheetId : Guid.Empty); var customerOrder = _customerOrderRepository.GetCustomerOrder(customerOrderPart.CustomerOrderId); var receivedQuantity = _foundryOrderRepository.GetFoundryOrderParts().Where(x => x.CustomerOrderPartId == customerOrderPart.CustomerOrderPartId && x.HasBeenReceived).Select(y => y.ReceiptQuantity).Sum(); model.CustomerOrderPartId = customerOrderPart.CustomerOrderPartId; model.CustomerOrderId = customerOrderPart.CustomerOrderId; model.PONumber = (!string.IsNullOrEmpty(customerOrder.PONumber)) ? customerOrder.PONumber : "N/A"; model.ProjectPartId = customerOrderPart.ProjectPartId; model.PriceSheetPartId = customerOrderPart.PriceSheetPartId; model.PriceSheetId = (priceSheet != null) ? priceSheet.PriceSheetId : Guid.Empty; model.AvailableQuantity = customerOrderPart.AvailableQuantity; model.CustomerOrderQuantity = customerOrderPart.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.PriceSheetNumber = (priceSheet != null && !string.IsNullOrEmpty(priceSheet.Number)) ? priceSheet.Number : "N/A"; model.EstArrivalDate = (customerOrderPart.EstArrivalDate != null) ? customerOrderPart.EstArrivalDate : DateTime.MinValue; model.EstArrivalDateStr = (customerOrderPart.EstArrivalDate != null) ? customerOrderPart.EstArrivalDate.Value.ToShortDateString() : "N/A"; model.ReceiptQuantity = receivedQuantity; model.Cost = customerOrderPart.Cost; model.Price = customerOrderPart.Price; if (_priceSheetRepository != null) { _priceSheetRepository.Dispose(); _priceSheetRepository = null; } if (_projectPartRepository != null) { _projectPartRepository.Dispose(); _projectPartRepository = null; } if (_customerOrderRepository != null) { _customerOrderRepository.Dispose(); _customerOrderRepository = null; } return(model); }
/// <summary> /// convert price sheet part to view model for production price sheet /// </summary> /// <param name="part"></param> /// <returns></returns> public PriceSheetPartViewModel ConvertToPartView(PriceSheetPart part) { PriceSheetPartViewModel model = new PriceSheetPartViewModel(); var _partRepository = new PartRepository(); var _dynamicsPartRepository = new PartDynamicsRepository(); var _priceSheetRepository = new PriceSheetRepository(); var _projectPartRepository = new ProjectPartRepository(); var priceSheet = _priceSheetRepository.GetPriceSheet(part.PriceSheetId); var projectPart = _projectPartRepository.GetProjectPart(part.ProjectPartId); var tempPart = _partRepository.GetPart((projectPart != null) ? projectPart.PartId : null); var dynamicsPart = _dynamicsPartRepository.GetPartMaster((tempPart != null) ? tempPart.Number : null); model.ProjectPartId = part.ProjectPartId ?? Guid.Empty; model.PartId = (tempPart != null) ? tempPart.PartId : Guid.Empty; model.PriceSheetPartId = part.PriceSheetPartId; model.PriceSheetId = part.PriceSheetId; model.PriceSheetNumber = (priceSheet != null) ? priceSheet.Number : "N/A"; model.PartNumber = (tempPart != null) ? tempPart.Number : "N/A"; model.PartDescription = (dynamicsPart != null && !string.IsNullOrEmpty(dynamicsPart.ITEMDESC)) ? dynamicsPart.ITEMDESC : "N/A"; model.AvailableQuantity = part.AvailableQuantity; model.CustomerOrderQuantity = part.AvailableQuantity; model.UnitPrice = part.Price; model.UnitCost = part.Cost; if (_partRepository != null) { _partRepository.Dispose(); _partRepository = null; } if (_dynamicsPartRepository != null) { _dynamicsPartRepository.Dispose(); _dynamicsPartRepository = null; } if (_priceSheetRepository != null) { _priceSheetRepository.Dispose(); _priceSheetRepository = null; } return(model); }