private void buttonOk_Click(object sender, RoutedEventArgs e) { using (DBWokrSql db = new DBWokrSql(Connection)) try { switch (TYPE_) { case AuthType.Enter: int id = db.GetIDAdmin(textBoxLogin.Text, textBoxPassword.Text); Login = textBoxLogin.Text; if (id > 0) this.DialogResult = true; else this.DialogResult = false; break; case AuthType.Add: if (db.AddAdmin(textBoxLogin.Text, textBoxPassword.Text, Father_) < 0) { MessageBox.Show("Користувач з таким ім'ям вже існує, спробуйте ще.", "Увага"); return; } MessageBox.Show(string.Format("Користувач {0} з паролем {1} доданий.", textBoxLogin.Text, textBoxPassword.Text), ""); break; case AuthType.Update: int idAdmin = db.GetIDAdmin(original.Login); db.UpdateAdmin(idAdmin, textBoxLogin.Text, textBoxPassword.Text); MessageBox.Show(string.Format("Логін {0} змінений на {1}\n Пароль {2} змінений на {3}", original.Login.PadRight(10), textBoxLogin.Text.PadRight(10), original.Password.PadRight(10), textBoxPassword.Text.PadRight(10)), ""); break; } } catch (Exception ex) { MessageBox.Show(ex.Message, "Увага"); } this.Close(); }
private void BackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { try { using (DBWokrSql db = new DBWokrSql(Connection)) { switch (Type_) { case TypeForm.Admin: e.Result = db.GetAdmins(); break; case TypeForm.Users: e.Result = db.GetStatisticUsers(); break; case TypeForm.User: e.Result = db.GetTickets(Id_user); break; } e.Cancel = false; } } catch (Exception ex) { e.Cancel = false; e.Result = "Не має зв`язку з базою: " + ex.Message; } }
private void TextInput(string text = "") { if (Type_ != TypeForm.Users) return; IEnumerable<object> data = new object[0]; using (DBWokrSql db = new DBWokrSql(Connection)) { data = db.GetStatisticUsersLike(textBox.Text + text); } listView.Items.Clear(); foreach (var item in data) listView.Items.Add(item); label.Content = "Знайдено :" + listView.Items.Count; }
private void SelectUser() { if (listView.SelectedItem == null) { MessageBox.Show("Спочатку треба обрати елемент у таблиці", "Увага"); return; } if (listView.SelectedItem is Users) { Users user = listView.SelectedItem as Users; int id = 0; using (DBWokrSql db = new DBWokrSql(Connection)) id = db.GetIdUser(user.Fname, user.Lname); WindowStatistic ws = new WindowStatistic(TypeForm.User, Connection, CurrentAdmin, id); ws.ShowDialog(); } else if(listView.SelectedItem is Ticket) { Ticket ticket = listView.SelectedItem as Ticket; WindowTicket wt = new WindowTicket(Connection, ticket.ID); wt.ShowDialog(); } }
private void lo_Loaded(object sender, RoutedEventArgs e) { // ButtonRemove { Grid newGrid = new Grid() { Margin = new Thickness(5) }; buttonRemove.Content = newGrid; newGrid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) }); Image newImage = new Image() { }; newGrid.Children.Add(newImage); newImage.Source = new BitmapImage(new Uri("bin/Resource/Delete.ico", UriKind.Relative)) { CreateOptions = BitmapCreateOptions.IgnoreImageCache }; Grid.SetRow(newImage, 0); } // ButtonAdd { Grid newGrid = new Grid() { Margin = new Thickness(5) }; buttonAdd.Content = newGrid; newGrid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) }); Image newImage = new Image() { }; newGrid.Children.Add(newImage); newImage.Source = new BitmapImage(new Uri("bin/Resource/Add.ico", UriKind.Relative)) { CreateOptions = BitmapCreateOptions.IgnoreImageCache }; Grid.SetRow(newImage, 0); } // ButtonDetail { Grid newGrid = new Grid() { Margin = new Thickness(5) }; buttonChange.Content = newGrid; newGrid.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) }); Image newImage = new Image() { }; newGrid.Children.Add(newImage); newImage.Source = new BitmapImage(new Uri("bin/Resource/Change.png", UriKind.Relative)) { CreateOptions = BitmapCreateOptions.IgnoreImageCache }; Grid.SetRow(newImage, 0); } switch (Type_) { case TypeForm.Admin: { #region label.Visibility = Visibility.Hidden; textBox.Visibility = Visibility.Hidden; buttonChange.ToolTip = "Змінити дані адміністратора"; buttonAdd.ToolTip = "Додати адміністратора"; buttonRemove.ToolTip = "Видалити адміністратора"; GridView myGrid = new GridView(); myGrid.AllowsColumnReorder = true; GridViewColumn colum1 = new GridViewColumn(); colum1.DisplayMemberBinding = new Binding("Login"); colum1.Header = "Логін"; colum1.Width = 120; myGrid.Columns.Add(colum1); GridViewColumn colum2 = new GridViewColumn(); colum2.DisplayMemberBinding = new Binding("Password"); colum2.Header = "Пароль"; colum2.Width = 120; myGrid.Columns.Add(colum2); GridViewColumn colum3 = new GridViewColumn(); colum3.DisplayMemberBinding = new Binding("Owner"); colum3.Header = "Хто створив"; colum3.Width = 120; myGrid.Columns.Add(colum3); GridViewColumn colum4 = new GridViewColumn(); colum4.DisplayMemberBinding = new Binding("Date"); colum4.Header = "Коли"; colum4.Width = 85; myGrid.Columns.Add(colum4); listView.View = myGrid; listView.FontSize = 16; UpdateListView(); break; #endregion } case TypeForm.Users: { #region buttonAdd.Visibility = Visibility.Hidden; buttonRemove.Visibility = Visibility.Hidden; textBox.Text = "Пошук"; buttonChange.ToolTip = "Детальніше про користувача"; GridView myGrid = new GridView(); myGrid.AllowsColumnReorder = true; GridViewColumn colum2 = new GridViewColumn(); colum2.DisplayMemberBinding = new Binding("Lname"); colum2.Header = "Прізвище"; colum2.Width = 90; myGrid.Columns.Add(colum2); GridViewColumn colum1 = new GridViewColumn(); colum1.DisplayMemberBinding = new Binding("Fname"); colum1.Header = "Им'я"; colum1.Width = 90; myGrid.Columns.Add(colum1); GridViewColumn colum3 = new GridViewColumn(); colum3.DisplayMemberBinding = new Binding("Count"); colum3.Header = "Спроби"; colum3.Width = 65; myGrid.Columns.Add(colum3); GridViewColumn colum4 = new GridViewColumn(); colum4.DisplayMemberBinding = new Binding("Online"); colum4.Header = "Онлайн"; colum4.Width = 70; myGrid.Columns.Add(colum4); GridViewColumn colum5 = new GridViewColumn(); colum5.DisplayMemberBinding = new Binding("Offline"); colum5.Header = "Оффлайн"; colum5.Width = 80; myGrid.Columns.Add(colum5); GridViewColumn colum6 = new GridViewColumn(); colum6.DisplayMemberBinding = new Binding("Passed"); colum6.Header = "Успішно"; colum6.Width = 70; myGrid.Columns.Add(colum6); listView.View = myGrid; listView.FontSize = 16; UpdateListView(); break; #endregion } case TypeForm.User: { #region buttonAdd.Visibility = Visibility.Hidden; buttonRemove.Visibility = Visibility.Hidden; using (DBWokrSql db = new DBWokrSql(Connection)) { textBox.Text = db.GetUser(Id_user).Fname+" "+ db.GetUser(Id_user).Lname; } textBox.FontSize = 18; textBox.IsReadOnly = true; buttonChange.ToolTip = "Детальніше про білет користувача"; GridView myGrid = new GridView(); myGrid.AllowsColumnReorder = true; GridViewColumn colum1 = new GridViewColumn(); colum1.DisplayMemberBinding = new Binding("ID"); colum1.Header = "Білет №"; colum1.Width = 70; myGrid.Columns.Add(colum1); GridViewColumn colum2 = new GridViewColumn(); colum2.DisplayMemberBinding = new Binding("level"); colum2.Header = "Рівень"; colum2.Width = 120; myGrid.Columns.Add(colum2); GridViewColumn colum3 = new GridViewColumn(); colum3.DisplayMemberBinding = new Binding("date"); colum3.Header = "Дата"; colum3.Width = 85; myGrid.Columns.Add(colum3); GridViewColumn colum4 = new GridViewColumn(); colum4.DisplayMemberBinding = new Binding("IsOffline"); colum4.Header = "Онлайн"; colum4.Width = 80; myGrid.Columns.Add(colum4); GridViewColumn colum5 = new GridViewColumn(); colum5.DisplayMemberBinding = new Binding("IsPassed"); colum5.Header = "Здав"; colum5.Width = 80; myGrid.Columns.Add(colum5); listView.View = myGrid; listView.FontSize = 16; UpdateListView(); break; #endregion } } }
private void buttonRemove_Click(object sender, RoutedEventArgs e) { if (listView.SelectedItem == null) { MessageBox.Show("Спочатку треба обрати користувача", "Увага"); return; } if (listView.SelectedItem is AdminInfo) using (DBWokrSql db = new DBWokrSql(Connection)) try { db.DeleteAdmin((listView.SelectedItem as AdminInfo).Login); } catch (Exception ex) { MessageBox.Show("Помилка при видалені\n" + ex.Message, "Увага"); } UpdateListView(); }
private void button_Click(object sender, RoutedEventArgs e) { if (MessageBox.Show(String.Format("Питання буде {0} у базі. Ви впевнені?", ID == 0 ? "збережено" : "змінено"), "Увага", MessageBoxButton.OKCancel) != MessageBoxResult.OK) return; if (String.IsNullOrWhiteSpace(textBoxLevel.Text)) { MessageBox.Show("Перевірте поле Рівень"); return; } if (String.IsNullOrWhiteSpace(textBoxTopic.Text)) { MessageBox.Show("Перевірте поле Тема "); return; } if (String.IsNullOrWhiteSpace(textBoxQuestion.Text)) { MessageBox.Show("Перевірте поле питання ");return; } int idTick = 0; using (DBWokrSql db = new DBWokrSql(Connect)) { if (ID == 0) { //create question idTick = db.AddNewQuestion( new QuestionInfo() { ID = 0, Topic = textBoxTopic.Text, Info = textBoxInfo.Text, Level = textBoxLevel.Text, Question = textBoxQuestion.Text }, ans ); } else { //update question var questionCurrent = db.GetQuestion(ID); if ( !(questionCurrent.Info.Equals(textBoxInfo.Text.Replace('\'', ' ')) && questionCurrent.Level.Equals(textBoxLevel.Text) && questionCurrent.Question.Equals(textBoxQuestion.Text.Replace('\'', ' ')) && questionCurrent.Topic.Equals(textBoxTopic.Text)) ) idTick = db.UpdateQuestion(questionCurrent); if (idTick == 0) //question didn`t change { //update answers var answersCurrent = db.GetAnswers(ID); //get all new answers and check them by similar in database, if they were not found -- add them foreach (var item in ans) { if (answersCurrent.IsGetValue(item)) { var ss = answersCurrent.Where(s => s.ID == item.ID).First(); if (ss.IsTrue == item.IsTrue && ss.Text.Equals(item.Text.Replace('\'', ' '))) continue; else db.UpdateAnswer(ID, item); } else { int idAnswer = db.AddAnswer(item.Text); db.AddQuestionAnswer(ID, idAnswer, item.IsTrue); } } //marked all answers that not use foreach (var item in answersCurrent) if (!ans.IsGetValue(item)) db.DisableAnswer(item.ID); } else {// add answers to new question foreach (var item in ans) { int idAnswer = db.AddAnswer(item.Text); db.AddQuestionAnswer(idTick, idAnswer, item.IsTrue); } } } } MessageBox.Show("Питання було успішно збережено під номером " + (idTick == 0 ? ID : idTick)); }
private void BackgroundWorker_DoWork(object sender, DoWorkEventArgs e) { if (!IsShow) try { using (DBWokrSql db = new DBWokrSql(ConnectString)) { var Ticket = db.CreateTicket(Id_level); var user = db.GetUser(Id_user); bool IsOnline = string.IsNullOrWhiteSpace(TicketStore); if (user.ID != 13) Id_ticket = db.AddTicket(Ticket, Id_user, !IsOnline); else IsTEST = true; if (!IsOnline) { TicketStore = Path.ChangeExtension(Path.Combine(Path.GetDirectoryName(TicketStore), Path.GetFileNameWithoutExtension(TicketStore) + Id_ticket), "docx"); //Write to file if (db.WriteTicketToWord(Ticket, user, Id_ticket, TicketStore)) System.Diagnostics.Process.Start("WINWORD.EXE", "\"" + TicketStore + "\""); else MessageBox.Show("Увага!! Помилка при створені файлу"); } else { e.Result = new OutputParams() { id_Ticket = Id_ticket, Ticket_ = Ticket }; } } } catch (Exception ex) { e.Cancel = false; e.Result = "Не має зв`язку з базою: " + ex.Message; throw new Exception(ex.Message); } else { using (DBWokrSql db = new DBWokrSql(ConnectString)) { e.Result = new OutputParams() { id_Ticket = Id_ticket, Ticket_ = db.GetTicketRezults(Id_ticket) }; } } }
void CheckRezult(bool IsTest = false) { if (IsShow) return; timer.Stop(); timer.Dispose(); #region SendRezult if (!IsTest && !SendRezult && !IsShow) using (var db = new DBWokrSql(ConnectString)) { foreach (UserControlQuestion item in StackPanelQuestion.Children) foreach (var ans in item.GetUserAnswers()) db.AddRezult(Id_ticket, ans, item.IDquestion); SendRezult = true; #endregion #region CheckRezult int error = 0, countAnswerTrue = 0, userCountAnser = 0; foreach (UserControlQuestion item in StackPanelQuestion.Children) { var answers = db.GetAnswers(item.IDquestion, true).Select(x => x.ID); countAnswerTrue += answers.Count(); userCountAnser += item.GetUserAnswers().Count(); if (answers.Count() != item.GetUserAnswers().Count()) { error++; continue; } foreach (var ans in item.GetUserAnswers()) { if (!answers.Contains(ans)) { error++; break; } } } //update Ticket column isPasses if (error >= 3 || countAnswerTrue != userCountAnser) MessageBox.Show("Ви не склали іспит"); else MessageBox.Show("Вітаємо! Ви успішно склали іспит. Нам дуже приємно працювати з такими фахівцями як Ви."); db.UpdateTicketRezult(Id_ticket, error < 3); #endregion } }
private void BackgroundWorker_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e) { try { string connetcString = e.Argument.ToString(); using (var db = new DBWokrSql(connetcString)) e.Cancel = true; } catch (Exception ex) { e.Result =(object) "Не має зв`язку!\n" + ex.Message; } }