Example #1
0
        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));
        }
Example #2
0
 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));
 }