public async Task <Either <BaseError, Unit> > Handle( UpdatePlayoutDaysToBuild request, CancellationToken cancellationToken) { await using TvContext dbContext = _dbContextFactory.CreateDbContext(); Validation <BaseError, Unit> validation = await Validate(request); return(await validation.Apply <Unit, Unit>(_ => ApplyUpdate(dbContext, request.DaysToBuild))); }
private static Task <Validation <BaseError, Unit> > Validate(UpdatePlayoutDaysToBuild request) => Optional(request.DaysToBuild) .Where(days => days > 0) .Map(_ => Unit.Default) .ToValidation <BaseError>("Days to build must be greater than zero") .AsTask();