private async Task OnLogin() { WebService.Instance.SetUserCredentials(Login, Password); var result = await WebService.Instance.GetStudentPersonalData(); if (result != null) { CredentialLocker.SaveUserCredentials(Login, Password); await CoreMethods.PushPageModel <SplashViewModel>(result); } else { await CoreMethods.DisplayAlert("Błąd logowania", "Niepoprawny login lub hasło.\nSpróbuj jeszcze raz.\n\nJeśli nie pamiętasz hasła,\nużyj opcji odzyskiwania hasła.", "Ok"); } }
protected override async void ViewIsAppearing(object sender, EventArgs e) { base.ViewIsAppearing(sender, e); var currentUserCredentials = CredentialLocker.GetUserCredentials(); if (currentUserCredentials == null) { await CoreMethods.PushPageModel <LoginViewModel>(); CoreMethods.RemoveFromNavigation(); } else { var appData = new AppData(); if (_initData is StudentPersonalData studentPersonalData) { appData.StudentPersonalData = studentPersonalData; } else { appData.StudentPersonalData = await WebService.Instance.GetStudentPersonalData(); } appData.GradesDataModels = appData.StudentPersonalData.Oceny .GroupBy(x => x.Semestr) .OrderByDescending(x => x.Key) .Select(group => new GradesDataModel { Name = group.Key, Grades = group.ToList() }).ToList(); appData.PaymentsDataModel = new PaymentsDataModel { Konto_wplat = appData.StudentPersonalData.Konto_wplat, Konto_wyplat = appData.StudentPersonalData.Konto_wyplat, Kwota_naleznosci = appData.StudentPersonalData.Kwota_naleznosci, Kwota_wplat = appData.StudentPersonalData.Kwota_wplat, Kwota_wyplat = appData.StudentPersonalData.Kwota_wyplat, Saldo = appData.StudentPersonalData.Saldo, Oplaty = appData.StudentPersonalData.Oplaty.OrderByDescending(x => x.TerminPlatnosci).ToList(), Platnosci = appData.StudentPersonalData.Platnosci.OrderByDescending(x => x.DataWplaty).ToList() }; var today = DateTime.Today; var studentSchedules = await WebService.Instance.GetStudentSchedules(today, today.AddMonths(1)); appData.StudentScheduleDataModels = studentSchedules .GroupBy(x => x.Data_roz.Date) .OrderBy(x => x.Key) .Select(group => new ScheduleDataModel { Date = group.Key, StudentSchedules = group.ToList() }).ToList(); await CoreMethods.PushPageModel <DashboardViewModel>(appData); CoreMethods.RemoveFromNavigation(); } }