public async Task <TResult> CreateAuthenticatedAsync <TResult>(Guid integrationId, Guid authenticationId, string methodName, IDictionary <string, string> paramSet, Func <TResult> onSuccess, Func <TResult> onAlreadyExists) { var rollback = new RollbackAsync <TResult>(); var docByMethod = new AccessDocument { LookupId = integrationId, Method = methodName, }; rollback.AddTaskCreate(authenticationId, methodName, docByMethod, onAlreadyExists, this.repository); var integrationDoc = new AuthenticationRequestDocument { LinkedAuthenticationId = authenticationId, Method = methodName, Action = Enum.GetName(typeof(AuthenticationActions), AuthenticationActions.access) }; integrationDoc.SetExtraParams(paramSet); rollback.AddTaskCreate(integrationId, integrationDoc, onAlreadyExists, this.repository); return(await rollback.ExecuteAsync(onSuccess)); }
public static Task <TResult> UpdateAsync <TResult>(Guid integrationId, Func <Integration, Func <Integration, Task <string> >, Task <TResult> > onFound, Func <TResult> onNotFound) { return(AuthenticationRequestDocument.UpdateAsync(integrationId, onFound, onNotFound)); }