Exemple #1
0
 private static Tax setTaxToUpdate(UpdateTax request)
 {
     return(new Tax()
     {
         Municipality = request.Municipality,
         PeriodType = request.PeriodType,
         PeriodStart = request.PeriodStart,
         PeriodEnd = request.PeriodEnd,
         Result = request.Tax
     });
 }
Exemple #2
0
        public async Task <Either <Failure, Unit> > Handle(UpdateTax request, CancellationToken cancellationToken)
        {
            var taxToUpdate = await _dbContext.Taxes
                              .Where(s => s.Municipality == request.Municipality &&
                                     s.PeriodType == request.PeriodType &&
                                     s.PeriodStart == request.PeriodStart &&
                                     s.PeriodEnd == request.PeriodEnd)
                              .FirstOrDefaultAsync(cancellationToken);

            if (taxToUpdate == null)
            {
                taxToUpdate = setTaxToUpdate(request);
                _dbContext.Taxes.Add(taxToUpdate);
            }

            taxToUpdate.Result = request.Tax;

            await _dbContext.SaveChangesAsync(cancellationToken);

            return(Unit.Default);
        }