Esempio n. 1
0
 public ListFilesResponse(
     IApiApplication httpApiApp,
     IHttpRequest request)
     : base(request, HttpStatusCode.OK)
 {
     this.httpApiApp = httpApiApp;
 }
 public CallbackResponse(IHttpRequest request, HttpStatusCode statusCode,
                         IApiApplication httpApiApp,
                         string filename, Func <byte[], Task <string> > onFound)
     : base(request, statusCode)
 {
     this.fileName = filename;
     this.onFound  = onFound;
 }
        public static Uri GetLocation <TResource>(this UrlHelper url,
                                                  Expression <Action <TResource> >[] parameters,
                                                  IApiApplication application,
                                                  string routeName = "DefaultApi")
        {
            var baseUrl = url.GetLocation(typeof(TResource), routeName);

            return(baseUrl.SetParameters(parameters, application, routeName: routeName));
        }
 public static Uri GetLocation <TResource>(this UrlHelper url,
                                           Expression <Action <TResource> > param1,
                                           IApiApplication application,
                                           string routeName = "DefaultApi")
 {
     return(url.GetLocation(
                new Expression <Action <TResource> >[] { param1 },
                application,
                routeName));
 }
Esempio n. 5
0
 public XlsxResponse(IDictionary <string, string> properties,
                     IEnumerable <T> resources,
                     string fileName,
                     IApiApplication httpApiApp,
                     IHttpRequest request)
     : base(request, HttpStatusCode.OK)
 {
     this.properties = properties;
     this.resources  = resources;
     this.SetFileHeaders(
         fileName.IsNullOrWhiteSpace() ? $"sheet.xlsx" : fileName,
         "application/vnd.openxmlformats-officedocument.spreadsheetml.template",
         true);
 }
Esempio n. 6
0
        public static Uri SetParameters <TResource>(this Uri baseUrl,
                                                    Expression <Action <TResource> >[] parameters,
                                                    IApiApplication application,
                                                    string routeName = "DefaultApi")
        {
            var queryParams = parameters
                              .Select(param => param.GetUrlAssignment(
                                          (queryParamName, value) =>
            {
                return(queryParamName
                       .PairWithValue((string)application.CastResourceProperty(value, typeof(String))));
            }))
                              .ToDictionary();

            var queryUrl = baseUrl.SetQuery(queryParams);

            return(queryUrl);
        }
        public async Task <TResult> CreateAccount <TResult>(string subject,
                                                            IDictionary <string, string> extraParameters,
                                                            Method authentication, Authorization authorization,
                                                            Uri baseUri,
                                                            IApiApplication webApiApplication,
                                                            Func <Guid, TResult> onCreatedMapping,
                                                            Func <TResult> onAllowSelfServeAccounts,
                                                            Func <Uri, TResult> onInterceptProcess,
                                                            Func <TResult> onNoChange)
        {
            var resultObjTask = await MapAccount(subject,
                                                 extraParameters, authentication, authorization,
                                                 baseUri,
                                                 webApiApplication,
                                                 (accountId) =>
            {
                async Task <TResult> Func()
                {
                    await OnNewAccount(accountId, subject);
                    return(onCreatedMapping(accountId));
                }
                return(Func());
            },
                                                 () =>
            {
                TResult result = onAllowSelfServeAccounts();
                return(result.AsTask());
            },
                                                 uri =>
            {
                TResult result = onInterceptProcess(uri);
                return(result.AsTask());
            },
                                                 () =>
            {
                TResult result = onNoChange();
                return(result.AsTask());
            });

            var resultCasted = await resultObjTask.CastTask <TResult>();

            return(resultCasted);
        }
Esempio n. 8
0
 public static IHttpResponse QueryByResourceIdAndTypeAsync(
     [QueryParameter(Name = ResourceTypePropertyName)] Type resourceType,
     [QueryParameter(Name = ResourcePropertyName)] Guid resourceId,
     IApiApplication application,
     RedirectResponse onRedirect,
     UnauthorizedResponse onUnauthorized,
     NotFoundResponse onRedirectNotFound,
     ConfigurationFailureResponse onConfigurationFailure)
 {
     return(AppSettings.SPA.SiteLocation.ConfigurationUri(
                siteUrl =>
     {
         var resourceName = application.GetResourceMime(resourceType);
         var redirectUrl = siteUrl
                           .AppendToPath("redirect")
                           .AddQueryParameter("type", resourceName)
                           .AddQueryParameter("id", resourceId.ToString());
         return onRedirect(redirectUrl);
     },
                (why) => onConfigurationFailure(why, "")));
 }
Esempio n. 9
0
 public static IHttpResponse List(
     IApiApplication httpApp,
     IHttpRequest request)
 {
     return(new ListFilesResponse(httpApp, request));
 }