public bool Equals(DestinyHistoricalStatsByPeriod input)
        {
            if (input == null)
            {
                return(false);
            }

            return
                ((
                     AllTime == input.AllTime ||
                     (AllTime != null && AllTime.SequenceEqual(input.AllTime))
                     ) &&
                 (
                     AllTimeTier1 == input.AllTimeTier1 ||
                     (AllTimeTier1 != null && AllTimeTier1.SequenceEqual(input.AllTimeTier1))
                 ) &&
                 (
                     AllTimeTier2 == input.AllTimeTier2 ||
                     (AllTimeTier2 != null && AllTimeTier2.SequenceEqual(input.AllTimeTier2))
                 ) &&
                 (
                     AllTimeTier3 == input.AllTimeTier3 ||
                     (AllTimeTier3 != null && AllTimeTier3.SequenceEqual(input.AllTimeTier3))
                 ) &&
                 (
                     Daily == input.Daily ||
                     (Daily != null && Daily.SequenceEqual(input.Daily))
                 ) &&
                 (
                     Monthly == input.Monthly ||
                     (Monthly != null && Monthly.SequenceEqual(input.Monthly))
                 ));
        }
 public bool DeepEquals(DestinyHistoricalStatsByPeriod?other)
 {
     return(other is not null &&
            AllTime.DeepEqualsDictionary(other.AllTime) &&
            AllTimeTier1.DeepEqualsDictionary(other.AllTimeTier1) &&
            AllTimeTier2.DeepEqualsDictionary(other.AllTimeTier2) &&
            AllTimeTier3.DeepEqualsDictionary(other.AllTimeTier3) &&
            Daily.DeepEqualsList(other.Daily) &&
            Monthly.DeepEqualsList(other.Monthly));
 }
 public void Update(DestinyHistoricalStatsByPeriod?other)
 {
     if (other is null)
     {
         return;
     }
     if (!AllTime.DeepEqualsDictionary(other.AllTime))
     {
         AllTime = other.AllTime;
         OnPropertyChanged(nameof(AllTime));
     }
     if (!AllTimeTier1.DeepEqualsDictionary(other.AllTimeTier1))
     {
         AllTimeTier1 = other.AllTimeTier1;
         OnPropertyChanged(nameof(AllTimeTier1));
     }
     if (!AllTimeTier2.DeepEqualsDictionary(other.AllTimeTier2))
     {
         AllTimeTier2 = other.AllTimeTier2;
         OnPropertyChanged(nameof(AllTimeTier2));
     }
     if (!AllTimeTier3.DeepEqualsDictionary(other.AllTimeTier3))
     {
         AllTimeTier3 = other.AllTimeTier3;
         OnPropertyChanged(nameof(AllTimeTier3));
     }
     if (!Daily.DeepEqualsList(other.Daily))
     {
         Daily = other.Daily;
         OnPropertyChanged(nameof(Daily));
     }
     if (!Monthly.DeepEqualsList(other.Monthly))
     {
         Monthly = other.Monthly;
         OnPropertyChanged(nameof(Monthly));
     }
 }