private async void Button_Clicked(object sender, EventArgs e) { var StartRezerwacji = Start; var KoniecRezerwacji = Start.AddMinutes(Double.Parse(IntervalPicker.SelectedItem.ToString())); var SelectedTable = stoliks.First(x => x.NumerStolika == Int32.Parse(Stolik.SelectedItem.ToString())); var UserMail = Main.User.Mail; var Rezerwacja = new RezerwacjaModel() { StartRezerwacji = StartRezerwacji, KoniecRezerwacji = KoniecRezerwacji, Stolik = SelectedTable, User = Main.User.Mail, Status = "Planned" }; if (await CheckIfReservationCanBeDone(Rezerwacja)) { if (await SendReservation(Rezerwacja)) { await DisplayAlert("Sukces", "Rezerwacja została dodana", "Ok"); rezerwacja = Rezerwacja; await Navigation.PopModalAsync(true); } } else { await DisplayAlert("Error", "Wprowadzone termin jest zajety dla wybranego stolika", "Ok"); } }
public async Task <IActionResult> Edit(int id, [Bind("RezerwacjaID,KomputerID,UzytkownikID,DataRozpoczecia,DataZakonczenia,DataPrzedluzona")] RezerwacjaModel rezerwacjaModel) { if (id != rezerwacjaModel.RezerwacjaID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(rezerwacjaModel); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!RezerwacjaModelExists(rezerwacjaModel.RezerwacjaID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(rezerwacjaModel)); }
public async Task <ActionResult <RezerwacjaModel> > DodajRezerwacje([FromBody] RezerwacjaModel Rezerwacja) { if (await DBConnector.DodajRezerwacje(Rezerwacja)) { return(Ok(Rezerwacja)); } return(BadRequest(null)); }
public async Task <ActionResult <Boolean> > CheckRezerwacja([FromBody] RezerwacjaModel Rezerwacja) { if (await DBConnector.SprawdzCzyTerminDostepny(Rezerwacja)) { return(BadRequest()); } return(Ok()); }
internal async static Task <Boolean> SprawdzCzyTerminDostepny(RezerwacjaModel rezerwacja) { var MongoDBKlient = dbClient.GetDatabase(DBName); var RezerwacjeCollection = MongoDBKlient.GetCollection <RezerwacjaModel>("Rezerwacje"); var result = (await RezerwacjeCollection.FindAsync <RezerwacjaModel>(x => true)).ToList(); var reserved = result.Where(x => x.Stolik.KodRestauracji == rezerwacja.Stolik.KodRestauracji && x.Stolik.KodRestauracji == rezerwacja.Stolik.KodRestauracji && x.StartRezerwacji <= rezerwacja.StartRezerwacji && x.KoniecRezerwacji >= rezerwacja.StartRezerwacji && x.Status != "Expired"); return(reserved.Any()); }
public async Task <ActionResult <RezerwacjaModel> > Put([FromBody] RezerwacjaModel Rezerwacja) { var tempRezerwacja = (await DBConnector.PobierzRezerwacjeUzytkownika(Rezerwacja.User)).First(x => x.ObjectId == Rezerwacja.ObjectId); if (tempRezerwacja != null && tempRezerwacja.Status == "Planned") { if (await DBConnector.EdytujRezerwacje(Rezerwacja)) { return(Ok(Rezerwacja)); } } return(BadRequest(null)); }
internal async static Task <bool> EdytujRezerwacje(RezerwacjaModel rezerwacja) { try { var MongoDBKlient = dbClient.GetDatabase(DBName); var RezerwacjeCollection = MongoDBKlient.GetCollection <RezerwacjaModel>("Rezerwacje"); await RezerwacjeCollection.FindOneAndReplaceAsync(x => x.ObjectId == rezerwacja.ObjectId, rezerwacja); return(true); } catch (Exception err) { } return(false); }
internal async static Task <bool> DodajRezerwacje(RezerwacjaModel rezerwacja) { try { var MongoDBKlient = dbClient.GetDatabase(DBName); var RezerwacjeCollection = MongoDBKlient.GetCollection <RezerwacjaModel>("Rezerwacje"); await RezerwacjeCollection.InsertOneAsync(rezerwacja); return(true); } catch (Exception err) { } return(false); }
public async Task <IActionResult> Create([Bind("RezerwacjaID,KomputerID,UzytkownikID,DataRozpoczecia,DataZakonczenia,DataPrzedluzona")] RezerwacjaModel rezerwacjaModel) { if (ModelState.IsValid) { var komputery = await _context.KomputerModel.ToListAsync(); if (komputery.Any(x => x.KomputerID == rezerwacjaModel.KomputerID)) { _context.Add(rezerwacjaModel); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } else { ViewBag.Message = "Podane id komputera nie istnieje"; } } return(View(rezerwacjaModel)); }
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); } } }
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); }