Пример #1
0
        public ICollection <API.Resource.Vendor> getVendors(int productID)
        {
            DB.Models.Product product = _context.Product.Include(p => p.VendorProduct).ThenInclude(vp => vp.Vendor).Where(p => p.ID == productID).SingleOrDefault();
            if (product == null)
            {
                return(null);
            }
            ;
            ICollection <DB.Models.Vendor> vendors = product.VendorProduct.Select(vp => vp.Vendor).ToList();

            return(mapper.Map <ICollection <API.Resource.Vendor> >(vendors));
        }
Пример #2
0
 public int setType(int productID, Resource.ProductType type)
 {
     DB.Models.ProductType dbProductType = mapper.Map <DB.Models.ProductType>(type);
     DB.Models.Product     product       = _context.Product.Where(p => p.ID == productID).SingleOrDefault();
     if (product == null)
     {
         return(0);
     }
     _context.Attach(dbProductType);
     product.ProductType = dbProductType;
     _context.Update(product);
     return(_context.SaveChanges());
 }
Пример #3
0
 public void insertProduct(API.Resource.Product product, API.Resource.ProductType type, API.Resource.Brand brand)
 {
     DB.Models.Product insertProduct = mapper.Map <DB.Models.Product>(product);
     _context.Product.Add(insertProduct);
     if (type != null && type.ID == 0)
     {
         _context.ProductType.Add(mapper.Map <DB.Models.ProductType>(type));
     }
     if (brand != null && brand.brandID == 0)
     {
         _context.Brand.Add(mapper.Map <DB.Models.Brand>(brand));
     }
 }
Пример #4
0
        public void Handle(CreateProductCommand command)
        {
            var productId       = Guid.NewGuid();
            var productToCreate = new DB.Models.Product
            {
                Id        = productId,
                BrandName = command.BrandName,
                Name      = command.Name,
                Count     = command.Count,
                Price     = command.Price
            };

            productRepository.Create(productToCreate);
        }
Пример #5
0
        public void Create(ProductCreateDTO productCreateDTO)
        {
            var productId       = Guid.NewGuid();
            var productToCreate = new DB.Models.Product
            {
                Id        = productId,
                BrandName = productCreateDTO.BrandName,
                Name      = productCreateDTO.Name,
                Count     = productCreateDTO.Count,
                Price     = productCreateDTO.Price
            };

            productRepository.Create(productToCreate);
        }
Пример #6
0
        public void Handle(object command)
        {
            CreateProductCommand commandToExecute = (CreateProductCommand)command;
            var productId       = Guid.NewGuid();
            var productToCreate = new DB.Models.Product
            {
                Id        = productId,
                BrandName = commandToExecute.BrandName,
                Name      = commandToExecute.Name,
                Count     = commandToExecute.Count,
                Price     = commandToExecute.Price
            };

            productRepository.Create(productToCreate);
        }
Пример #7
0
        public API.Resource.Product createProduct(API.Resource.Product newProduct)
        {
            DB.Models.Product dbProduct = mapper.Map <DB.Models.Product>(newProduct);
            dbProduct.Created      = DateTime.Now;
            dbProduct.LastModified = DateTime.Now;

            _context.Product.Add(dbProduct);
            _context.SaveChanges();

            DB.Models.Product savedProduct = _context.Product.Where(p => p.SKU == newProduct.SKU).SingleOrDefault();
            if (savedProduct == null)
            {
                return(null);
            }
            return(mapper.Map <API.Resource.Product>(savedProduct));
        }
Пример #8
0
        public ICollection <Resource.Product> getRelatedProducts(int id, int results, int page)
        {
            DB.Models.Product product = _context.Product.Include(p => p.RelatedProduct).ThenInclude(p => p.Product).Where(p => p.ID == id).SingleOrDefault();
            if (product == null)
            {
                return(null);
            }
            ;
            IEnumerable <DB.Models.Product> relatedProducts = product.RelatedProduct.Select(p => p.Product);

            if (relatedProducts.Count() == 0)
            {
                return(null);
            }
            ICollection <DB.Models.Product> Products = relatedProducts.ToList();

            return(mapper.Map <ICollection <API.Resource.Product> >(Products));
        }
Пример #9
0
        public ICollection <API.Resource.ProductAttribute> getAttributes(int productID)
        {
            List <API.Resource.ProductAttribute> attributes = new List <Resource.ProductAttribute>();

            DB.Models.Product product = _context.Product.Include(p => p.ProductAttributeOption)
                                        .ThenInclude(p => p.AttributeOption).ThenInclude(ap => ap.Attribute).ThenInclude(at => at.AttributeType)
                                        .Include(p => p.ProductAttributeValue).ThenInclude(p => p.Attribute).ThenInclude(at => at.AttributeType).Where(p => p.ID == productID).SingleOrDefault();
            if (product == null)
            {
                return(attributes);
            }
            ;
            foreach (DB.Models.ProductAttributeValue pod in product.ProductAttributeValue)
            {
                attributes.Add(mapper.Map <API.Resource.ProductAttribute>(pod));
            }
            foreach (DB.Models.ProductAttributeOption pod in product.ProductAttributeOption)
            {
                attributes.Add(mapper.Map <API.Resource.ProductAttribute>(pod));
            }
            return(attributes);
        }
Пример #10
0
        public API.Resource.Product getProductByID(int productID)
        {
            IQueryable <DB.Models.Product> productQuery = _context.Product
                                                          .Include(p => p.Brand)
                                                          .Include(p => p.ChannelProduct)
                                                          .ThenInclude(cp => cp.Channel)
                                                          .Include(p => p.ProductType)
                                                          .Include(p => p.RelatedProduct)
                                                          .Include(p => p.RelatedProductNavigation)
                                                          .Include(p => p.VendorProduct)
                                                          .ThenInclude(vp => vp.Vendor)
                                                          .Include(p => p.ProductAttributeOption)
                                                          .ThenInclude(pao => pao.AttributeOption)
                                                          .ThenInclude(pao => pao.Attribute)
                                                          .ThenInclude(pao => pao.AttributeType)
                                                          .Include(p => p.ProductAttributeValue)
                                                          .ThenInclude(pao => pao.Attribute)
                                                          .ThenInclude(pao => pao.AttributeType)
                                                          .Include(p => p.ParentProduct)
                                                          .Where <DB.Models.Product>(dbProduct => dbProduct.ID == productID);

            DB.Models.Product product = productQuery.FirstOrDefault();
            return(product != null?mapper.Map <DB.Models.Product, API.Resource.Product>(product) : null);
        }
Пример #11
0
 public void deleteProduct(int productID)
 {
     DB.Models.Product tbd = _context.Product.Where <DB.Models.Product>(product => product.ID == productID).Single();
     _context.Product.Remove(tbd);
 }