コード例 #1
0
        public async Task <ArticlePriceListInResponse> EditArticlePriceListInAsync(EditArticlePriceListInRequest request)
        {
            ArticlePriceListIn existingRecord = await _articlePriceListInRespository.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");
                }
            }

            ArticlePriceListIn entity = _articlePriceListInMapper.Map(request);
            ArticlePriceListIn result = _articlePriceListInRespository.Update(entity);

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

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

            return(_articlePriceListInMapper.Map(result));
        }
コード例 #2
0
        public ArticlePriceListInResponse Map(ArticlePriceListIn articlePriceListIn)
        {
            if (articlePriceListIn == null)
            {
                return(null);
            }
            ;

            ArticlePriceListInResponse response = new ArticlePriceListInResponse
            {
                Id                 = articlePriceListIn.Id,
                ValidFrom          = articlePriceListIn.ValidFrom,
                Validto            = articlePriceListIn.Validto,
                ScaleUnitQty       = articlePriceListIn.ScaleUnitQty,
                ScaleUnitType      = articlePriceListIn.ScaleUnitType,
                UnitOrder          = articlePriceListIn.UnitOrder,
                MinOrderQty        = articlePriceListIn.MinOrderQty,
                IsMultipleOrderQty = articlePriceListIn.IsMultipleOrderQty,
                ArticleId          = articlePriceListIn.ArticleId,
                Article            = _articleMapper.Map(articlePriceListIn.Article),
                ArticleRanges      = articlePriceListIn.ArticleRanges.Select(x => _articleRangeMapper.Map(x)).ToList()
            };

            return(response);
        }
コード例 #3
0
        public async Task <ArticlePriceListInResponse> AddArticlePriceListInAsync(AddArticlePriceListInRequest request)
        {
            ArticlePriceListIn articlePriceListIn = _articlePriceListInMapper.Map(request);
            ArticlePriceListIn result             = _articlePriceListInRespository.Add(articlePriceListIn);

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

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

            return(_articlePriceListInMapper.Map(result));
        }
コード例 #4
0
        public async Task <ArticlePriceListInResponse> GetArticlePriceListInAsync(Guid id)
        {
            if (id == null)
            {
                throw new ArgumentNullException();
            }

            ArticlePriceListIn entity = await _articlePriceListInRespository.GetAsync(id);

            _logger.LogInformation(Events.GetById, Messages.TargetEntityChanged_id, entity?.Id);

            return(_articlePriceListInMapper.Map(entity));
        }
コード例 #5
0
        public ArticlePriceListIn Map(AddArticlePriceListInRequest request)
        {
            if (request == null)
            {
                return(null);
            }

            ArticlePriceListIn articlePriceListIn = new ArticlePriceListIn
            {
                ValidFrom          = request.ValidFrom,
                Validto            = request.Validto,
                ScaleUnitQty       = request.ScaleUnitQty,
                ScaleUnitType      = request.ScaleUnitType,
                UnitOrder          = request.UnitOrder,
                MinOrderQty        = request.MinOrderQty,
                IsMultipleOrderQty = request.IsMultipleOrderQty,
                ArticleId          = request.ArticleId,
            };

            return(articlePriceListIn);
        }
コード例 #6
0
        public async Task <ArticlePriceListInResponse> DeleteArticlePriceListInAsync(DeleteArticlePriceListInRequest request)
        {
            if (request?.Id == null)
            {
                throw new ArgumentNullException();
            }

            ArticlePriceListIn result = await _articlePriceListInRespository.GetAsync(request.Id);

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

            result.IsInactive = true;

            _articlePriceListInRespository.Update(result);
            int modifiedRecords = await _articlePriceListInRespository.UnitOfWork.SaveChangesAsync();

            _logger.LogInformation(Logging.Events.Delete, Messages.NumberOfRecordAffected_modifiedRecords, modifiedRecords);

            return(_articlePriceListInMapper.Map(result));
        }
コード例 #7
0
 public ArticlePriceListIn Update(ArticlePriceListIn articlePriceListIn)
 {
     _context.Entry(articlePriceListIn).State = EntityState.Modified;
     return(articlePriceListIn);
 }
コード例 #8
0
        public async Task <ArticlePriceListIn> GetAsync(Guid id)
        {
            ArticlePriceListIn articlePriceListIn = await _context.ArticlePriceListsIn.AsNoTracking().Where(x => x.Id == id).Include(x => x.Article).FirstOrDefaultAsync();

            return(articlePriceListIn);
        }
コード例 #9
0
 public ArticlePriceListIn Add(ArticlePriceListIn articlePriceListIn)
 {
     return(_context.ArticlePriceListsIn.Add(articlePriceListIn).Entity);
 }