public override async Task <Unit> Handle(DeleteCommand <TModelEntity, TApiEntityKey> request, CancellationToken cancellationToken) { await CrudApiManager.ExecuteAsync((ct, api) => api.Delete(request.Key, ct), cancellationToken) .ConfigureAwait(false); return(Unit.Value); }
public override async Task <TModelEntity> Handle(ReadQuery <TModelEntity, TApiEntityKey> request, CancellationToken cancellationToken) { var result = await CrudApiManager .ExecuteAsync((ct, api) => api.Read(request.Key, request.Priority, ct), cancellationToken) .ConfigureAwait(false); return(Map <TApiEntity, TModelEntity>(result)); }
public override async Task <TModelEntity> Handle(CreateCommand <TModelEntity> request, CancellationToken cancellationToken) { var result = await CrudApiManager .ExecuteAsync((ct, api) => api.Create(Map <TModelEntity, TApiEntity>(request.Payload), ct), cancellationToken) .ConfigureAwait(false); return(Map <TApiEntity, TModelEntity>(result)); }
public override async Task <TModelEntityReadAllResult> Handle(ReadAllQuery <TReadAllParams, TModelEntityReadAllResult> request, CancellationToken cancellationToken) { var result = await CrudApiManager .ExecuteAsync((ct, api) => api.ReadAll(request.Parameters, request.Priority, ct), cancellationToken) .ConfigureAwait(false); return(Map <TApiEntityReadAllResult, TModelEntityReadAllResult>(result)); }
public override async Task <Option <TModelEntity, ApizrException <TModelEntity> > > Handle(ReadOptionalQuery <TModelEntity, TApiEntityKey> request, CancellationToken cancellationToken) { try { return(await request.SomeNotNull(new ApizrException <TModelEntity>( new NullReferenceException($"Request {request.GetType().GetFriendlyName()} can not be null"))) .MapAsync(_ => CrudApiManager.ExecuteAsync((ct, api) => api.Read(request.Key, request.Priority, ct), cancellationToken)) .MapAsync(result => Task.FromResult(Map <TApiEntity, TModelEntity>(result))) .ConfigureAwait(false)); } catch (ApizrException <TApiEntity> e) { return(Option.None <TModelEntity, ApizrException <TModelEntity> >( new ApizrException <TModelEntity>(e.InnerException, Map <TApiEntity, TModelEntity>(e.CachedResult)))); } }
public override async Task <Option <TModelEntity, ApizrException> > Handle(CreateOptionalCommand <TModelEntity> request, CancellationToken cancellationToken) { try { return(await request .SomeNotNull(new ApizrException( new NullReferenceException($"Request {request.GetType().GetFriendlyName()} can not be null"))) .MapAsync(_ => CrudApiManager .ExecuteAsync((ct, api) => api.Create(Map <TModelEntity, TApiEntity>(request.Payload), ct), cancellationToken)) .MapAsync(apiResult => Task.FromResult(Map <TApiEntity, TModelEntity>(apiResult))) .ConfigureAwait(false)); } catch (ApizrException e) { return(Option.None <TModelEntity, ApizrException>(e)); } }
public override async Task <Option <Unit, ApizrException> > Handle(DeleteOptionalCommand <TModelEntity, TApiEntityKey> request, CancellationToken cancellationToken) { try { return(await request .SomeNotNull(new ApizrException( new NullReferenceException($"Request {request.GetType().GetFriendlyName()} can not be null"))) .MapAsync(async _ => { await CrudApiManager .ExecuteAsync((ct, api) => api.Delete(request.Key, ct), cancellationToken); return Unit.Value; }) .ConfigureAwait(false)); } catch (ApizrException e) { return(Option.None <Unit, ApizrException>(e)); } }