Esempio n. 1
0
        protected void Application_Start()
        {
            //Initialize the cached map data
            var helper = new OuMapHelper();

            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
Esempio n. 2
0
        public async Task <IHttpActionResult> ImportOuMaps()
        {
            var helper          = new OuMapHelper();
            var buildingsSearch = await helper.GetBuildings();

            var parkingSearch = await helper.GetParking();

            var buildingDTOs = new List <LocationDTO <Models.Incoming.OuMaps.Building> >();
            var parkingDTOs  = new List <LocationDTO <Models.Incoming.OuMaps.Parking> >();

            foreach (var searchItem in buildingsSearch)
            {
                buildingDTOs.Add(new LocationDTO <Models.Incoming.OuMaps.Building>()
                {
                    LocationSearchItem = searchItem,
                    LocationTask       = helper.GetLocation <Models.Incoming.OuMaps.Building>(searchItem.Locurl)
                });
            }
            foreach (var searchItem in parkingSearch)
            {
                parkingDTOs.Add(new LocationDTO <Models.Incoming.OuMaps.Parking>()
                {
                    LocationSearchItem = searchItem,
                    LocationTask       = helper.GetLocation <Models.Incoming.OuMaps.Parking>(searchItem.Locurl)
                });
            }
            using (var db = DbHelper.GetDb())
            {
                foreach (var buildingDto in buildingDTOs)
                {
                    var buildingEntry = new OuMapDumpBuilding();
                    buildingEntry.displayAs = buildingDto.LocationSearchItem.DisplayAs;
                    var info = await buildingDto.LocationTask;
                    buildingEntry.accessibility = info.Accessibility;
                    buildingEntry.floorplan     = info.Floorplan;
                    buildingEntry.geodata       = info.Geodata;
                    buildingEntry.loccode       = info.Loccode;
                    buildingEntry.locid         = info.Locid;
                    buildingEntry.locimg        = info.Locimg;
                    buildingEntry.lockeys       = info.Lockeys;
                    buildingEntry.locoptions    = string.Join(",", info.Locoptions);
                    buildingEntry.loctext       = info.Loctext;
                    buildingEntry.loctitle      = info.Loctitle;
                    buildingEntry.locurl        = info.Locurl;

                    db.OuMapDumpBuildings.Add(buildingEntry);
                }

                foreach (var parkingDto in parkingDTOs)
                {
                    var parkingEntry = new OuMapDumpParking();
                    parkingEntry.displayAs = parkingDto.LocationSearchItem.DisplayAs;
                    var info = await parkingDto.LocationTask;
                    parkingEntry.isparking        = info.isParking;
                    parkingEntry.handicappedcount = info.Handicappedcount;
                    parkingEntry.spacecount       = info.Spacecount;
                    parkingEntry.parkingtypes     = string.Join(",", info.Parkingtypes);
                    parkingEntry.geodata          = info.Geodata;
                    parkingEntry.loccode          = info.Loccode;
                    parkingEntry.locid            = info.Locid;
                    parkingEntry.locimg           = info.Locimg;
                    parkingEntry.lockeys          = info.Lockeys;
                    parkingEntry.locoptions       = string.Join(",", info.Locoptions);
                    parkingEntry.loctext          = info.Loctext;
                    parkingEntry.loctitle         = info.Loctitle;
                    parkingEntry.locurl           = info.Locurl;

                    db.OuMapDumpParkings.Add(parkingEntry);
                }

                try
                {
                    return(Ok(await db.SaveChangesAsync()));
                }
                catch (DbEntityValidationException e)
                {
                    return(Content(HttpStatusCode.InternalServerError, e));
                }
            }
        }