Commit Graph

17 Commits

Author SHA1 Message Date
sam bab7ccea69 CalendarGrid: Many changes:
1. Dragover handler to handle auto scrolling when dragging. Also highlights destination cell in dragging.
2. Solution for the click-right click problem by better handling of right click issues.
3. New method OnRButtonDown()
4. Extra comments everywhere.
5. Fix for single column being enabled when there are multiple resources. Columns property now calls this.SetColumnInfo() to rectify that problem.
CGDocument:
1. EditAppoitment Used to send request a refresh from the DB and update the view itself, rather than letting the view handle that. That's now changed.
CGDocumentManager:
1. MessageBox displayed during login splash now are shown BY the splash form.
CGView:
1. Shortcuts and some display text updated.
2. Splash screen when updating now removed.
3. If print appointment slip checkbox is checked when EditAppointment is chosen, now it will print the routing slip.
4. Tiny change in appointment structure generated during drag and drop (added Patient member, as it was causing a crash)
DApptSearch:
1. Change of name of Appointment to Slot, for better user understanding.
DSplash:
1. RemoteMessage box methods and associated delegates for mickey mousing the form from another thread.

Updated release exes and dlls
2011-04-14 12:33:14 +00:00
sam 6c386491b2 Several Fixes found in my own testing:
- CalendarGrid needs to have StartDate as 12:00:00, otherwise a subtraction to calculate the column number of each availability doesn't work properly
- CGDocument needs to have SelectedDate set otherwise when it refreshes, it uses the selected date and makes the screen suddenly blank.
- DApptSearch needs to make date/times proper to send over to DB. CGSchedLib.CreateAvailabilitySchedule needs the startDate to be the beginning of the day and end date to be the end of the day. Now this is done.
- Updated exes.
2011-03-29 14:29:04 +00:00
sam dfefa179b2 CalendarGrid:
- Support for Autoscrolling corrected. 
- A little optimization: Grid is only drawn once now when starting, not twice (don't know why original code did that).
CGAppointment:
- Added member Patient (new Class)
CGDocument:
- OnOpenDocument now accepts input of DateTime to decide where to open document.
- SlotsAvailable algorithm now includes code for scaling according to timescale and code to merge Blocks if they are adjacent.
CGDocumentManager:
- Fix bug having to do with canceling log-in after first retry. BMX lib threw an exception which was not caught.
CGView: Many changes:
- SlotsAvailable signature changed in CGDocument. All references to it had to be changed.
- Opening a node in the tvSchedules by clicking on the plus sign did not select it. Code changes to make it select it.
- UpdateStatusBar now uses a string builder; and shows a more comprehensive message on the availability in the Status Bar.
- Focus issues on various controls.
- Support for printing a slip after an appointment is made automatically has been added.
CustomPrinting:
- now includes a method to print a single appointment slip
DAppointPage:
- Checkbox to decide whether to print appt slip added.
- New readonly property to get the appointment that has been made (of type CGAppointment).
DApptSearch:
- StartDate and EndDate now autoadjust based on each other.
- lblMessage added to show user message if no appointments are found.
2011-03-20 07:22:11 +00:00
sam 23b1654177 Remove CGSchedLib.OutputArray everywhere. Used to be needed in VS 2003; not anymore as you can see tables now.
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.
2011-02-21 14:21:24 +00:00
sam 8e5d5f8665 New exe and dll
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.
2011-01-26 11:01:39 +00:00
sam 700ea47212 CalendarGrid: Handling for mouse scroll wheel added.
CGAppointments: Now supports Deep Cloning with Clone().
Updated Exes
2011-01-23 13:00:56 +00:00
sam 3a03dc6871 calendarGrid: Removed MouseEnter event and added it to CGView which now has to handle it properly.
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.
2011-01-20 14:32:28 +00:00
sam b2d2f1beca CalendarGrid:
- Added PositionGrid from CGView
- Added Delegates from other classes that contained just one line.
CGAppointmentChangedArgs & CGSelectionChangedArgs:
- Changed to use automatic properties
CGAvailability:
- Added override ToString()
2011-01-17 14:12:38 +00:00
sam c2fca2e1c6 CalendarGrid: Add MouseEnter event: puts focus on calendar grid. Used to "steal" focus from other controls so that lose focus events would fire.
CGDocumentManager: Added application-wide error handler on Application error exception; Added load timer to test how long it takes to load the GUI.
CGDocument: Just documentation updates.
2011-01-16 10:32:40 +00:00
sam 54b4cdf2b4 UCPatientAppts: Now uses LINQ. Mumps side fixes deal with other bugs.
calendarGrid: Fixes 1 day drawing bug showing yesterday's appointments
CGAVView: Cosmetic changes so far
CGDocument: Documentation change due to change in return values from Mumps.
2010-12-08 14:44:29 +00:00
sam 3d51d124f2 calendarGrid now inherits from ScrollableControl rather than Panel to support easy mouse scrolling. Don't know if this works on Windows XP yet. 2010-11-24 06:42:07 +00:00
sam 9e34982831 UCPatientAppts: Fixes printing empty table bug reported by EHS.
DAccessTemplate: Various usability improvements.
CGDocumentManager: Fixed Delegate code so that it can operate asynchronously
CGAVView: Some temporary fixes (not totally usable): Added non-functional Delete Slots menu option; Added Background worker for saving acccess slots
In the future, Delete Slots will work; and will use ADO.net Updatable datatable for saving access slots.
calendarGrid: just some comments for now
AssemblyInfo: bumped version up to v1.4.2
2010-11-18 12:47:04 +00:00
sam 5c6797e0e5 1. Fix bug of not showing appointments in 7 day view if arabic locale on machine.
2. Fix printing of routing slip (add clinic and fix appointment time and HRN)
3. Add RTL support for letters printed in Arabic Locale.
2010-08-10 12:00:01 +00:00
sam d86bae7272 Addition of new version of BMXNet21.dll
More Comments in CalendarGrid.cs
2010-07-09 21:30:43 +00:00
sam d2cf6f6d6d Support for different encodings besides ASCII.
Minor bug fixes dealing with internationalization of dates.
2010-07-06 12:18:14 +00:00
sam 5c54e67cb8 Mostly commenting the code. 2010-07-04 05:25:13 +00:00
sam fc430e8990 This update does the following:
- Remove the non-functioning CalendarGrid.dll and associated project files.
- Add the code from CalendarGrid.dll generated using reflector.exe to ClinicalScheduling.csproj
2009-12-03 22:36:03 +00:00