Exemplo n.º 1
0
 private void RaiseOdontogramEntryPageRequested(OdontogramEntryPageRequestedEventArgs e)
 {
     if (OdontogramEntryPageRequested != null)
     {
         OdontogramEntryPageRequested.Invoke(this, e);
     }
 }
Exemplo n.º 2
0
        public PatientHistoryPresenter(IDataRepository dataRepository, IPatientHistoryPage page)
        {
            this.page             = page;
            this.dataRepository   = dataRepository;
            odontogramImagesCache = new Dictionary <string, Image>();

            page.SelectedAppointmentChanged += (s, appointment) =>
            {
                var date  = appointment.Date;
                var entry = this.Patient.Odontogram.Entries.FirstOrDefault(t => t.Date == date);

                var entries = this.Patient.Odontogram.Entries.Where(t => t.Date <= date);

                if (entry != null)
                {
                    page.SetOdontogramEntries(entries);
                }
                else
                {
                    page.ClearSelectedOdontogramEntry();
                }
            };

            page.EditOdontogramEntryClicked += (s, appointment) =>
            {
                var e = new OdontogramEntryPageRequestedEventArgs()
                {
                    Odontogram = appointment.Patient.Odontogram,
                    Entry      = appointment.OdontogramEntry
                };

                RaiseOdontogramEntryPageRequested(e);
            };

            page.NeedsReloading += (s, e) => {
                if (Patient != null)
                {
                    SetPatient(dataRepository.Patients.Get(Patient.Id));
                }
            };
        }