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)); }
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()); }