/// <summary> /// update foundry order part /// </summary> /// <param name="foundryOrderPart"></param> /// <returns></returns> public OperationResult UpdateFoundryOrderPart(FoundryOrderPart foundryOrderPart) { var operationResult = new OperationResult(); var existingPart = GetFoundryOrderPart(foundryOrderPart.FoundryOrderPartId); if (existingPart != null) { try { _db.FoundryOrderPart.Attach(existingPart); _db.Entry(existingPart).CurrentValues.SetValues(foundryOrderPart); _db.SaveChanges(); operationResult.Success = true; operationResult.Message = "Success"; } catch (Exception ex) { operationResult.Success = false; operationResult.Message = "Error"; logger.ErrorFormat("Error while updating foundry order part: { 0} ", ex.ToString()); } } else { operationResult.Success = false; operationResult.Message = "Unable to find selected foundry order part."; } return(operationResult); }
/// <summary> /// convert foundry order part view model to domain /// </summary> /// <param name="model"></param> /// <returns></returns> public FoundryOrderPart ConvertToDomain(FoundryOrderPartViewModel model) { FoundryOrderPart part = new FoundryOrderPart(); var _customerOrderRepository = new CustomerOrderRepository(); var customerOrderPart = _customerOrderRepository.GetCustomerOrderPart(model.CustomerOrderPartId); part.FoundryOrderPartId = model.FoundryOrderPartId; part.ProjectPartId = (customerOrderPart != null) ? customerOrderPart.ProjectPartId : null; part.PartId = (customerOrderPart != null) ? customerOrderPart.PartId : null; part.CustomerOrderPartId = model.CustomerOrderPartId; part.AvailableQuantity = model.AvailableQuantity; part.Quantity = model.Quantity; part.EstArrivalDate = model.EstArrivalDate; part.ShipDate = model.ShipDate; part.ShipCode = model.ShipCode; part.ShipCodeNotes = model.ShipCodeNotes; part.Price = model.Price; part.Cost = model.Cost; part.IsScheduled = model.IsScheduled; part.HasBeenReceived = model.HasBeenReceived; part.ReceiptDate = model.ReceiptDate; part.ReceiptQuantity = model.ReceiptQuantity; if (_customerOrderRepository != null) { _customerOrderRepository.Dispose(); _customerOrderRepository = null; } return(part); }
/// <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> /// get foundry order part by part /// </summary> /// <param name="partId"></param> /// <returns></returns> public FoundryOrderPart GetFoundryOrderPartByPart(Guid partId) { var part = new FoundryOrderPart(); try { part = _db.FoundryOrderPart.FirstOrDefault(x => x.PartId == partId); } catch (Exception e) { logger.Error("An error occurred while getting foundry order part by project part. Error: " + e); } return(part); }