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;
        }