Exemplo n.º 1
0
        public IObservable <Unit> Arm()
        {
            return(Observable.Create <Unit>(observer =>
            {
                var request = new ArmRequest();
                var armResponse = _actionServiceClient.Arm(request);
                var actionResult = armResponse.ActionResult;
                if (actionResult.Result == ActionResult.Types.Result.Success)
                {
                    observer.OnCompleted();
                }
                else
                {
                    observer.OnError(new ActionException(actionResult.Result, actionResult.ResultStr));
                }

                return Task.FromResult(Disposable.Empty);
            }));
        }
Exemplo n.º 2
0
        public static async Task <HttpResponseMessage> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", "put", Route = null)] HttpRequest req,
            ILogger log)
        {
            log.LogInformation("Employee request. Method: " + req.Method);

            var request = new ArmRequest(req);

            switch (req.Method.ToUpperInvariant())
            {
            case "GET": return(await Employees.Get(request, log));

            case "POST": return(await Employees.Put(request, log));

            case "PUT": return(await Employees.Put(request, log));
            }

            return(new HttpResponseMessage(HttpStatusCode.BadRequest));
        }
Exemplo n.º 3
0
        private static async Task <HttpResponseMessage> Get(ArmRequest request, ILogger log)
        {
            log.LogInformation("Get employee collection.");

            var response = await GetHttpClient().GetAsync(ApiUri);

            if (response.IsSuccessStatusCode)
            {
                var employees = JsonConvert.DeserializeObject <Employee[]>(await response.Content.ReadAsStringAsync());
                var result    = ArmResourceCollection <ArmEmployeeResource> .Create <Employee>(request, employees, e => (new ArmEmployeeResource(e)));

                return(new HttpResponseMessage(HttpStatusCode.OK)
                {
                    Content = new StringContent(JsonConvert.SerializeObject(result), Encoding.UTF8, "application/json")
                });
            }
            else
            {
                return(new HttpResponseMessage(response.StatusCode));
            }
        }
Exemplo n.º 4
0
        private static async Task <HttpResponseMessage> Put(ArmRequest request, ILogger log)
        {
            log.LogInformation("Put new employee.");

            //var body = await request.Request.ReadAsStringAsync();
            string body;

            using (StreamReader reader = new StreamReader(request.Request.Body))
            {
                body = await reader.ReadToEndAsync();
            }

            var resource = JsonConvert.DeserializeObject <ArmResourceBase <EmployeeResource> >(body);

            var response = await GetHttpClient().PostAsJsonAsync <Employee>(ApiUri, resource.properties.GetValue());

            return((response.IsSuccessStatusCode) ?
                   new HttpResponseMessage(HttpStatusCode.OK)
            {
                Content = new StringContent(body, Encoding.UTF8, "application/json")
            }:
                   new HttpResponseMessage(response.StatusCode));
        }