コード例 #1
0
        public SavedProductResponse SaveProduct(SaveProductRequest productRequest)
        {
            var product = mapper.Map <SaveProductRequest, Product>(productRequest);

            IValidator productValidator = new ProductValidator(product);

            if (!productValidator.IsValid())
            {
                return new SavedProductResponse {
                           ErrorMessages = productValidator.Erros
                }
            }
            ;

            if (productRepository.GetByCode(product.Code) != null)
            {
                var savedProductResponse = mapper.Map <Product, SavedProductResponse>(product);

                savedProductResponse.ErrorMessages.Add("A product with this code already exists");
                return(savedProductResponse);
            }

            try
            {
                productRepository.Save(product);
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(mapper.Map <Product, SavedProductResponse>(product));
        }
コード例 #2
0
        public GetProductResponse GetProductsById(string id)
        {
            GetProductResponse productResponse;

            try
            {
                var product = productRepository.GetById(id);

                productResponse = mapper.Map <Product, GetProductResponse>(product);
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(productResponse);
        }
コード例 #3
0
        public IList <Product> GetAll()
        {
            var productAsMongo = ProductCollection.Find(x => true).ToList();

            return(mapper.Map <IList <ProductMongo>, IList <Product> >(productAsMongo));
        }