Table of Contents

Class ApizrOptionalMediator

Namespace
Apizr.Optional.Requesting.Sending
Assembly
Apizr.Integrations.Optional.dll

Apizr mediator to send request using MediatR by calling expression and returning optional result

public class ApizrOptionalMediator : ApizrMediatorBase, IApizrOptionalMediator, IApizrOptionalMediatorBase, IApizrMediatorBase
Inheritance
ApizrOptionalMediator
Implements
Inherited Members
Extension Methods

Constructors

ApizrOptionalMediator(IMediator)

public ApizrOptionalMediator(IMediator mediator)

Parameters

mediator IMediator

Methods

SendFor<TWebApi>(Expression<Func<IApizrRequestOptions, TWebApi, Task>>, Action<IApizrRequestOptionsBuilder>)

Send an api call to Apizr using MediatR and returning an optional result

public Task<Option<Unit, ApizrException>> SendFor<TWebApi>(Expression<Func<IApizrRequestOptions, TWebApi, Task>> executeApiMethod, Action<IApizrRequestOptionsBuilder> optionsBuilder = null)

Parameters

executeApiMethod Expression<Func<IApizrRequestOptions, TWebApi, Task>>

The TWebApi call to execute

optionsBuilder Action<IApizrRequestOptionsBuilder>

Options provided to the request

Returns

Task<Option<Unit, ApizrException>>

Type Parameters

TWebApi

The web api type

SendFor<TWebApi>(Expression<Func<TWebApi, Task>>, Action<IApizrRequestOptionsBuilder>)

Send an api call to Apizr using MediatR and returning an optional result

public Task<Option<Unit, ApizrException>> SendFor<TWebApi>(Expression<Func<TWebApi, Task>> executeApiMethod, Action<IApizrRequestOptionsBuilder> optionsBuilder = null)

Parameters

executeApiMethod Expression<Func<TWebApi, Task>>

The TWebApi call to execute

optionsBuilder Action<IApizrRequestOptionsBuilder>

Options provided to the request

Returns

Task<Option<Unit, ApizrException>>

Type Parameters

TWebApi

The web api type

SendFor<TWebApi, TApiData>(Expression<Func<IApizrRequestOptions, TWebApi, Task<TApiData>>>, Action<IApizrRequestOptionsBuilder>)

Send an api call to Apizr using MediatR and returning an optional result

public Task<Option<TApiData, ApizrException<TApiData>>> SendFor<TWebApi, TApiData>(Expression<Func<IApizrRequestOptions, TWebApi, Task<TApiData>>> executeApiMethod, Action<IApizrRequestOptionsBuilder> optionsBuilder = null)

Parameters

executeApiMethod Expression<Func<IApizrRequestOptions, TWebApi, Task<TApiData>>>

The TWebApi call to execute

optionsBuilder Action<IApizrRequestOptionsBuilder>

Options provided to the request

Returns

Task<Option<TApiData, ApizrException<TApiData>>>

Type Parameters

TWebApi

The web api type

TApiData

The api result type

SendFor<TWebApi, TApiData>(Expression<Func<TWebApi, Task<TApiData>>>, Action<IApizrRequestOptionsBuilder>)

Send an api call to Apizr using MediatR and returning an optional result

public Task<Option<TApiData, ApizrException<TApiData>>> SendFor<TWebApi, TApiData>(Expression<Func<TWebApi, Task<TApiData>>> executeApiMethod, Action<IApizrRequestOptionsBuilder> optionsBuilder = null)

Parameters

executeApiMethod Expression<Func<TWebApi, Task<TApiData>>>

The TWebApi call to execute

optionsBuilder Action<IApizrRequestOptionsBuilder>

Options provided to the request

Returns

Task<Option<TApiData, ApizrException<TApiData>>>

Type Parameters

TWebApi

The web api type

TApiData

The api result type

SendFor<TWebApi, TModelData, TApiData>(Expression<Func<IApizrRequestOptions, TWebApi, Task<TApiData>>>, Action<IApizrRequestOptionsBuilder>)

Send an api call to Apizr using MediatR returning an optional mapped result

