async void HandleButtonMainMenuPage(object sender, ItemTappedEventArgs e)
        {
            var page = new Views.MainMenu.MenuPage().GetMenuPage();

            NavigationPage.SetHasNavigationBar(page, false);
            await Navigation.PushAsync(page);
        }
Example #2
0
        private async Task <bool> IsLoggedIn()
        {
            if (!string.IsNullOrEmpty(Settings.AccessToken))
            {
                var page = new Views.MainMenu.MenuPage().GetMenuPage();
                NavigationPage.SetHasNavigationBar(page, false);

                await(new PageService()).PushAsync(page);
                return(true);
            }
            return(false);
        }
        private async Task PostStudentCourses()
        {
            Busy = true;

            var request = new HttpRequestMessage(
                HttpMethod.Post, "https://altaarefapp.azurewebsites.net/api/StudentCourses");

            List <StudentCourses> studentCourses = new List <StudentCourses>();

            foreach (var crs in _coursesSelectedList)
            {
                studentCourses.Add(new StudentCourses
                {
                    CourseId  = crs.Id,
                    StudentId = Settings.StudentId
                });
            }

            var serStd = JsonConvert.SerializeObject(studentCourses);

            request.Content = new StringContent(serStd, Encoding.UTF8, "application/json");

            var response = await _client.SendAsync(request);

            if (response.IsSuccessStatusCode)
            {
                await _pageService.DisplayAlert("Success", "You have been registered successfully", "Ok", "Cancel");

                var page = new Views.MainMenu.MenuPage().GetMenuPage();
                NavigationPage.SetHasNavigationBar(page, false);

                await _pageService.PushAsync(page);

                Busy = false;
            }
            else
            {
                await _pageService.DisplayAlert("Failure", "Something went wrong!", "Ok", "Cancel");

                Busy = false;
            }
        }
Example #4
0
        private async Task LoginAsync(string username, string password)
        {
            Busy = true;

            logincred news = new logincred {
                username = username, password = password
            };

            var request = new HttpRequestMessage(
                HttpMethod.Post, "https://altaarefapp.azurewebsites.net/api/auth/login");

            request.Content = new StringContent(JsonConvert.SerializeObject(news), Encoding.UTF8, "application/json");

            var response = await _client.SendAsync(request);

            if (response.IsSuccessStatusCode)
            {
                var resCont = await response.Content.ReadAsStringAsync();

                JObject jwtDynamic = JsonConvert.DeserializeObject <dynamic>(resCont);

                var accessToken = jwtDynamic.Value <string>("auth_token");
                var Identity    = jwtDynamic.Value <string>("id");
                //var accessTokenExpiration = jwtDynamic.Value<DateTime>("expires_in");

                Settings.Username    = username;
                Settings.Password    = password;
                Settings.AccessToken = accessToken;
                Settings.Identity    = Identity;
                //Settings.AccessTokenExpiration = accessTokenExpiration;

                var url      = "https://altaarefapp.azurewebsites.net/api/Students/GetStdIdByIdentity/" + Settings.Identity;
                var stdIdRes = _client.GetAsync(url);
                if (stdIdRes.Result.IsSuccessStatusCode)
                {
                    var stdistr = await stdIdRes.Result.Content.ReadAsStringAsync();

                    int stdIdInt = JsonConvert.DeserializeObject <int>(stdistr);
                    Settings.StudentId = stdIdInt;
                }

                var page = new Views.MainMenu.MenuPage().GetMenuPage();
                NavigationPage.SetHasNavigationBar(page, false);

                Busy = false;

                await _pageService.PushAsync(page);
            }
            else
            {
                var error = await response.Content.ReadAsStringAsync();

                var deserror = JsonConvert.DeserializeObject(error);

                // extract errors later..

                ErrorMessage = "Invalid Username or Password";

                IsErrorVisible = true;

                Busy = false;
            }
        }