Example #1
0
        public static async Task <List <Building> > LoadBuildingsAsync()
        {
            bool connect = await WebData.CheckConnection();

            if (connect == false)
            {
                return(null);
            }

            DbService.RemoveUncurrentBuildings();
            BuildingData.Buildings = new List <Building>();

            List <Building> buildings = await new BuildingService().GetBuildings();

            DbService.AddBuilding(buildings.Where(b => b.BuildingId != BuildingData.CurrentBuilding?.BuildingId).ToList());

            var currentloadedbuilding = buildings.Where(b => b.BuildingId == BuildingData.CurrentBuilding?.BuildingId).FirstOrDefault();

            if (currentloadedbuilding != null)
            {
                BuildingData.CurrentBuilding.Name        = currentloadedbuilding.Name;
                BuildingData.CurrentBuilding.Site        = currentloadedbuilding.Site;
                BuildingData.CurrentBuilding.Addrees     = currentloadedbuilding.Addrees;
                BuildingData.CurrentBuilding.TimeTable   = currentloadedbuilding.TimeTable;
                BuildingData.CurrentBuilding.Description = currentloadedbuilding.Description;
                DbService.SaveDb();
            }

            BuildingData.Buildings = DbService.LoadAllBuildings();

            BuildingData.CurrentBuilding = BuildingData.Buildings
                                           .Where(b => b.BuildingId == currentloadedbuilding?.BuildingId)
                                           .FirstOrDefault();

            return(BuildingData.Buildings);
        }