public Task<Option<TModelData, ApizrException<TModelData>>> SendFor<TWebApi, TModelData, TApiData>(Expression<Func<IApizrRequestOptions, TWebApi, Task<TApiData>>> executeApiMethod, Action<IApizrRequestOptionsBuilder> optionsBuilder = null)

Parameters

executeApiMethod Expression<Func<IApizrRequestOptions, TWebApi, Task<TApiData>>>

The TWebApi call to execute

optionsBuilder Action<IApizrRequestOptionsBuilder>

Options provided to the request

Returns

Task<Option<TModelData, ApizrException<TModelData>>>

Type Parameters

TWebApi

The web api type

TModelData

The mapped model type to map to

TApiData

The api result type to map from

SendFor<TWebApi, TModelData, TApiData>(Expression<Func<IApizrRequestOptions, TWebApi, TApiData, Task<TApiData>>>, TModelData, Action<IApizrRequestOptionsBuilder>)

Send an api call to Apizr using MediatR with a mapped request and returning an optional mapped result

public Task<Option<TModelData, ApizrException<TModelData>>> SendFor<TWebApi, TModelData, TApiData>(Expression<Func<IApizrRequestOptions, TWebApi, TApiData, Task<TApiData>>> executeApiMethod, TModelData modelData, Action<IApizrRequestOptionsBuilder> optionsBuilder = null)

Parameters

executeApiMethod Expression<Func<IApizrRequestOptions, TWebApi, TApiData, Task<TApiData>>>

The TWebApi call to execute

modelData TModelData

The model data to map

optionsBuilder Action<IApizrRequestOptionsBuilder>

Options provided to the request

Returns

Task<Option<TModelData, ApizrException<TModelData>>>

Type Parameters

TWebApi

The web api type

TModelData

The mapped model type to map request from and result to

TApiData

The api result type to map request to and result from

SendFor<TWebApi, TModelData, TApiData>(Expression<Func<IApizrRequestOptions, TWebApi, TApiData, Task>>, TModelData, Action<IApizrRequestOptionsBuilder>)

Send an api call to Apizr using MediatR with mapped request and returning an optional result

public Task<Option<Unit, ApizrException>> SendFor<TWebApi, TModelData, TApiData>(Expression<Func<IApizrRequestOptions, TWebApi, TApiData, Task>> executeApiMethod, TModelData modelData, Action<IApizrRequestOptionsBuilder> optionsBuilder = null)

Parameters

executeApiMethod Expression<Func<IApizrRequestOptions, TWebApi, TApiData, Task>>

The TWebApi call to execute

modelData TModelData

The model data to map

optionsBuilder Action<IApizrRequestOptionsBuilder>

Options provided to the request

Returns

Task<Option<Unit, ApizrException>>

Type Parameters

TWebApi

The web api type

TModelData

The model request type to map from

TApiData

The api request type to map to

SendFor<TWebApi, TModelData, TApiData>(Expression<Func<TWebApi, Task<TApiData>>>, Action<IApizrRequestOptionsBuilder>)

Send an api call to Apizr using MediatR returning an optional mapped result

public Task<Option<TModelData, ApizrException<TModelData>>> SendFor<TWebApi, TModelData, TApiData>(Expression<Func<TWebApi, Task<TApiData>>> executeApiMethod, Action<IApizrRequestOptionsBuilder> optionsBuilder = null)

Parameters

executeApiMethod Expression<Func<TWebApi, Task<TApiData>>>

The TWebApi call to execute

optionsBuilder Action<IApizrRequestOptionsBuilder>

Options provided to the request

Returns

Task<Option<TModelData, ApizrException<TModelData>>>

Type Parameters

TWebApi

The web api type

TModelData

The mapped model type to map to

TApiData

The api result type to map from

SendFor<TWebApi, TModelData, TApiData>(Expression<Func<TWebApi, TApiData, Task<TApiData>>>, TModelData, Action<IApizrRequestOptionsBuilder>)

Send an api call to Apizr using MediatR with a mapped request and returning an optional mapped result

public Task<Option<TModelData, ApizrException<TModelData>>> SendFor<TWebApi, TModelData, TApiData>(Expression<Func<TWebApi, TApiData, Task<TApiData>>> executeApiMethod, TModelData modelData, Action<IApizrRequestOptionsBuilder> optionsBuilder = null)

