-
Notifications
You must be signed in to change notification settings - Fork 0
S.T.A.R.
Oleg Dutsyak edited this page May 24, 2017
·
4 revisions
- Situation: Application features.
- Task: Implement all business application features in a limited time.
- Action: Trying to implement base CRUD operations and base user inteface.
- Result: Many features remained unimplemented.
- Situation: Application GUI.
- Task: Create simple and user-friendly interface.
- Action: Used standard Presentation Framework controls.
- Result: User interface looks simple, old-school and provides necessary features.
- Situation: Date and time picker.
- Task: Add control, where administrator can select date and time for creating schedule.
- Action: Because there is not needed control in WPF base library, it was used DateTimePicker from Extended WPF Toolkit.
- Result: Administrator can select date and time.
- Situation: Data consistency.
- Task: Provide data consistency. Administrator don't be able to delete journey, if there are tickets on it, or delete bus, which is used for trip.
- Action: Created properties 'HasDependencies' in ViewModels, which returns true if there are releted data to model. If an entity has dependencies, you should first delete related data.
- Result: Application provides data consistency.
- Situation: Update DataContext while switching tabs.
- Task: DataContext for Tab is load during the first opening. So, if you remove entity from one tab, it still remains on the another tab.
- Action: Used MouseLeftButtonDown event for Labels in Tab's headers. Handlers for this event provides loading DataContext for specified tab during click on it's header.
- Result: DataContext started correctly updated.
- Situation: Store admin's password.
- Task: Create secure storage for administrators passwors, where anyone can view password even if has access to database.
- Action: Passwords store in SQL Server database table in hashed view. Used SHA1Managed class for hashing passwords, because SHA1 is more secure than MD5.
- Result: No one can view passwords, even password's owner.