Beispiel #1
0
        private void HrsCollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
        {
            // если запись IsDeleted
            HolderVm.UpdateIsEmpty();

            if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
            {
                // новые в списке
                var added = e.NewItems.Cast <ShortHealthRecordViewModel>();
                SetHrExtra(added);
                added.ForAll(x => x.IsDraggable = CanReorder);
            }
            else if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Remove)
            {
                // убранные не выделены
                var removed = e.OldItems.Cast <ShortHealthRecordViewModel>().ToList();
                if (removed.Contains(SelectedHealthRecord))
                {
                    SelectedHealthRecord = null;
                }
                using (doNotNotifyLastSelectedChanged.Join())
                {
                    removed.ForAll(vm => vm.IsSelected = false);
                }
            }
        }
Beispiel #2
0
 protected override void Dispose(bool disposing)
 {
     try
     {
         if (disposing)
         {
             hrManager.Dispose();
             HolderVm.Dispose();
             selectedOrder.Clear();
             disposed = true;
         }
     }
     finally
     {
         base.Dispose(disposing);
     }
 }
Beispiel #3
0
        protected override void Dispose(bool disposing)
        {
            try
            {
                if (disposing)
                {
                    if (Holder is Patient)
                    {
                        (Holder as Patient).CoursesChanged -= nested_IHrsHolders_Changed;
                    }
                    if (Holder is Course)
                    {
                        (Holder as Course).AppointmentsChanged -= nested_IHrsHolders_Changed;
                    }
                    Holder.PropertyChanged -= holder_PropertyChanged;

                    HolderVm.Dispose();
                }
            }
            finally
            {
                base.Dispose(disposing);
            }
        }
Beispiel #4
0
        protected override void Dispose(bool disposing)
        {
            if (disposing)
            {
                PrevHolder = null;
                NextHolder = null;

                if (holder is Course)
                {
                    var course = holder as Course;
                    course.Patient.CoursesChanged -= Patient_CoursesChanged;
                }
                else if (holder is Appointment)
                {
                    var app = holder as Appointment;
                    app.Course.AppointmentsChanged -= Course_AppointmentsChanged;
                }

                ((INotifyPropertyChanged)holder).PropertyChanged -= Holder_PropertyChanged;

                HolderVm.Dispose();
            }
            base.Dispose(disposing);
        }