CalendarGrid:
- Make MinSince80 and TimesOverlap static functions for use by other classes since they are done over and over again.
CGAppointments:
- Documentation updates
CGAVDocument:
- Removal of OutputArray
CGDocument:
- Refactored RefreshAvailabilitySchedule
- AddAvailability will not call UpdateAllViews any more. View will be responsible for redrawing itself.
- Removal of OutputArray
CGDocumentManager:
- Removal of OutputArray
- Documentation updates
CGSchedLib: Lots of Changes
- Class now static (new .net 2.0 feature)
- Removed OutputArray
- Documentation Updates
- Commented out now unused CreateAssignedTypeSchedule
CGView:
- OnUpdateScheduleCallback now has try catch when it this.Invokes the original form so that it won't crash if the form has been closed before it gets called.
calendarGrid: Minor documentation updates.
CGAppointments: Object now supports Deep cloning
CGDocument:
1. Major changes on how m_pAvArrays is handled. Now it is locked whenever it is updated or queried. Some refactoring to make sure there are no db calls during the locks so that the locks won't be expensive.
2. Removed ClearResources, an unused method.
3. Appointment aCopy walkin property is set to true if the appointment is a walkin. This makes sure that the grid draws it correctly between it is added to the appointment array and we fetch new data from the server.
4. Create appointment is not responsible anymore for requesting updates from the server. All requests to update data must be done through CGView, as it is the only party
interested in displaying accurate data on the grid. Just send the create appt event to the server.
5. CheckInAppointment: Same thing. Now responsible for requesting updates from the server. Just send the checkin event to the server.
CGDocumentManager: Removed tracing. Done in BMX Library only now.
CGView:
1. CGAppointment fetched from Document, not from the copy maintained by the calendarGrid.
2. RefreshDocument calls before an appointment is made have been removed (need to find another way to make sure that the appointment has just not been booked). RefreshDocument & UpdateArrays are called async after appointments are made.
3. Appointment List passed to Calendar grid is now a copy, to prevent issues with concurrent access.
4. Message if a patient has apppointment at the same time vastly improved.
CGAppointments: now supports cloning.
CGDocument: Added RefreshDocumentAsync, which retrives data from the server w/o asking the grid to refersh.
CGDocumentManager: CGView.InitializeDocView does not take appointments as argument; callers are changed.
CGView: Many Changes:
- Opening a Schedule nows calls up a splash and a wait cursor while loading.
- Events coming from the server are now handled asynchronously (not on UI thread). This results in much better responsiveness.
- Appointments, Availabilities, Resources are all set in the CalendarGrid by UpdateArrays; as a centralized point of drawing the grid.
- A mistaken "feature"--stealing focus from each others windows, was removed--CalendarGrid.Focus event only fired now if the form is the Active Form. This is accomplished using GetActiveWindow() from user32.dll (a Win32 API).
LoadingSplash: Opacity removed; form resized.
- Remove the non-functioning CalendarGrid.dll and associated project files.
- Add the code from CalendarGrid.dll generated using reflector.exe to ClinicalScheduling.csproj