using System.Collections.Generic; using System.Linq; namespace UnivateProperties_API.Containers.Timeshare { public class RegionDto : IDisplay { public RegionDto() { Resorts = new List(); } public RegionDto(string regionCode, string regionName) { RegionCode = regionCode; RegionName = regionName; Resorts = new List(); } public RegionDto(int id, string regionCode, string regionName) { Id = id; RegionCode = regionCode; RegionName = regionName; Resorts = new List(); } public int Id { get; set; } public string RegionName { get; set; } public string RegionCode { get; set; } public List Resorts { get; set; } public int Available { get { return Resorts != null ? Resorts.Sum(x => x.Available) : 0; } } public string Display => RegionName; public void TryAddResort(string resortCode, string resortName) { if (!Resorts.Any(x => x.ResortCode == resortCode)) { Resorts.Add(new ResortDto(resortCode, resortName)); } } public void OrderResorts() { if(Resorts != null && Resorts.Count > 0) { Resorts = Resorts.OrderBy(x => x.ResortName).ToList(); } } } }