private static Tax setTaxToUpdate(UpdateTax request) { return(new Tax() { Municipality = request.Municipality, PeriodType = request.PeriodType, PeriodStart = request.PeriodStart, PeriodEnd = request.PeriodEnd, Result = request.Tax }); }
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); }