public async Task RunSyncSchedule() { Debug.WriteLine("TaskDebugger: SyncScheduleTask"); try { var occupationsFromDB = await App.Database.GetOccupations(App.IdGroupCurrent); if (CrossConnectivity.Current.IsConnected) { if (occupationsFromDB == null || App.LastDate == DateTime.MinValue || App.LastDate != App.DateNow) { var groups = await App.Database.GetGroups(); await App.Database.DropTable <Student>(); await App.Database.DropTable <Occupation>(); await App.Database.CreateTable <Student>(); await App.Database.CreateTable <Occupation>(); foreach (var group in groups) { await SyncOccupations(group.IdGroup); await SyncStudents(group.IdGroup); } } } isSuccessful = true; } catch (HttpRequestException) { isSuccessful = false; } var message = new OnScheduleSyncronizedMessage() { IsSuccessful = isSuccessful, }; Device.BeginInvokeOnMainThread(() => { MessagingCenter.Send(message, "OnScheduleSyncronizedMessage"); }); App.IsScheduleSync = false; App.IsAttendanceSync = true; MessagingCenter.Send(new StartSyncAttendanceTaskMessage(), "StartSyncAttendanceTaskMessage"); }
public async Task RunGetSchedule() { Debug.WriteLine("TaskDebugger: GetScheduleTask. New Date selected"); MessagingCenter.Send(new StopSyncAttendanceTaskMessage(), "StopSyncAttendanceTaskMessage"); try { isSuccessful = false; if (CrossConnectivity.Current.IsConnected) { await App.Database.DropTable <Occupation>(); await App.Database.CreateTable <Occupation>(); foreach (var group in App.Groups) { await SyncOccupations(group.IdGroup); } isSuccessful = true; await App.Current.SavePropertiesAsync(); } } catch (HttpRequestException ex) { Debug.WriteLine("GetScheduleTask: " + ex.Message); } var message = new OnScheduleSyncronizedMessage() { IsSuccessful = isSuccessful, }; Device.BeginInvokeOnMainThread(() => { MessagingCenter.Send(message, "OnScheduleSyncronizedMessage"); }); App.IsScheduleSync = false; App.IsAttendanceSync = true; MessagingCenter.Send(new StartSyncAttendanceTaskMessage(), "StartSyncAttendanceTaskMessage"); }