public async Task <Either <BaseError, Unit> > Handle( AddSongToCollection request, CancellationToken cancellationToken) { await using TvContext dbContext = await _dbContextFactory.CreateDbContextAsync(cancellationToken); Validation <BaseError, Parameters> validation = await Validate(dbContext, request); return(await LanguageExtensions.Apply(validation, parameters => ApplyAddSongRequest(dbContext, parameters))); }
private static async Task <Validation <BaseError, Parameters> > Validate( TvContext dbContext, AddSongToCollection request) => (await CollectionMustExist(dbContext, request), await ValidateSong(dbContext, request))