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 }); } }
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 }); } }