private async Task DownloadCommentsForArticleAsync(string objectId) { LoaderIndicator.IsRunning = true; LoaderIndicator.IsVisible = true; try { using (var HttpConnector = new HttpApiConnector().GetClient()) { var Task = await HttpConnector.GetAsync(Constants.ConnectionApiUriArtykul + "Komentarz/" + objectId); if (Task.IsSuccessStatusCode) { JsonConvert.DeserializeObject <ObservableCollection <KomentarzModel> >(await Task.Content.ReadAsStringAsync()).OrderByDescending(x => x.Data).ToList().ForEach(x => _comments.Add(x)); } } } catch (Exception err) { await DisplayAlert("Error", "Błąd pobierania komentarzy", "Ok"); } finally { LoaderIndicator.IsRunning = false; LoaderIndicator.IsVisible = false; } }
public async void SendChanges(object sender, EventArgs args) { using (var HttpConnector = new HttpApiConnector().GetClient()) { var PendingSend = Newtonsoft.Json.JsonConvert.SerializeObject(User); var Buffer = Encoding.UTF8.GetBytes(PendingSend); var byteContent = new ByteArrayContent(Buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); HttpConnector.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Application.Current.Properties["token"].ToString()); var response = await HttpConnector.PutAsync(Constants.ConnectionApiUriUser, byteContent); if (response.IsSuccessStatusCode) { var Stream = await response.Content.ReadAsByteArrayAsync(); Boolean responseResult = bool.Parse(Encoding.UTF8.GetString(Stream)); if (responseResult) { await DisplayAlert("Sukces", $"Wszystkie zmiany zostały zapisane", "Ok"); } else { await DisplayAlert("Error", "Nie udalo sie wprowadzic zmian", "Ok"); } } else { await DisplayAlert("Error", "Nie mozna nawiazac polaczenia. Haslo nie zostało zmienione", "Ok"); } } }
private async void RemoveReservation(object sender, EventArgs e) { var ReservationToRemove = (sender as MenuItem).CommandParameter as RezerwacjaModel; using (var HttpApiConnector = new HttpApiConnector().GetClient()) { var Content = JsonConvert.SerializeObject(ReservationToRemove); var ByteContent = Encoding.UTF8.GetBytes(Content); var ByteArrayConent = new ByteArrayContent(ByteContent); ByteArrayConent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); HttpApiConnector.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Application.Current.Properties["token"].ToString()); var request = new HttpRequestMessage { Method = HttpMethod.Delete, RequestUri = new Uri(Constants.ConnectionApiUriRezerwacja + ReservationToRemove.ObjectId), Content = ByteArrayConent }; var response = await HttpApiConnector.SendAsync(request); if (response.IsSuccessStatusCode) { FutureReservations.Remove(ReservationToRemove); } } }
public static async Task DownloadUser() { try { using (var HttpConnector = new HttpApiConnector().GetClient()) { HttpConnector.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Application.Current.Properties["token"].ToString()); var response = await HttpConnector.GetAsync(Constants.ConnectionApiUriUser + "auth/"); if (response.IsSuccessStatusCode) { var Context = await response.Content.ReadAsStringAsync(); User = Newtonsoft.Json.JsonConvert.DeserializeObject <UserModel>(Context); } else { throw new Exception(); } } } catch (Exception err) { } }
private async void ChnagePasswordClicked(object sender, EventArgs e) { Loader.IsRunning = true; string result = await DisplayPromptAsync("Step 1", "Wprowadz swoje haslo"); var IsValid = await CheckPasswordIsValid(new UserModel() { Mail = User.Mail, Password = UserModel.EncryotPw(result) }); if (!IsValid) { await DisplayAlert("Blad", "Wprowadzone haslo jest nie prawidlowe", "Ok"); return; } var NewPassword = await GetNewPassword(); using (var HttpConnector = new HttpApiConnector().GetClient()) { User.Password = UserModel.EncryotPw(NewPassword); var PendingSend = Newtonsoft.Json.JsonConvert.SerializeObject(User); var Buffer = Encoding.UTF8.GetBytes(PendingSend); var byteContent = new ByteArrayContent(Buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); HttpConnector.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Application.Current.Properties["token"].ToString()); var response = await HttpConnector.PutAsync(Constants.ConnectionApiUriUser, byteContent); if (response.IsSuccessStatusCode) { var Stream = await response.Content.ReadAsByteArrayAsync(); Boolean responseResult = bool.Parse(Encoding.UTF8.GetString(Stream)); if (responseResult) { await DisplayAlert("Sukces", $"Haslo konta {User.Mail} zostało zmienione", "Ok"); } else { await DisplayAlert("Error", "Nie udalo sie zmienic hasla", "Ok"); } } else { await DisplayAlert("Error", "Nie mozna nawiazac polaczenia. Haslo nie zostało zmienione", "Ok"); } } Loader.IsRunning = false; }
public async void SetUpPickerForRestaurant() { using (var HttpConnector = new HttpApiConnector().GetClient()) { var result = await HttpConnector.GetAsync(Constants.ConnectionApiUriRestauracja); if (result.IsSuccessStatusCode) { var Content = await result.Content.ReadAsStringAsync(); _restaurants = JsonConvert.DeserializeObject <List <RestauracjaModel> >(Content); Restauracja.ItemsSource = _restaurants.Select(x => x.KodRestauracji).ToList(); } } }
private async Task <Boolean> LoginToApplication() { var login = loginEntry.Text; var pw = passwordEntry.Text; User = new UserModel() { Mail = login, Password = UserModel.EncryotPw(pw) }; var PendingSend = Newtonsoft.Json.JsonConvert.SerializeObject(User); using (var HtttpClientConnector = new HttpApiConnector().GetClient()) { var Buffer = Encoding.UTF8.GetBytes(PendingSend); var byteContent = new ByteArrayContent(Buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var response = await HtttpClientConnector.PostAsync(Constants.ConnectionApiUriUser + "login/", byteContent); if (!response.IsSuccessStatusCode) { await DisplayAlert("Błąd", "Wprowadzono nie prawidłowe dane logowania", "OK"); return(false); } else { var token = await response.Content.ReadAsStringAsync(); if (Application.Current.Properties.ContainsKey("token")) { Application.Current.Properties["token"] = token; } else { Application.Current.Properties.Add("token", token); } if (Zapamietaj.IsChecked) { await Application.Current.SavePropertiesAsync(); } await Main.DownloadUser(); User = Main.User; return(true); } } }
private async void ActivateByTableCode(string result) { await DisplayAlert("Read rsponse ", $"{result}", "Ok"); if (result.Contains('.')) { var Restaurant = result.Split('.')[0]; var Table = result.Split('.')[1]; if (_rezerwacja.Stolik.KodRestauracji != Restaurant) { await DisplayAlert("Błąd", "Rezerwacja dotyczy innej restauracji", "Ok"); return; } if (_rezerwacja.Stolik.NumerStolika != Int32.Parse(Table)) { await DisplayAlert("Błąd", "Rezerwacja dotyczy innego stolika", "Ok"); return; } _rezerwacja.Status = "Active"; using (var HttpApiConnector = new HttpApiConnector().GetClient()) { var Content = JsonConvert.SerializeObject(_rezerwacja); var bytes = Encoding.UTF8.GetBytes(Content); var byteContent = new ByteArrayContent(bytes); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); HttpApiConnector.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Application.Current.Properties["token"].ToString()); var response = await HttpApiConnector.PutAsync(Constants.ConnectionApiUriRezerwacja, byteContent); if (response.IsSuccessStatusCode) { ActivationButton.IsEnabled = false; ActivationButton.Text = "Aktywna"; ActivationButton.BackgroundColor = Color.FromHex("#66ff66"); ActivationButton.TextColor = Color.FromHex("#074a07"); } } } }
private async void DownlaodUserReservations() { var TempList = new List <RezerwacjaModel>(); using (var HttpApiConnector = new HttpApiConnector().GetClient()) { var UserMail = Main.User.Mail; var response = await HttpApiConnector.GetAsync(Constants.ConnectionApiUriRezerwacja + UserMail); if (response.IsSuccessStatusCode) { TempList = JsonConvert.DeserializeObject <List <RezerwacjaModel> >(await response.Content.ReadAsStringAsync()); FutureReservations = new ObservableCollection <RezerwacjaModel>(TempList.Where(x => (DateTime.Compare(x.KoniecRezerwacji, DateTime.Now.AddMinutes(5.0F)) > 0 && x.Status == "Planned") || x.Status == "Active").ToList()); PastReservations = TempList.Where(x => DateTime.Compare(x.KoniecRezerwacji, DateTime.Now) < 0).ToList(); if (FutureReservations.Any()) { _rezerwacja = FutureReservations.OrderBy(x => x.StartRezerwacji).First(); FutureReservations.Remove(_rezerwacja); RezerwacjaLayout.BindingContext = _rezerwacja; ReservationItemList.ItemsSource = FutureReservations; if (_rezerwacja.Status == "Planned") { var da = DateTime.Now; var daw = _rezerwacja.StartRezerwacji.AddMinutes(-5.0F); ActivationButton.IsEnabled = da >= daw; } else if (_rezerwacja.Status == "Active") { ActivationButton.Text = "Aktywna"; ActivationButton.IsEnabled = false; } } else { ActivationButton.IsEnabled = false; } } } }
private async Task <Boolean> CheckPasswordIsValid(UserModel userModel) { var PendingSend = Newtonsoft.Json.JsonConvert.SerializeObject(userModel); using (var HtttpClientConnector = new HttpApiConnector().GetClient()) { var Buffer = Encoding.UTF8.GetBytes(PendingSend); var byteContent = new ByteArrayContent(Buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var response = await HtttpClientConnector.PostAsync(Constants.ConnectionApiUriUser + "login/", byteContent); if (!response.IsSuccessStatusCode) { return(false); } else { return(true); } } }
private async Task <bool> CheckIfReservationCanBeDone(RezerwacjaModel Rezerwacja) { using (var HttpConnector = new HttpApiConnector().GetClient()) { var content = JsonConvert.SerializeObject(Rezerwacja); var Buffer = Encoding.UTF8.GetBytes(content); var byteContent = new ByteArrayContent(Buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var response = await HttpConnector.PostAsync(Constants.ConnectionApiUriRezerwacja + "Check/", byteContent); if (response.IsSuccessStatusCode) { return(true); } else { return(false); } } }
async Task SetUpAllDrinks() { try { using (var HttpClient = new HttpApiConnector().GetClient()) { var response = await HttpClient.GetAsync(Constants.ConnectionApiUriNapoj); if (response.IsSuccessStatusCode) { string Content = await response.Content.ReadAsStringAsync(); var tempList = JsonConvert.DeserializeObject <List <NapojModel> >(Content); _Drinks = new ObservableCollection <NapojModel>(tempList); } } } catch (Exception err) { await DisplayAlert("Error", "Connection refused!", "Ok"); } }
private async Task <int> DownloadArticlesToList(int v) // Liczva ostatnio pobranych { var InfTemp = new List <ArticleModel>(); try { using (var HttpClient = new HttpApiConnector().GetClient()) { var response = await HttpClient.GetAsync(Constants.ConnectionApiUriArtykul + v); if (response.IsSuccessStatusCode) { string Content = await response.Content.ReadAsStringAsync(); InfTemp = JsonConvert.DeserializeObject <List <ArticleModel> >(Content); } } } catch (Exception err) { await DisplayAlert("Error", "Connection refused!", "Ok"); return(0); } finally { for (int i = 0; i < (InfTemp.Count / 2); i++) { NewsGrid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(200, GridUnitType.Absolute) }); } LoadedArticles.AddRange(InfTemp); ActivityIndicator.IsRunning = false; ActivityIndicator.IsVisible = false; } return(InfTemp.Count); }
private async Task <Boolean> SendReservation(RezerwacjaModel Rezerwacja) { using (var HttpConnector = new HttpApiConnector().GetClient()) { var content = JsonConvert.SerializeObject(Rezerwacja); var Buffer = Encoding.UTF8.GetBytes(content); var byteContent = new ByteArrayContent(Buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); HttpConnector.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Application.Current.Properties["token"].ToString()); var response = await HttpConnector.PostAsync(Constants.ConnectionApiUriRezerwacja, byteContent); if (response.IsSuccessStatusCode) { return(true); } else { return(false); } } }
private async Task <RestauracjaModel> DownlaodRestaurnatOnReservationCode(RezerwacjaModel rezerwacja) { RestauracjaModel tempRestaurantModel = null; try { using (var HttpConnector = new HttpApiConnector().GetClient()) { var result = await HttpConnector.GetAsync(Constants.ConnectionApiUriRestauracja); if (result.IsSuccessStatusCode) { var Content = await result.Content.ReadAsStringAsync(); tempRestaurantModel = JsonConvert.DeserializeObject <List <RestauracjaModel> >(Content).ToList().First(x => x.KodRestauracji == rezerwacja.Stolik.KodRestauracji); } } } catch (Exception er) { await DisplayAlert("Błąd", "Nie mozna pobrac miejsca docelowego", "Ok"); } return(tempRestaurantModel); }
private async void RegisterUser(object sender, EventArgs e) { var User = CreateUserFromParams(MailEntry.Text, PasswordEntry.Text, IsAgreedTermsOfUse.IsChecked, NameEntry.Text, SubNameEntry.Text); if (User == null) { return; } var PendingSend = JsonConvert.SerializeObject(User); try { using (var HttpClient = new HttpApiConnector().GetClient()) { var Buffer = Encoding.UTF8.GetBytes(PendingSend); var byteContent = new ByteArrayContent(Buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var response = await HttpClient.PostAsync(Constants.ConnectionApiUriUser, byteContent); if (response.IsSuccessStatusCode) { this.ParentPage.CurrentPage = this.ParentPage.Children[0]; await DisplayAlert("Sukces", "Możesz sie zalogować za pomocą wprowadzonych danych", "OK"); } else { await DisplayAlert("Wystąpił błąd...", "Uzytkownik nie moze zostac dodany, ponieważ inne konto zostało zarejestrowane pod tym adresem", "OK"); } } } catch (Exception err) { await DisplayAlert("Wystąpił błąd...", err.StackTrace, "OK"); } }
private async void DeleteUserAccount(object sender, EventArgs e) { using (var HtttpClientConnector = new HttpApiConnector().GetClient()) { var PendingSend = Newtonsoft.Json.JsonConvert.SerializeObject(Main.User); var Buffer = Encoding.UTF8.GetBytes(PendingSend); var byteContent = new ByteArrayContent(Buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); HtttpClientConnector.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Application.Current.Properties["token"].ToString()); var request = new HttpRequestMessage { Method = HttpMethod.Delete, RequestUri = new Uri(Constants.ConnectionApiUriUser), Content = byteContent, }; var response = await HtttpClientConnector.SendAsync(request); if (response.IsSuccessStatusCode) { await DisplayAlert("Sukces", "Udalo sie usunac konto", "Ok"); } } Logout_Clicked(null, null); }
private async void Button_Clicked(object sender, EventArgs e) { LoaderIndicator.IsRunning = true; LoaderIndicator.IsVisible = true; try { var KomentObject = new KomentarzModel() { ArtukulID = artyukul.ObjectId, Tresc = Komentarz.Text, Autor = Main.User.Mail, Data = DateTime.Now }; if (!Application.Current.Properties.ContainsKey("token")) { await DisplayAlert("Ooops", "Musisz być zalogowany aby dodać komentarz", "OK"); return; } if (String.IsNullOrEmpty(KomentObject.Tresc)) { await DisplayAlert("Ooops", "Nie mozesz dodac pustego komentarza", "OK"); return; } var PendingContext = JsonConvert.SerializeObject(KomentObject); using (var HttpConnector = new HttpApiConnector().GetClient()) { var Buffer = Encoding.UTF8.GetBytes(PendingContext); var byteContent = new ByteArrayContent(Buffer); byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); HttpConnector.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", Application.Current.Properties["token"].ToString()); var response = await HttpConnector.PostAsync(Constants.ConnectionApiUriArtykul + "komentarz/", byteContent); if (response.IsSuccessStatusCode) { await DisplayAlert("Sukcess", "Dodano komentarz do artykulu", "Ok"); _comments.Insert(0, KomentObject); //this.CommentsGrid.RowDefinitions.Add(new RowDefinition() { Height = 60 }); ////this.CommentsGrid.Children.Add(new Frame() { Content = new Label() { Text = KomentObject.Tresc } }, 0, this.CommentsGrid.Children.Count); //this.CommentsGrid.Children.Add(new CommentView() { BindingContext = KomentObject }, 0, this.CommentsGrid.Children.Count); this.Komentarz.Text = String.Empty; } else { await DisplayAlert("Error", "Blad dodania komentarza", "Ok"); } } } catch (Exception err) { await DisplayAlert("Error", "Błąd podaczas dodawanie komentarza", "Ok"); } finally { LoaderIndicator.IsRunning = false; LoaderIndicator.IsVisible = false; } }