示例#1
0
        static async Task Main(string[] args)
        {
            Parser.Default.ParseArguments <Options>(args)
            .WithParsed(RunOptionsAndReturnExitCode)
            .WithNotParsed(HandleParseError);

            if (_hasErrors)
            {
                return;
            }

            Console.WriteLine("Starting processes!");

            PathService.OutputPath = _options.OutputPath;

            await DatabaseService.Instance.CreateTables();

            OscaWebService.Instance.Setup(_options.FedAuthCookie);
            var oscaAppService = new OscaAppService();
            await oscaAppService.Login(_options.UserName, _options.Password);

            var syncService = new SyncService(
                DatabaseService.Instance,
                oscaAppService,
                OscaWebService.Instance,
                new AnnouncementService(),
                new CourseService(),
                new CanteenService(),
                new NewsService(),
                new FileAreaService(),
                new FileService()
                );

            await syncService.SyncAll(SyncProgress, ErrorOccured, ReceivedNewEntities);
        }
示例#2
0
 public GenericSyncStep(OscaAppService oscaAppService,
                        DatabaseService databaseService,
                        CanteenService canteenService)
 {
     this.oscaAppService  = oscaAppService;
     this.databaseService = databaseService;
     this.canteenService  = canteenService;
 }
示例#3
0
 public SyncService(
     DatabaseService databaseService,
     OscaAppService oscaAppService,
     OscaWebService oscaWebService,
     AnnouncementService announcementService,
     CourseService courseService,
     CanteenService canteenService,
     NewsService newsService,
     FileAreaService fileAreaService,
     FileService fileService
     )
 {
     _databaseService     = databaseService;
     _oscaAppService      = oscaAppService;
     _canteenService      = canteenService;
     _announcementService = announcementService;
     _oscaWebService      = oscaWebService;
     _courseService       = courseService;
     _newsService         = newsService;
     _fileAreaService     = fileAreaService;
     _fileService         = fileService;
 }
示例#4
0
 public CourseSyncStep(OscaAppService oscaAppService, DatabaseService databaseService)
 {
     this.oscaAppService  = oscaAppService;
     this.databaseService = databaseService;
 }
示例#5
0
 public AppointmentSyncStep(OscaAppService oscaAppService, DatabaseService databaseService)
 {
     this.oscaAppService  = oscaAppService;
     this.databaseService = databaseService;
 }
示例#6
0
 public MessagesSyncStep(OscaAppService oscaAppService, DatabaseService databaseService)
 {
     this.oscaAppService  = oscaAppService;
     this.databaseService = databaseService;
 }