private void ButtonForward_Click(object sender, RoutedEventArgs e) { String phone = TextBoxPhone.Text; DateTime?date = DatePickerDeteBirth.SelectedDate; var errors = new StringBuilder(); if (!Regex.IsMatch(phone, Constants.PHONE_REGEX)) { errors.AppendLine("Телефон не соответствует маске \"+7ХХХХХХХХХХ\" или \"8ХХХХХХХХХХ\""); } if (date == null) { errors.AppendLine("Вы не ввели дату рождения!"); } if (String.IsNullOrEmpty(this._gender)) { errors.AppendLine("Вы не выбрали пол!"); } if ( this._newUser.id == 0 && FlowersSaleEntities.GetContext() .Users.ToList() .Where(v => v.login.Equals(this._newUser.login)).Count() != 0 ) { errors.AppendLine($"Пользователь с логином {this._newUser.login} уже существует в системе!"); } if (errors.Length != 0) { MessageShow.Error(errors.ToString()); return; } if (!MessageShow.Question("Вы точно хотите создать пользователя?")) { return; } this._newUser.phone = phone; this._newUser.date_of_birth = (DateTime)date; this._newUser.gender = this._gender; // Сохранение пользователя if (this._newUser.id == 0) { FlowersSaleEntities.GetContext().Users.Add(this._newUser); } try { this._newUser.roll = Roll.User.ToString(); FlowersSaleEntities.GetContext().SaveChanges(); FlowersSaleEntities.GetContext().Reload(); MessageShow.Success($"Пользователь \"{this._newUser.login}\" был успешно создан!"); } catch { MessageShow.Error("Произошла ошибка сохранения!"); } // Переход на другую страницу FrameManager.AuthFrame.Navigate(new RegistrationContent4(this._newUser)); }
/// <summary> /// Обработчик изменения количества товара /// </summary> private void TextBoxCount_TextChanged(object sender, TextChangedEventArgs e) { var textBox = sender as TextBox; var product = textBox.DataContext as Items; var buttonBasketAdd = UIHelper.GetNearestObject <Button>(sender as DependencyObject, "ButtonBasketAdd"); var number = int.Parse(String.IsNullOrWhiteSpace(textBox.Text) ? "0" : int.Parse(textBox.Text).ToString()); ItemsOrder itemsOrder = null; if (product != null) { itemsOrder = ItemsOrderManager.Context.ItemsOrders.FirstOrDefault(v => v.Items.id == product.id); } if (number == 0 && itemsOrder != null) { // Сделать проверку на необходимость удаления, затем удалить if (MessageShow.Question("Вы точно хотите удалить товар из корзины?")) { buttonBasketAdd.IsEnabled = true; ItemsOrderManager.Context.ItemsOrders.Remove(itemsOrder); ItemsOrderManager.Context.UpdateFull(); MessageShow.Success("Товар удален из корзины!"); } else { number = itemsOrder.items_count; e.Handled = true; } } textBox.Text = number.ToString(); if (itemsOrder != null) { itemsOrder.items_count = number; ItemsOrderManager.Context.UpdateFull(); } }
private void ButtonCreateOrder_Click(object sender, RoutedEventArgs e) { var errors = new StringBuilder(); if (String.IsNullOrWhiteSpace(User.login) || User.login.Length > 40) { errors.AppendLine("Вы не ввели email или он больше 40 символов!"); } if (!Regex.IsMatch(User.login, Constants.LOGIN_REGEX)) { errors.AppendLine("Ваш email не соответствует маске \"[email protected]\"!"); } if (String.IsNullOrWhiteSpace(User.last_name) || User.last_name.Length > 20) { errors.AppendLine("Вы не ввели фамилию или она больше 20 символов!"); } if (String.IsNullOrWhiteSpace(User.first_name) || User.first_name.Length > 20) { errors.AppendLine("Вы не ввели имя или оно больше 20 символов!"); } if (String.IsNullOrWhiteSpace(User.name) || User.name.Length > 20) { errors.AppendLine("Вы не ввели отчество или оно больше 20 символов!"); } if (!Regex.IsMatch(User.phone, Constants.PHONE_REGEX)) { errors.AppendLine("Телефон не соответствует маске \"+7ХХХХХХХХХХ\" или \"8ХХХХХХХХХХ\""); } if (String.IsNullOrWhiteSpace(Address.street) || Address.street.Length > 30) { errors.AppendLine("Вы не ввели улицу или она больше 30 символов!"); } if (String.IsNullOrWhiteSpace(Address.house) || Address.house.Length > 5) { errors.AppendLine("Вы не ввели дом или он больше 5 символов!"); } if (String.IsNullOrWhiteSpace(Address.room) || Address.room.Length > 5) { errors.AppendLine("Вы не ввели квартиру или она больше 5 символов!"); } if (String.IsNullOrWhiteSpace(Address.room) || Address.room.Length > 5) { errors.AppendLine("Вы не ввели квартиру или она больше 5 символов!"); } if (String.IsNullOrWhiteSpace(Address.room) || Address.room.Length > 5) { errors.AppendLine("Вы не ввели квартиру или она больше 5 символов!"); } if (!String.IsNullOrEmpty(this.TextBoxFloor.Text) && !Regex.IsMatch(this.TextBoxFloor.Text, Constants.NUMBER_REGEX)) { errors.AppendLine("Подъезд не является числом!"); } if (!String.IsNullOrEmpty(this.TextBoxFloor.Text) && !Regex.IsMatch(this.TextBoxFloor.Text, Constants.NUMBER_REGEX)) { errors.AppendLine("Этаж не является числом!"); } var equalLoginList = FlowersSaleEntities.GetContext().Users.ToList().Where(v => v.login.Equals(User.login)).ToList(); if (equalLoginList.Count > 0 && equalLoginList.Where(v => v.id != User.id).Count() != 0) { errors.AppendLine("Пользователь с таким логином уже есть в системе!"); } if (ItemsOrderManager.Context.ItemsOrders.Count == 0) { errors.AppendLine("Корзина пуста!"); } if (errors.Length > 0) { MessageShow.Error(errors.ToString()); return; } if (MessageShow.Question("Вы уверены, что хотите осуществить заказ и сохранить все данные?")) { try { var order = new Order() { id_user = AuthManager.Context.CurrentUser().id }; FlowersSaleEntities.GetContext().Order.AddOrUpdate(order); FlowersSaleEntities.GetContext().SaveChanges(); var orderItemList = ItemsOrderManager.Context.ItemsOrders; orderItemList.ForEach(v => v.id_order = order.id); FlowersSaleEntities.GetContext().ItemsOrder.AddRange(orderItemList); FlowersSaleEntities.GetContext().SaveChanges(); FlowersSaleEntities.GetContext().Reload(); MessageShow.Success($"Заказ на сумму " + $"{String.Format("{0:0.00}", ItemsOrderManager.Context.ItemTotalCost).Replace(',', '.')}" + $" рублей успешно совершен!"); ItemsOrderManager.Context.ReloadItemsOrder(); ItemsOrderManager.Context.UpdateFull(); FrameManager.MainFrame.GoFirstPage(); } catch { MessageShow.Error("Произошла ошибка сохранения!"); } } }