Example #1
0
        public Article Map(EditArticleRequest request)
        {
            if (request == null)
            {
                return(null);
            }

            Article article = new Article
            {
                Id                 = request.Id,
                Name               = request.Name,
                MaterialType       = request.MaterialType,
                IsArchived         = request.IsArchived,
                IsDiscontinued     = request.IsDiscontinued,
                IsBatch            = request.IsBatch,
                IsMultistock       = request.IsMultistock,
                IsProvisionEnabled = request.IsProvisionEnabled,
                IsDiscountEnabled  = request.IsDiscountEnabled,
                IsDisposition      = request.IsDisposition,
                IsCasting          = request.IsCasting,
                ScaleUnitQty       = request.ScaleUnitQty,
                ScaleUnitType      = request.ScaleUnitType,
                UnitStock          = request.UnitStock,
                UnitStockIn        = request.UnitStockIn,
                UnitStockOut       = request.UnitStockOut,
                DimArea            = request.DimArea,
                DimLength          = request.DimLength,
                Dim2               = request.Dim2,
                Dim3               = request.Dim3,
                Dim4               = request.Dim4,
                SpecificWeight     = request.SpecificWeight,
                ItemNumber         = request.ItemNumber,
                DrawingNumber      = request.DrawingNumber,
                DinNorm1           = request.DinNorm1,
                DinNorm2           = request.DinNorm2,
                ArticleGroupId     = request.ArticleGroupId,
                ArticleTypeId      = request.ArticleTypeId,
            };

            return(article);
        }
        public async Task <IActionResult> EditArticle([FromBody] EditArticleRequest request)
        {
            return(await MethodWrapper(async (param) =>
            {
                List <TorImage> images = new List <TorImage>();

                Article article = await Context.Articles
                                  .Include(o => o.Preview).FirstOrDefaultAsync(art => art.ID == param.Id);

                if (!string.IsNullOrEmpty(param.Content))
                {
                    article.Content = param.Content;
                }

                if (!string.IsNullOrEmpty(param.Preview))
                {
                    article.Preview.Preview = param.Preview;
                }

                if (!string.IsNullOrEmpty(param.Title))
                {
                    article.Preview.Title = param.Title;
                }

                Context.Articles.Update(article);

                await Context.SaveChangesAsync();

                GetArticleByIdResponse response = new GetArticleByIdResponse
                {
                    Preview = article.Preview.Preview,
                    Title = article.Preview.Title,
                    DateTime = article.Preview.DateTime,
                    Content = article.Content,
                    Id = article.ID
                };

                return Ok(response);
            }, request));
        }
Example #3
0
        public async Task <ArticleResponse> EditArticleAsync(EditArticleRequest request)
        {
            Article existingArticle = await _articleRespository.GetAsync(request.Id);

            if (existingArticle == null)
            {
                throw new ArgumentException($"Entity with {request.Id} is not present");
            }

            if (request.ArticleTypeId != null)
            {
                ArticleType existingType = await _articleTypeRespository.GetAsync(request.ArticleTypeId);

                if (existingType == null)
                {
                    throw new NotFoundException($"ArticleType with {request.ArticleTypeId} is not present");
                }
            }

            if (request.ArticleGroupId != null)
            {
                ArticleGroup existingArticleGroup = await _articleGroupRespository.GetAsync(request.ArticleGroupId);

                if (existingArticleGroup == null)
                {
                    throw new NotFoundException($"ArticleGroup with {request.ArticleGroupId} is not present");
                }
            }

            Article entity = _articleMapper.Map(request);
            Article result = _articleRespository.Update(entity);

            int modifiedRecords = await _articleRespository.UnitOfWork.SaveChangesAsync();

            _logger.LogInformation(Logging.Events.Edit, Messages.NumberOfRecordAffected_modifiedRecords, modifiedRecords);
            _logger.LogInformation(Logging.Events.Edit, Messages.ChangesApplied_id, result?.Id);

            return(_articleMapper.Map(result));
        }
Example #4
0
 public async Task <Article> EditAsync(long id, [FromBody] EditArticleRequest request)
 {
     return(await ForLoggedUser(user => _articleService.EditAsync(user.Id, id, request.Title, request.Text)));
 }
Example #5
0
 public async Task <IActionResult> Put(Guid id, EditArticleRequest request)
 {
     request.Id = id;
     return(Ok(await _mediator.Send(new EditArticleCommand(request))));
 }