public IEnumerable<InventoryItemDto> GetInventoryItems(SupplierDto supplier) { if (supplier == null) { throw new ArgumentNullException("supplier"); } if (EntityCache.InventoryItems.IsInitialized) { return EntityCache.InventoryItems.Entities.Where(e => e.PreferedSupplier != null && e.PreferedSupplier.Id == supplier.Id); } var items = from i in _entities.tblInventoryItem where i.tblInventorySupplier_1 != null && i.tblInventorySupplier_1.SupplierId == supplier.Id select i; if (items.Count() <= 0) { return null; } var result = new List<InventoryItemDto>(); foreach (var item in items) { var daoItem = item.TranslateToDao(); SetInventoryItemReferencedEntities(item, ref daoItem); result.Add(daoItem); } if (result.Count > 0) { _logger.InfoFormat("InventoryService.GetInventoryItems(ISupplier): {0} items added to cache.", result.Count); EntityCache.InventoryItems.AddRange(result); } return result; }
public bool Save(SupplierDto supplier) { if (supplier == null) { throw new ArgumentNullException("supplier"); } var entityItem = _entities.tblInventorySupplier.Where(i => i.SupplierId == supplier.Id).SingleOrDefault(); if (entityItem == null) { entityItem = new InventorySupplier{SupplierId = supplier.Id}; _entities.tblInventorySupplier.AddObject(entityItem); } entityItem.SupplierName = supplier.Name; entityItem.Website = supplier.Website; _entities.SaveChanges(); EntityCache.Suppliers.Add(supplier); return true; }