Exemplo n.º 1
0
        /// <summary>
        /// Deletes the product.
        /// </summary>
        /// <param name="productId">The product identifier.</param>
        /// <returns></returns>
        public async Task <bool> DeleteProduct(int productId)
        {
            var product = await _productRepository.GetProductById(productId);

            var productPhoto = await _productPhotoRepository.GetProductPhoto(productId);

            var productProductPhotos = await _productProductPhotoRepository.GetAllProductProductPhotos(productId);

            try
            {
                await _productTransactions.DeleteProduct(product, productPhoto, productProductPhotos);
            }
            catch (Exception)
            {
                return(false);
            }

            return(true);
        }
        /// <summary>
        /// Gets the full information about bicycle.
        /// </summary>
        /// <param name="productId">The bicycle identifier.</param>
        /// <returns></returns>
        /// <exception cref="System.NotImplementedException"></exception>
        public async Task <ProductDto> GetFullInformationAboutProduct(int productId)
        {
            var product = await _productRepository.GetFullInformationAboutProduct(productId);

            var productDto = _mapper.Map <Product, ProductDto>(product);

            // Loading product description by product model Id
            var productModelId = product.ProductModelId.GetValueOrDefault();

            var productDescriptionModel = await _productDescriptionRepository
                                          .GetProductDescriptionByCulture(productModelId, "English");

            productDto.Description = productDescriptionModel.Description;

            // Loading product photos by productId
            var productPhotoModels = await _productPhotoRepository.GetProductPhoto(productId);

            productDto.LargePhoto = productPhotoModels.First().LargePhoto;

            return(productDto);
        }