public void AddReservation(Model.Reservation reservationData) { if (!CheckPersonalDataExist(reservationData.User.UserId)) { view.ShowMessage("Błąd. Uzupełnij swoje dane osobiste!"); return; } var temp = model.Reservations .Where(m => m.Car.CarId == reservationData.Car.CarId) .Where(f => (f.DateFrom >= reservationData.DateFrom && f.DateFrom <= reservationData.DateTo) || (f.DateTo >= reservationData.DateFrom && f.DateTo <= reservationData.DateTo)) .FirstOrDefault(); if (temp == null) { TimeSpan diff = reservationData.DateTo - reservationData.DateFrom; double timeDiffDouble = Math.Abs(diff.TotalDays); timeDiffDouble = Math.Round(timeDiffDouble, MidpointRounding.AwayFromZero); if (timeDiffDouble < 1) { timeDiffDouble = 1; } decimal cost = (int)timeDiffDouble * reservationData.Car.CarDayPrince; reservationData.Cost = cost; model.Reservations.Add(reservationData); model.SaveChanges(); view.ShowMessage("Samochód zarezerwowany pomyślnie."); return; } view.ShowMessage("Błąd. Wybrany termin koliduje z inną rezerwacją."); }
private void addBtnClicked(object sender, RoutedEventArgs e) { if (!ValidateFields()) { return; } Debug.WriteLine("Po ifie"); Model.Reservation tempReservation = new Model.Reservation() { DateFrom = (DateTime)dateFrom.Value, DateTo = (DateTime)dateTo.Value, Comments = Comments.Text.ToString(), Status = Model.ReservationStatus.Verification, Car = staffMenu.ObservableCar[CarCombo.SelectedIndex], User = staffMenu.ObservableUsers[UserCombo.SelectedIndex] }; Debug.WriteLine("Po tworzeniu obiektu"); reservationList.SelectedIndex = -1; Debug.WriteLine("po zmianie indeksu"); MyController.manageReservation.AddReservation(tempReservation); Debug.WriteLine("Po dodaniu"); staffMenu.updateReservationList(); Debug.WriteLine("Po aktualizacji"); reservationList.Items.Refresh(); reservationList.ItemsSource = staffMenu.ObservableReservations; Debug.WriteLine("Po refresh"); }
private void recent_reservation_Lv_MouseDoubleClick(object sender, MouseButtonEventArgs e) { ListView Item = (ListView)sender; Model.Reservation reservation = (Model.Reservation)Item.SelectedItem; this.NavigationService.Navigate(new ReservationDetailPage(reservation)); }
public void ShowReservationManager(Model.Reservation reservation) { var users = MyController.manageUser.GetUserList(); var reservationManagerWindow = new ReservationManageWindow(null, reservation, users, cars, MyController); reservationManagerWindow.OnRemove = (reservationId) => { Application.MainLoop.Invoke(() => { MyController.manageReservation.DeleteReservation(reservationId); }); }; reservationManagerWindow.OnSave = (editData) => { Application.MainLoop.Invoke(() => { MyController.manageReservation.SaveReservation(editData.reservationData, editData.reservationId); }); }; reservationManagerWindow.OnBack = () => { Application.RequestStop(); Application.Top.Remove(reservationManagerWindow); ShowReservationList(); }; Top = Application.Top; Top.Add(reservationManagerWindow); Application.Run(Top); }
private void reservationsGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e) { DataGrid Item = (DataGrid)sender; Model.Reservation reservation = (Model.Reservation)Item.SelectedItem; this.NavigationService.Navigate(new ReservationDetailPage(reservation)); }
private void deleteBtnclicked(object sender, RoutedEventArgs e) { if (reservationList.SelectedIndex > 0) { Model.Reservation reservationItem = staffMenu.ObservableReservations[reservationList.SelectedIndex]; staffMenu.ObservableReservations.Remove(reservationItem); MyController.manageReservation.DeleteReservation(reservationItem.ReservationId); } }
public ReservationDetailPage(Model.Reservation reservation) { InitializeComponent(); this.reservation = reservation; this.KeepAlive = true; InitUIBuilders(); InitUIElements(); setController(new ReservationController(this)); UpdateStatusGrid(); }
private void saveBtnClicked(object sender, RoutedEventArgs e) { if (!ValidateFields()) { return; } Model.Reservation tempReservation = staffMenu.ObservableReservations[reservationList.SelectedIndex]; reservationList.SelectedIndex = -1; MyController.manageReservation.SaveReservation(tempReservation, tempReservation.ReservationId); staffMenu.updateReservationList(); reservationList.Items.Refresh(); }
private void reserveBtnClicked(object sender, RoutedEventArgs e) { if (!ValidateFields()) { return; } Model.Reservation tempReservation = new Model.Reservation() { DateFrom = (DateTime)dateFrom.Value, DateTo = (DateTime)dateTo.Value, Comments = Comments.Text, Car = userMenu.ObservableCar[CarCombo.SelectedIndex], User = userMenu.WindowManager.user, Status = Model.ReservationStatus.Verification, }; MyController.manageReservation.AddReservation(tempReservation); }
public void SaveReservation(Model.Reservation reservationData, int editReservationId) { var temp = model.Reservations .Where(m => m.Car.CarId == reservationData.Car.CarId) .Where(m => m.ReservationId != editReservationId) .Where(f => (f.DateFrom >= reservationData.DateFrom && f.DateFrom <= reservationData.DateTo) || (f.DateTo >= reservationData.DateFrom && f.DateTo <= reservationData.DateTo)) .FirstOrDefault(); if (temp == null) { TimeSpan diff = reservationData.DateTo - reservationData.DateFrom; double timeDiffDouble = Math.Abs(diff.TotalDays); timeDiffDouble = Math.Round(timeDiffDouble, MidpointRounding.AwayFromZero); if (timeDiffDouble < 1) { timeDiffDouble = 1; } decimal cost = (int)timeDiffDouble * reservationData.Car.CarDayPrince; if (editReservationId == -1) { reservationData.Cost = cost; model.Reservations.Add(reservationData); model.SaveChanges(); view.ShowMessage("Samochód zarezerwowany pomyślnie."); return; } else { var tempReservation = model.Reservations.Where(r => r.ReservationId == editReservationId).FirstOrDefault(); tempReservation.DateFrom = reservationData.DateFrom; tempReservation.DateTo = reservationData.DateTo; tempReservation.Car = reservationData.Car; tempReservation.Comments = reservationData.Comments; tempReservation.Cost = cost; tempReservation.User = reservationData.User; view.ShowMessage("Rezerwacja zmieniona pomyślnie."); model.SaveChanges(); return; } view.ShowMessage("Nie udało się dodać rezerwacji."); return; } view.ShowMessage("Błąd. Wybrany termin koliduje z inną rezerwacją."); }
public async void UpdateStatusReservation(string id, string status, string description) { var client = new ApiClient(API.URL); var requestBuilder = new ApiRequestBuilder(); var request = requestBuilder .buildHttpRequest() .addParameters("status", status) .addParameters("description", description) .setEndpoint(API.reservationId.Replace("{Id}", id)) .setRequestMethod(HttpMethod.Put); client.setAuthorizationToken(File.ReadAllText("jwt.txt")); Console.WriteLine(request.getApiRequestBundle().getHeaders().convertToJSON()); var response = await client.sendRequest(request.getApiRequestBundle()); string json = response.getJObject()["reservation"].ToString(); Model.Reservation updatedReservation = JsonConvert.DeserializeObject <Model.Reservation>(json); MessageBox.Show(response.getJObject()["message"].ToString(), "Success", MessageBoxButton.OK, MessageBoxImage.Information); getView().callMethod("GetUpdatedReservation", updatedReservation); }
public bool InsertReservation(Model.Reservation r) { using (PersonServiceClient proxy = new PersonServiceClient()) { Reservation res = new Reservation(); res.ReservationId = r.ReservationId; res.MovieId = r.MovieId; res.CustomerId = r.CustomerId; res.Seats = new List <Seat>(); foreach (Model.Seat s in r.Seats) { Seat seat = new Seat(); seat.HallId = s.HallId; seat.Number = s.Number; seat.ResId = s.ResId; seat.Row = s.Row; seat.SeatId = s.SeatId; res.Seats.Add(seat); } return(proxy.InsertReservation(res)); } }
private void InitControls() { #region Fields var userSecionLabel = new Label(1, 1, "Rezerwacja:"); Add(userSecionLabel); var dateFromLabel = new Label("Data od:") { X = Pos.Left(userSecionLabel), Y = Pos.Top(userSecionLabel) + 1, }; Add(dateFromLabel); var fromTime = new TimeField() { X = Pos.Left(dateFromLabel), Y = Pos.Top(dateFromLabel) + 1, }; Add(fromTime); var fromDate = new DateField() { X = Pos.Right(fromTime) + 5, Y = Pos.Top(fromTime), }; Add(fromDate); var dateToLabel = new Label("Data do:") { X = Pos.Left(fromTime), Y = Pos.Top(fromTime) + 1, }; Add(dateToLabel); var toTime = new TimeField() { X = Pos.Left(dateToLabel), Y = Pos.Top(dateToLabel) + 1, }; Add(toTime); var toDate = new DateField() { X = Pos.Right(toTime) + 5, Y = Pos.Top(toTime), }; Add(toDate); var commentsLabel = new Label("Uwagi:") { X = Pos.Left(toTime), Y = Pos.Top(toTime) + 1, }; Add(commentsLabel); var commentsText = new TextField("") { X = Pos.Left(commentsLabel), Y = Pos.Top(commentsLabel) + 1, Width = Dim.Fill() }; Add(commentsText); var carLabel = new Label("Samochód:") { X = Pos.Left(commentsText), Y = Pos.Top(commentsText) + 1, }; Add(carLabel); var carList = new ListView() { X = Pos.Left(carLabel), Y = Pos.Top(carLabel) + 1, Width = Dim.Fill(), Height = 5 }; carList.SetSource(cars); Add(carList); var datewLabel = new Label("Zajęte terminy:") { X = Pos.Left(carList), Y = Pos.Top(carList) + 6, }; Add(datewLabel); var dateList = new ListView() { X = Pos.Left(datewLabel), Y = Pos.Top(datewLabel) + 1, Width = Dim.Fill(), Height = Dim.Fill() - 5, }; Add(dateList); #endregion #region Button var saveButton = new Button("Rezerwuj", true) { X = Pos.Center() - 20, Y = Pos.Percent(100) - 2, }; Add(saveButton); var backButton = new Button("Anuluj") { X = Pos.Center() + 5, Y = Pos.Top(saveButton) }; Add(backButton); #endregion carList.SelectedItemChanged += (a) => { dateList.SetSource(controller.manageReservation.GetCarReservationDates(cars[carList.SelectedItem].CarId)); }; #region Set Data if (selectedCar != null) { carList.SelectedItem = cars.FindIndex(c => c.CarId == selectedCar.CarId); } #endregion fromTime.Time = DateTime.Now.TimeOfDay; fromDate.Date = DateTime.Now; toTime.Time = DateTime.Now.TimeOfDay; toDate.Date = DateTime.Now.AddDays(3); #region bind-button-events saveButton.Clicked += () => { if (string.IsNullOrEmpty(commentsText.Text.ToString())) { MessageBox.ErrorQuery(25, 8, "Błąd", "Pole uwagi nie może być puste.", "Ok"); return; } var dateFrom = fromDate.Date.Date + fromTime.Time; var dateTo = toDate.Date.Date + toTime.Time; if (dateFrom > dateTo) { MessageBox.ErrorQuery(25, 8, "Błąd", "Data rozpoczęcia musi być mniejsza niż data zakończenia.", "Ok"); return; } if (dateFrom < DateTime.Now) { MessageBox.ErrorQuery(25, 8, "Błąd", "Data rozpoczęcia musi być większa od obecnej daty.", "Ok"); return; } Model.Reservation newReservationData = new Model.Reservation() { DateFrom = dateFrom, DateTo = dateTo, Comments = commentsText.Text.ToString(), Status = (int)Model.ReservationStatus.Verification, User = user, Car = cars[carList.SelectedItem] }; OnSave?.Invoke(newReservationData); }; backButton.Clicked += () => { OnBack?.Invoke(); Close(); }; #endregion }
public void GetUpdatedReservation(Model.Reservation reservation) { this.reservation = reservation; UpdateStatusGrid(); }