// Impure Methods public void AddErp(IErp erp) { if (Erp != null) { return; } Erp = erp; }
private List <MappableItemViewModel> LoadMappables() { var allItems = m_virtualProductRepository.GetMappableItems().ToList(); var result = new List <MappableItemViewModel>(allItems.Count); foreach (var item in allItems) { IErp erp = null; if (item.ErpId != null) { erp = m_erpRepository.GetErp(item.ErpId.Value); } var model = MappableItemViewModel.Create(item, erp); result.Add(model); foreach (var virtualProduct in m_virtualProductRepository.GetVirtualProducts(item.ErpId, item.ErpProductId, item.ItemName)) { if (model.AssignedVirtualProducts.All(existing => existing.VirtualProductId != virtualProduct.Id)) { var vpvm = new VirtualProductViewModel(virtualProduct); var virtualProductComponents = m_materialRepository.GetMaterialsByVirtualProductId(vpvm.VirtualProductId).ToList(); var materialsSb = new StringBuilder(); foreach (var materialComponent in virtualProductComponents) { materialComponent.Material.Print(materialsSb, " "); } vpvm.MaterialsText = materialsSb.ToString(); model.AssignedVirtualProducts.Add(vpvm); } } } return(result); }
public EnterpriseScheduler(IErp erp) { _erp = erp; }
public static MappableItemViewModel Create(IVirtualProductMappableItem source, IErp erp) { return(new MappableItemViewModel() { ErpId = erp?.Id, ErpName = erp?.Description, ErpProductId = source.ErpProductId, OrderItemText = source.ItemName }); }