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)); }
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); }
public IList <Product> GetAll() { var productAsMongo = ProductCollection.Find(x => true).ToList(); return(mapper.Map <IList <ProductMongo>, IList <Product> >(productAsMongo)); }