public async Task<Zone> UpdateZoneAsync(Zone zone) { Zone zoneToUpdate = (await GetZonesAsync(new List<int> { zone.Id })).SingleOrDefault(); if (zoneToUpdate == null) return null; if (zone.Appliances != null) { List<Appliance> usedAppliances = (await GetAppliancesAsync(zone.Appliances.Select(a => a.Id))).ToList(); zoneToUpdate.Appliances = usedAppliances; } if (zone.Name != null) zoneToUpdate.Name = zone.Name; await SaveAsync(); return zoneToUpdate; }
public async Task<Zone> CreateZoneAsync(Zone zone) { List<Appliance> usedAppliances = (await GetAppliancesAsync(zone.Appliances.Select(z => z.Id))).ToList(); zone.Appliances = usedAppliances; Zone zoneToCreate = Context.Zones.Add(zone); await SaveAsync(); return zoneToCreate; }