|
using System;
using System.Collections.ObjectModel;
using System.ComponentModel;
using SchoolSample.EntityModel;
namespace SchoolSample.Common
{
public interface ISchoolModel : INotifyPropertyChanged
{
// Data Retrieval:
void GetStudentsAsync(ClientQuery clientQuery, string screenName);
event EventHandler<ResultsArgs<Student>> GetStudentsCompleted;
void GetStudentByIdAsync(int studentId);
event EventHandler<ResultArgs<Student>> GetStudentByIdCompleted;
void GetInstructorsAsync(ClientQuery clientQuery, string screenName);
event EventHandler<ResultsArgs<Instructor>> GetInstructorsCompleted;
void GetInstructorByIdAsync(int instructorId);
event EventHandler<ResultArgs<Instructor>> GetInstructorByIdCompleted;
void GetCoursesAsync(ClientQuery clientQuery, string screenName);
event EventHandler<ResultsArgs<Course>> GetCoursesCompleted;
void GetCourseByIdAsync(int courseId);
event EventHandler<ResultArgs<Course>> GetCourseByIdCompleted;
// Data Cache:
ObservableCollection<Student> StudentsList { get; set; }
Student CurrentStudent { get; set; }
ObservableCollection<Instructor> InstructorsList { get; set; }
Instructor CurrentInstructor { get; set; }
ObservableCollection<Course> CoursesList { get; set; }
Course CurrentCourse { get; set; }
// Data Status:
Boolean StudentsListHasChanges { get; }
Boolean CurrentStudentHasChanges { get; }
Boolean InstructorsListHasChanges { get; }
Boolean CurrentInstructorHasChanges { get; }
Boolean CoursesListHasChanges { get; }
Boolean CurrentCourseHasChanges { get; }
Boolean IsBusy { get; }
// Update and Rollback of Entity List:
void SaveStudentChangesAsync(bool allItems = true);
event EventHandler<ResultArgs<string>> SaveStudentChangesCompleted;
void RejectStudentChanges(bool allItems = true);
void SaveInstructorChangesAsync(bool allItems = true);
event EventHandler<ResultArgs<string>> SaveInstructorChangesCompleted;
void RejectInstructorChanges(bool allItems = true);
void SaveCourseChangesAsync(bool allItems = true);
event EventHandler<ResultArgs<string>> SaveCourseChangesCompleted;
void RejectCourseChanges(bool allItems = true);
// Default Filter:
void GetDefaultFilterByScreenNameAsync(string screenName);
event EventHandler<ResultArgs<DefaultFilter>> GetDefaultFilterByScreenNameCompleted;
void SaveDefaultFilterAsync(DefaultFilter defaultFilter);
event EventHandler<ResultArgs<string>> SaveDefaultFilterCompleted;
// Error Handling:
Exception GetLastError();
void ClearLastError();
Boolean AllowMultipleErrors { get; set; }
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Weidong has been an information system professional since 1990. He has a Master's degree in Computer Science, and is currently a MCSD .NET