private void ProductDropDownOpened() { using (var c = NestedContainer) { var selectedId = Using<IItemsLookUp>(c).ShowDlg(typeof(Product)); if (selectedId != Guid.Empty) { var product = Using<IProductRepository>(c).GetById(selectedId); if (product != null) { SelectedProduct = new ProductLookupItem() { Id = product.Id, Code = product.ProductCode, Description = product.Description }; } } } }
private void LoadProducts(bool loadForEditing = false, Guid? productId = null) { using (StructureMap.IContainer c = NestedContainer) { Products.Clear(); AvailableInventory.Clear(); LoadedProducts.Clear(); var product = new ProductLookupItem { Id = Guid.Empty, Description = "--Please Select a Product--" }; Products.Add(product); SelectedProduct = product; if (loadForEditing) { var editproduct = Using<IProductRepository>(c).GetById(productId.Value); AvailableInventory.Add( Using<IInventoryRepository>(c) .GetByWareHouseId(Using<IConfigService>(c) .Load().CostCentreId) .FirstOrDefault(n => n.Product.Id == productId.Value)); LoadedProducts.Add(editproduct); Products.Add(new ProductLookupItem { Id = editproduct.Id, Description = editproduct.Description, Code = editproduct.ProductCode }); } else { AvailableInventory = Using<IInventoryRepository>(c) .GetByWareHouseId(Using<IConfigService>(c) .Load().CostCentreId) .Where(n => n.Balance > 0) .OrderBy(n => n.Product.Description) .ToList(); AvailableInventory.ForEach(n => LoadedProducts.Add(n.Product)); LoadedProducts.ToList().ForEach(n => Products.Add(new ProductLookupItem { Id = n.Id, Description = n.Description, })); } } }