Exemplo n.º 1
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.º 2
0
        public async Task <IHttpActionResult> PutStorey()
        {
            StoreysHandler       SH         = new StoreysHandler(db);
            List <Models.Storey> StoreyList = JsonConvert.DeserializeObject <List <Models.Storey> >(Request.Content.ReadAsStringAsync().Result);

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