Parameters

executeApiMethod Expression<Func<TWebApi, TApiData, Task<TApiData>>>

The TWebApi call to execute

modelData TModelData

The model data to map

optionsBuilder Action<IApizrRequestOptionsBuilder>

Options provided to the request

Returns

Task<Option<TModelData, ApizrException<TModelData>>>

Type Parameters

TWebApi

The web api type

TModelData

The mapped model type to map request from and result to

TApiData

The api result type to map request to and result from

SendFor<TWebApi, TModelData, TApiData>(Expression<Func<TWebApi, TApiData, Task>>, TModelData, Action<IApizrRequestOptionsBuilder>)

Send an api call to Apizr using MediatR with mapped request and returning an optional result

public Task<Option<Unit, ApizrException>> SendFor<TWebApi, TModelData, TApiData>(Expression<Func<TWebApi, TApiData, Task>> executeApiMethod, TModelData modelData, Action<IApizrRequestOptionsBuilder> optionsBuilder = null)

Parameters

executeApiMethod Expression<Func<TWebApi, TApiData, Task>>

The TWebApi call to execute

modelData TModelData

The model data to map

optionsBuilder Action<IApizrRequestOptionsBuilder>

Options provided to the request

Returns

Task<Option<Unit, ApizrException>>

Type Parameters

TWebApi

The web api type

TModelData

The model request type to map from

TApiData

The api request type to map to

SendFor<TWebApi, TModelResultData, TApiResultData, TApiRequestData, TModelRequestData>(Expression<Func<IApizrRequestOptions, TWebApi, TApiRequestData, Task<TApiResultData>>>, TModelRequestData, Action<IApizrRequestOptionsBuilder>)

Send an api call to Apizr using MediatR with a mapped request and returning an optional mapped result

public Task<Option<TModelResultData, ApizrException<TModelResultData>>> SendFor<TWebApi, TModelResultData, TApiResultData, TApiRequestData, TModelRequestData>(Expression<Func<IApizrRequestOptions, TWebApi, TApiRequestData, Task<TApiResultData>>> executeApiMethod, TModelRequestData modelRequestData, Action<IApizrRequestOptionsBuilder> optionsBuilder = null)

Parameters

executeApiMethod Expression<Func<IApizrRequestOptions, TWebApi, TApiRequestData, Task<TApiResultData>>>

The TWebApi call to execute

modelRequestData TModelRequestData

The model request data

optionsBuilder Action<IApizrRequestOptionsBuilder>

Options provided to the request

Returns

Task<Option<TModelResultData, ApizrException<TModelResultData>>>

Type Parameters

TWebApi

The web api type

TModelResultData

The model result type to map to

TApiResultData

The api request type to map to

TApiRequestData

The api result type to map from

TModelRequestData

The model request type to map from

SendFor<TWebApi, TModelResultData, TApiResultData, TApiRequestData, TModelRequestData>(Expression<Func<TWebApi, TApiRequestData, Task<TApiResultData>>>, TModelRequestData, Action<IApizrRequestOptionsBuilder>)

Send an api call to Apizr using MediatR with a mapped request and returning an optional mapped result

public Task<Option<TModelResultData, ApizrException<TModelResultData>>> SendFor<TWebApi, TModelResultData, TApiResultData, TApiRequestData, TModelRequestData>(Expression<Func<TWebApi, TApiRequestData, Task<TApiResultData>>> executeApiMethod, TModelRequestData modelRequestData, Action<IApizrRequestOptionsBuilder> optionsBuilder = null)

Parameters

executeApiMethod Expression<Func<TWebApi, TApiRequestData, Task<TApiResultData>>>

The TWebApi call to execute

modelRequestData TModelRequestData

The model request data

optionsBuilder Action<IApizrRequestOptionsBuilder>

Options provided to the request

Returns

Task<Option<TModelResultData, ApizrException<TModelResultData>>>

Type Parameters

TWebApi

The web api type

TModelResultData

The model result type to map to

TApiResultData

The api request type to map to

TApiRequestData

The api result type to map from

TModelRequestData

The model request type to map from