BuildingModel IBuildingService.GetBuildingByLocation(decimal latitude, decimal longitude)
        {
            var buildings      = this.dbContext.Building.WhereActiveAccessibleBuilding(b => b.Latitude == latitude && b.Longitude == longitude);
            var buildingModels = new BuildingModelMapping().Map(buildings).ToList();

            this.LinkConsumptionWithBuilding(buildingModels);
            return(buildingModels.FirstOrDefault());
        }
        BuildingModel IBuildingService.GetBuildingByID(int buildingID)
        {
            var buildings      = this.dbContext.Building.WhereActiveAccessibleBuilding(data => data.BuildingID == buildingID);
            var buildingModels = new BuildingModelMapping().Map(buildings).ToList();

            this.LinkConsumptionWithBuilding(buildingModels);
            return(buildingModels.FirstOrDefault());
        }
        List <BuildingModel> IBuildingService.GetBuildingsByPremise(int premiseID)
        {
            var buildings = this.context.Current.RoleType == UserRole.Student ? this.dbContext.Building.WhereActiveBuilding(b => b.Premise.PremiseID == premiseID) : this.dbContext.Building.WhereActiveAccessibleBuilding(b => b.Premise.PremiseID == premiseID);

            var buildingModels = new BuildingModelMapping().Map(buildings).ToList();

            this.LinkConsumptionWithBuilding(buildingModels);
            return(buildingModels);
        }
        List <BuildingModel> IBuildingService.GetAllBuildings()
        {
            var buildings = this.context.Current.RoleType == UserRole.Student || this.context.Current.RoleType == UserRole.SuperAdmin ? this.dbContext.Building.WhereActiveBuilding() : this.dbContext.Building.WhereActiveAccessibleBuilding();

            var buildingModels = new BuildingModelMapping().Map(buildings).ToList();

            this.LinkConsumptionWithBuilding(buildingModels);
            return(buildingModels);
        }