Exemplo n.º 1
0
        // Creates an httpClient that will respond with a space (this.Space or passed in space)
        public static (HttpClient, FakeHttpHandler) CreateWithSpace(
            IEnumerable <Guid> postResponseGuids,
            IEnumerable <HttpResponseMessage> getResponses   = null,
            IEnumerable <HttpResponseMessage> patchResponses = null,
            Models.Space space = null)
        {
            postResponseGuids = postResponseGuids ?? Array.Empty <Guid>();
            getResponses      = getResponses ?? Array.Empty <HttpResponseMessage>();
            patchResponses    = patchResponses ?? Array.Empty <HttpResponseMessage>();
            space             = space ?? Space;

            var getRootSpaceResponse = new HttpResponseMessage()
            {
                StatusCode = HttpStatusCode.OK,
                Content    = new StringContent(JsonConvert.SerializeObject(new [] { space })),
            };

            var getSensorsForResultsResponse = new [] { Responses.NotFound };

            return(FakeHttpHandler.CreateHttpClient(
                       postResponses: CreateGuidResponses(postResponseGuids),
                       getResponses: new [] { getRootSpaceResponse }
                       .Concat(getResponses)
                       .Concat(getSensorsForResultsResponse),
                       patchResponses: patchResponses));
        }
Exemplo n.º 2
0
        public async Task <IHttpActionResult> PostBIM()
        {
            //    string[] buildings = resultString.Split(new string[] { "BuildingStoreys" }, StringSplitOptions.None);
            SpacesHandler    SH       = new SpacesHandler(db);
            StoreysHandler   STH      = new StoreysHandler(db);
            BuildingsHandler BH       = new BuildingsHandler(db);
            AddressesHandler AH       = new AddressesHandler(db);
            Building         building = JsonConvert.DeserializeObject <Building>(Request.Content.ReadAsStringAsync().Result);

            Models.Building b = new Models.Building(building.ID, building.Name);
            BH.PostBuilding(b);
            double?longitude = building.Address.Longitude;
            double?latitude  = building.Address.Latitude;

            Models.Address address = new Models.Address(building.Address.Street, building.Address.Number, building.Address.Town, building.Address.PostalCode, building.Address.Region, building.Address.Country, longitude, latitude, b);
            AH.PostAddress(address);
            List <BuildingStorey> storeys = building.BuildingStoreys;

            foreach (BuildingStorey storey in storeys)
            {
                Models.Storey st = new Models.Storey(storey.ID, storey.Name, b);
                STH.PostStorey(st);
                foreach (Space space in storey.Spaces)
                {
                    Models.Space s = new Models.Space(space.ID, space.Name, st);
                    SH.PostSpace(s);
                }
            }
            List <Space> spaces = storeys[0].Spaces;

            return(Ok(building));
        }
Exemplo n.º 3
0
        public async Task <IHttpActionResult> PutSpace()
        {
            SpacesHandler       SH        = new SpacesHandler(db);
            List <Models.Space> SpaceList = JsonConvert.DeserializeObject <List <Models.Space> >(Request.Content.ReadAsStringAsync().Result);

            foreach (Models.Space Space in SpaceList)
            {
                Models.Space s = new Models.Space(Space.ID, Space.Name);
                if (!SH.PutSpace(s))
                {
                    return(Content(HttpStatusCode.Conflict, Space.ID.ToString()));
                }
            }
            return(Ok());
        }