Пример #1
0
        public async static Task <HttpResponseMessage> XlsPostAsync(EastFive.Security.SessionServer.Context context,
                                                                    ContentBytes sheet, [QueryParameter] Guid integration, IDictionary <string, bool> resourceTypes,
                                                                    HttpRequestMessage request, System.Web.Http.Routing.UrlHelper url,
                                                                    RedirectResponse onSuccess,
                                                                    NotFoundResponse onNotFound,
                                                                    GeneralConflictResponse onError)
        {
            var sheetId = Guid.NewGuid();

            return(await await context.Integrations.UpdateAsync(integration,
                                                                sheet.content.MD5HashGuid().ToString("N"),
                                                                new Dictionary <string, string>()
            {
                { "resource_types", resourceTypes.SelectKeys().Join(",") },
                { "sheet_id", sheetId.ToString("N") },
            },
                                                                (redirectUrl) =>
            {
                return EastFive.Api.Azure.Credentials.Sheets.SaveAsync(sheetId, sheet.contentType.MediaType, sheet.content, integration,
                                                                       context.DataContext,
                                                                       () => onSuccess(redirectUrl),
                                                                       "Guid not unique".AsFunctionException <HttpResponseMessage>());
            },
                                                                () => onNotFound().ToTask(),
                                                                () => onError("The provided integration ID has not been connected to an authorization.").ToTask()));
        }
 public async static Task <HttpResponseMessage> IntegrationUploadAsync(EastFive.Security.SessionServer.Context context,
                                                                       [QueryParameter(CheckFileName = true, Name = StateQueryParameter)] Guid integrationId,
                                                                       HttpRequestMessage request, System.Web.Http.Routing.UrlHelper url,
                                                                       ViewFileResponse onLoadUploadPage)
 {
     return(await onLoadUploadPage("InternalIntegration/ConfigureIntegration.cshtml", integrationId).ToTask());
 }
Пример #3
0
 public async static Task <HttpResponseMessage> IntegrationUploadAsync(
     [QueryParameter(CheckFileName = true)] Guid integration,
     EastFive.Security.SessionServer.Context context,
     HttpRequestMessage request, System.Web.Http.Routing.UrlHelper url,
     ViewFileResponse onLoadUploadPage)
 {
     return(await onLoadUploadPage("SheetIntegration/UploadSheet.cshtml", null).ToTask());
 }
        public async static Task <HttpResponseMessage> XlsPostAsync(EastFive.Security.SessionServer.Context context,
                                                                    [QueryParameter] Guid integration,
                                                                    [QueryParameter] IDictionary <string, bool> resourceTypes,
                                                                    Azure.AzureApplication application,
                                                                    HttpRequestMessage request, System.Web.Http.Routing.UrlHelper url,
                                                                    RedirectResponse onSuccess,
                                                                    NotFoundResponse onNotFound,
                                                                    GeneralConflictResponse onError)
        {
            var resourceTypesList = resourceTypes.SelectKeys().Join(",");

            return(onSuccess(
                       url.GetLocation <InternalIntegrationResponseController>(
                           (irc) => irc.IntegrationId.AssignQueryValue(integration),
                           (irc) => irc.ResourceTypes.AssignQueryValue(resourceTypesList),
                           application)));
        }