Upon looking into the following code I am unable to figure out the this.AddRange(hoteltasks); on line 21.
I want to know to which collection the AddRange method adds the elements of hoteltasks.
public class HotelViewModel : ObservableRangeCollection<RoomViewModel>, INotifyPropertyChanged
{
// It's a backup variable for storing TaskViewModel objects
private ObservableRangeCollection<RoomViewModel> hoteltasks = new ObservableRangeCollection<RoomViewModel>();
public HotelViewModel()
{
}
public HotelViewModel(Hotel hotel, bool expanded = false)
{
this.Hotel = hotel;
this._expanded = expanded;
foreach (Room task in hotel.Tasks)
{
hoteltasks.Add(new RoomViewModel(task));
}
if (expanded)
this.AddRange(hoteltasks);
}
private bool _expanded;
public bool Expanded
{
get { return _expanded; }
set
{
if (_expanded != value)
{
_expanded = value;
OnPropertyChanged(new PropertyChangedEventArgs("Expanded"));
if (_expanded)
{
this.AddRange(hoteltasks);
}
else
{
this.Clear();
}
}
}
}
}