private void LoginUser(object sender, RoutedEventArgs e) { string _username = username.Text; string _password = password.Password; string _userRealName = userRealName.Text; username.BorderBrush = (SolidColorBrush)(new BrushConverter()).ConvertFrom("#FFCDEACE"); password.BorderBrush = (SolidColorBrush)(new BrushConverter()).ConvertFrom("#FFCDEACE"); userRealName.BorderBrush = (SolidColorBrush)(new BrushConverter()).ConvertFrom("#FFCDEACE"); bool usernameMatch = usernameRegex.IsMatch(_username); bool passwordMatch = passwordRegex.IsMatch(_password); bool userRealNameMatch = userRealNameRegex.IsMatch(_userRealName); if (!usernameMatch) { username.BorderBrush = Brushes.Red; } if (!passwordMatch) { password.BorderBrush = Brushes.Red; } if (!userRealNameMatch) { userRealName.BorderBrush = Brushes.Red; } if (usernameMatch && passwordMatch && userRealNameMatch) { List <Users> alreadyUsers = new List <Users>(); using (DeliciousEntities context = new DeliciousEntities()) { alreadyUsers = context.Users.Where(user => user.Username == _username && user.Password == _password).ToList(); } if (alreadyUsers.Count != 0) { MessageBox.Show("Пользователь с таким логином и паролем уже есть."); } else { Users newUser = new Users() { Username = _username, Password = _password, Name = _userRealName }; using (DeliciousEntities context = new DeliciousEntities()) { context.Users.Add(newUser); context.SaveChanges(); } MainWindow mainWindow = new MainWindow(newUser); mainWindow.Show(); LoginWindow.Close(); } } }
private void BookClick(object sender, RoutedEventArgs e) { DateTime?selectedDate = calendar.Value; if (selectedDate != null) { // дата на которую забронирован столик в нужном формате (без минут) string bookDateTime = selectedDate.Value.ToString("dd-MM-yyyy HH:00", CultureInfo.CurrentCulture); Orders newOrder = new Orders() { UserId = ParentWindow.CurrentUser.Id, RestaurantPlaceId = Place.Id, BookDate = bookDateTime }; using (DeliciousEntities context = new DeliciousEntities()) { // добавляем новый заказ в бд context.Orders.Add(newOrder); // уменьшаем кол-во свободных столиков конкретного типа в этом ресторане context.RestaurantsPlaces.Where(place => place.Id == Place.Id).FirstOrDefault().CurrentPlaceCount = Place.CurrentPlaceCount - 1; context.SaveChanges(); } List <BookingControl> restNewBookings = new List <BookingControl>(); using (DeliciousEntities context = new DeliciousEntities()) { // формируем новый список мест конкретно этого ресторана List <RestaurantsPlaces> restPlaces = context.RestaurantsPlaces.Where(places => places.RestaurantId == RestaurantPage.Restaurant.Id).ToList(); // Очищаем список с вариантами брони //RestaurantPage.BookingControls.Clear(); // заполняем список брони элементами управления foreach (RestaurantsPlaces place in restPlaces) { restNewBookings.Add(new BookingControl(place, ParentWindow, RestaurantPage)); } } // Выводим новый список RestaurantPage.placesContainer.ItemsSource = restNewBookings; MessageBox.Show("Бронь прошла успешно!"); this.Close(); } else { MessageBox.Show("Выберите дату."); return; } }
private void CancelBook(object sender, RoutedEventArgs e) { // получаем ресторан этого заказа Restaurants orederRestaurant = Order.RestaurantsPlaces.Restaurants; using (DeliciousEntities context = new DeliciousEntities()) { // удаляем заказ // если объекта не существует локально if (!context.Orders.Local.Contains(Order)) { // тогда взять его копию локально context.Orders.Attach(Order); } // удалить объект context.Orders.Remove(Order); // увеличиваем кол-во свободных мест в ресторане context.RestaurantsPlaces.Where(place => place.Id == Order.RestaurantPlaceId).FirstOrDefault().CurrentPlaceCount += 1; context.SaveChanges(); } List <OrderControl> NewOrders = new List <OrderControl>(); using (DeliciousEntities context = new DeliciousEntities()) { // формируем новый список мест конкретно этого ресторана List <Orders> newOrders = context.Orders.Where(order => order.UserId == ParentWindow.CurrentUser.Id).ToList(); // заполняем список брони элементами управления foreach (Orders order in newOrders) { NewOrders.Add(new OrderControl(order, ParentWindow, UserPage)); } } // Выводим новый список UserPage.ordersContainer.ItemsSource = NewOrders; }