/// <summary> /// Returns a list of anonymous properties with postcode and annual costs populated. /// </summary> /// <returns>List[AnonymousProperty] with postcode and annual cost for each property in the database</returns> internal static List<AnonymousProperty> getAllPropertyAnnualCosts() { EMMediator mediator = new EMMediator(); List<Property> allProperties = mediator.DataManager.getAllProperties(); List<AnonymousProperty> result = new List<AnonymousProperty>(); foreach (Property property in allProperties) { AnonymousProperty anonProperty = new AnonymousProperty(); anonProperty.Postcode = property.Postcode; anonProperty.AnnualCost = property.AnnualCost; anonProperty.Id = property.Id; result.Add(anonProperty); } return result; }
public List<AnonymousProperty> getComparativeCostsForUser(int userId) { List<Property> usersProperties = mediator.DataManager.getProperties(userId); List<AnonymousProperty> anonProperties = new List<AnonymousProperty>(); List<AnonymousProperty> allProperties = EMDatabaseStats.getAllPropertyAnnualCosts(); List<AnonymousProperty> result = new List<AnonymousProperty>(); foreach (AnonymousProperty anonProperty in allProperties) { AnonymousProperty resultProperty = new AnonymousProperty(); resultProperty.Id = anonProperty.Id; resultProperty.Postcode = anonProperty.Postcode; resultProperty.AnnualCost = anonProperty.AnnualCost; resultProperty.isUsers = usersProperties.ToList().Exists(p => p.Id == anonProperty.Id); result.Add(resultProperty); } return result; }
public override List<AnonymousProperty> getAnonymousProperties(List<int> propertyIds) { List<AnonymousProperty> result = new List<AnonymousProperty>(); ///include property type & all children foreach (Property property in emdb.Properties.Include(p => p.PropertyType).Include(p => p.PropertyType.Walls) .Include(p => p.PropertyType.Heating) .Include(p => p.PropertyType.Building)) { AnonymousProperty anonProperty = new AnonymousProperty { Id = property.Id, Postcode = property.Postcode, AnnualCost = property.AnnualCost, AnnualkWh = property.AnnualkWh, AreaNormalisedAnnualkWh = property.AreaNormalisedAnnualkWh, FloorArea = property.FloorArea, NumbBedrooms = property.NumbBedrooms }; anonProperty.isUsers = propertyIds.Contains(property.Id); anonProperty.Walls = property.PropertyType.Walls.Description; anonProperty.Buiding = property.PropertyType.Building.Description; anonProperty.Heating = property.PropertyType.Heating.Description; result.Add(anonProperty); } return result; }