public DocumentPosition Map(EditDocumentPositionRequest request) { if (request == null) { return(null); } DocumentPosition documentPosition = new DocumentPosition { Id = request.Id, PositionNumberText = request.PositionNumberText, ArticleNameExtern = request.ArticleNameExtern, Quantity = request.Quantity, ScaleUnitQty = request.ScaleUnitQty, ScaleUnitType = request.ScaleUnitType, ScaleUnit = request.ScaleUnit, DeliveryQty = request.DeliveryQty, IsPartialDelivered = request.IsPartialDelivered, PriceBase = request.PriceBase, PricePerUnit = request.PricePerUnit, PriceTotal = request.PricePerUnit, SalesTaxPercent = request.SalesTaxPercent, ParentId = request.ParentId, DocumentId = request.DocumentId, ArticleId = request.ArticleId, }; return(documentPosition); }
public async Task <DocumentPositionResponse> EditDocumentPositionAsync(EditDocumentPositionRequest request) { DocumentPosition existingRecord = await _documentPositionRespository.GetAsync(request.Id); if (existingRecord == null) { throw new ArgumentException($"Entity with {request.Id} is not present"); } if (request.ArticleId != null) { Article existingArticle = await _articleRespository.GetAsync(request.ArticleId); if (existingArticle == null) { throw new NotFoundException($"Article with {request.ArticleId} is not present"); } } if (request.ParentId != null) { DocumentPosition existingDocumentPosition = await _documentPositionRespository.GetAsync(request.ParentId); if (existingDocumentPosition == null) { throw new NotFoundException($"Parent DocumentPosition with {request.ParentId} is not present"); } } if (request.DocumentId != null) { Document existingDocument = await _documentRespository.GetAsync(request.DocumentId); if (existingDocument == null) { throw new NotFoundException($"Document with {request.DocumentId} is not present"); } } DocumentPosition entity = _documentPositionMapper.Map(request); DocumentPosition result = _documentPositionRespository.Update(entity); int modifiedRecords = await _documentPositionRespository.UnitOfWork.SaveChangesAsync(); _logger.LogInformation(Logging.Events.Edit, Messages.NumberOfRecordAffected_modifiedRecords, modifiedRecords); _logger.LogInformation(Logging.Events.Edit, Messages.ChangesApplied_id, result?.Id); return(_documentPositionMapper.Map(result)); }