コード例 #1
0
        public ResultMessage Insert(ProductsDto newProductDto, IUserDto user)
        {
            var validationResult = _validator.Validate(newProductDto);

            if (!validationResult.IsValid)
            {
                return new ResultMessage
                       {
                           Status             = HttpStatusCode.BadRequest,
                           ValidationMessages = validationResult.GetErrorsList()
                       }
            }
            ;

            try
            {
                var productFolderName = Guid.NewGuid().ToString();

                var newProduct = newProductDto.Adapt <DBModels.Products>();
                newProduct.IsActive      = null;
                newProduct.CreatedAt     = DateTime.Now;
                newProduct.CreatedBy     = user.Id;
                newProduct.SubFolderName = productFolderName;

                var sliderDto = new SliderDto
                {
                    attachmentType = AttachmentTypesEnum.Products,
                    Items          = newProductDto.UpdatedImages,
                    SubFolderName  = productFolderName
                };

                if (sliderDto.Items != null && sliderDto.Items.Count > 0)
                {
                    newProduct.ProfilePicture = _sliderManager.GetProfilePicturePath(sliderDto);
                }

                if (user.IsAdmin)
                {
                    newProduct.IsActive = true;
                }

                _unitOfWork.ProductsRepository.Insert(newProduct);
                _unitOfWork.Commit();

                sliderDto.ParentId = newProduct.Id;
                _sliderManager.Add(sliderDto);

                return(new ResultMessage
                {
                    Status = HttpStatusCode.OK,
                    Data = GetById(newProduct.Id).Data
                });
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, string.Empty);
                return(new ResultMessage()
                {
                    ErrorCode = (int)ProductsErrorsCodeEnum.ProductsInsertError,
                    Status = HttpStatusCode.InternalServerError
                });
            }
        }
コード例 #2
0
        public ResultMessage Insert(ArticleAddDto article, IUserDto user)
        {
            _logger.LogInformation($"START: Article.Insert: Name:{article.Name}");

            var validationResult = _addValidator.Validate(article);

            if (!validationResult.IsValid)
            {
                _logger.LogInformation($"END: Article.Insert: Name:{article.Name}  --VALIDATION");
                return(new ResultMessage
                {
                    Status = HttpStatusCode.BadRequest,
                    ValidationMessages = validationResult.GetErrorsList()
                });
            }
            try
            {
                var articleEntity = article.Adapt <DBModels.Articles>();
                articleEntity.CreatedAt = DateTime.Now;
                articleEntity.CreatedBy = user.Id;

                var articleFolderName = Guid.NewGuid().ToString();

                var sliderDto = new SliderDto
                {
                    attachmentType = AttachmentTypesEnum.Articles,
                    Items          = article.UpdatedImages,
                    SubFolderName  = articleFolderName
                };

                if (sliderDto.Items.Count > 0)
                {
                    articleEntity.ProfilePicture = _sliderManager.GetProfilePicturePath(sliderDto);
                }

                articleEntity.SubFolderName = articleFolderName;
                articleEntity.Images        = null;
                articleEntity.IsActive      = null;

                if (user.IsAdmin)
                {
                    articleEntity.IsActive = true;
                }

                _unitOfWork.ArticlesRepository.Insert(articleEntity);
                _unitOfWork.Commit();

                sliderDto.ParentId = articleEntity.Id;
                _sliderManager.Add(sliderDto);

                _logger.LogInformation($"END: Article.Insert: Name:{article.Name}  --SUCCESS");

                return(new ResultMessage
                {
                    Status = HttpStatusCode.OK
                });
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, string.Empty);
                return(new ResultMessage()
                {
                    ErrorCode = (int)ProductsErrorsCodeEnum.ProductsInsertError,
                    Status = HttpStatusCode.InternalServerError
                });
            }
        }