internal bool updateAccomplice(Accomplice newItem) { try { executeQuery("UPDATE Accomplice SET " + "idPost = " + (newItem.IdPost == 0 ? "NULL" : newItem.IdPost.ToString()) + "," + "idRank = " + newItem.IdRank + "," + "idSubUnit = " + newItem.IdSubUnit + "," + "idDraft = " + (newItem.IdDraft == 0 ? "NULL" : newItem.IdDraft.ToString()) + "," + "fullName = " + (newItem.FullName == "" ? "NULL" : "'" + newItem.FullName + "'") + "," + "shortName = '" + newItem.ShortName + "'," + "isContrakt = " + (newItem.IsContrakt == false ? 0 : 1) + "," + "isMedic = " + (newItem.IsMedic == false ? 0 : 1) + "," + "numberContrakt = " + (newItem.NumberContrakt == 0 ? "NULL" : newItem.NumberContrakt.ToString()) + "," + "dateFirstContrakt = " + (newItem.DateOfFirstContrakt == "" ? "NULL" : "'" + newItem.DateOfFirstContrakt + "'") + "," + "dateLastContrakt= " + (newItem.DateOfLastContrakt == "" ? "NULL" : "'" + newItem.DateOfLastContrakt + "'") + "," + "idEducation = " + (newItem.IdEducation == 0 ? "NULL" : newItem.IdEducation.ToString()) + "," + "sex = " + (newItem.Sex == false ? 0 : 1) + "," + "dateOfBirth = " + (newItem.DateOfBirth == "" ? "NULL" : "'" + newItem.DateOfBirth + "'") + "," + "idFamilyStatus = " + (newItem.IdFamilyStatus == 0 ? "NULL" : newItem.IdFamilyStatus.ToString()) + " WHERE idAccomplice = " + newItem.Id + ";"); return(true); } catch { return(false); } }
private void btnOk_Click(object sender, RoutedEventArgs e) { if (txName.Text != "" && cbRank.SelectedItem != null && cbPost.SelectedItem != null && cbBattalion.SelectedItem != null) { a = new Accomplice(idA, (cbPost.SelectedItem as KeyValue).Key, (cbRank.SelectedItem as Rank).Id, cbSubUnit.SelectedItem != null ? (cbSubUnit.SelectedItem as SubUnit).Id : (cbBattalion.SelectedItem as SubUnit).Id, (cbDraft.SelectedItem != null && chkbContrakt.IsChecked == true) ? (cbDraft.SelectedItem as KeyValue).Key : 0, txFullName.Text, txName.Text, chkbContrakt.IsChecked == true, chkbMedic.IsChecked == true, chkbContrakt.IsChecked == true && txNumberContrakt.Text != "" ? Int32.Parse(txNumberContrakt.Text) : 0, txDateFirstContrakt.Text, txDateLastContrakt.Text, (cbEducation.SelectedItem != null) ? (cbEducation.SelectedItem as KeyValue).Key : 0, rSex.IsChecked == true, txDateOfBirthday.Text, (cbFamilyStatus.SelectedItem != null) ? (cbFamilyStatus.SelectedItem as KeyValue).Key : 0, (cbRank.SelectedItem as Rank).ShortName, cbSubUnit.SelectedItem != null ? (cbSubUnit.SelectedItem as SubUnit).ShortName + " " + (cbBattalion.SelectedItem as SubUnit).ShortName : (cbBattalion.SelectedItem as SubUnit).ShortName, (cbMilitaryUnit.SelectedItem as MilitaryUnit).ShortName, (cbRank.SelectedItem as Rank).Priority); this.Close(); } else { MessageBox.Show("Не все обязательные поля заполнены!"); } }
internal bool addAccomplice(int id, Accomplice newItem) { try { executeQuery("INSERT INTO Accomplice VALUES(" + id + "," + (newItem.IdPost == 0 ? "NULL" : newItem.IdPost.ToString()) + "," + newItem.IdRank + "," + newItem.IdSubUnit + "," + (newItem.IdDraft == 0 ? "NULL" : newItem.IdDraft.ToString()) + "," + (newItem.FullName == "" ? "NULL" : "'" + newItem.FullName + "'") + ",'" + newItem.ShortName + "'," + (newItem.IsContrakt == false ? 0 : 1) + "," + (newItem.IsMedic == false ? 0 : 1) + "," + (newItem.NumberContrakt == 0 ? "NULL" : newItem.NumberContrakt.ToString()) + "," + (newItem.DateOfFirstContrakt == "" ? "NULL" : "'" + newItem.DateOfFirstContrakt + "'") + "," + (newItem.DateOfLastContrakt == "" ? "NULL" : "'" + newItem.DateOfLastContrakt + "'") + "," + (newItem.IdEducation == 0 ? "NULL" : newItem.IdEducation.ToString()) + "," + (newItem.Sex == false ? 0 : 1) + "," + (newItem.DateOfBirth == "" ? "NULL" : "'" + newItem.DateOfBirth + "'") + "," + (newItem.IdFamilyStatus == 0 ? "NULL" : newItem.IdFamilyStatus.ToString()) + ");"); return(true); } catch { return(false); } }
internal static Accomplice getEditedAccomplice(Accomplice accomplice, SqliteWorker _sqlWorker) { AddAccomplice wndA = new AddAccomplice(accomplice, _sqlWorker); wndA.ShowDialog(); return(wndA.a); }
private void btnLeft_Click_2(object sender, RoutedEventArgs e) { if (lbChoosed.SelectedItem != null) { Accomplice t = lbChoosed.SelectedItem as Accomplice; aChoosedList.values.Remove(t); aList.values.Add(t); } }
private void lbChoosed_MouseDoubleClick(object sender, MouseButtonEventArgs e) { if (lbChoosed.SelectedItem != null) { Accomplice t = lbChoosed.SelectedItem as Accomplice; aChoosedList.values.Remove(t); aList.values.Add(t); } }
internal void update(Accomplice s) { for (int i = 0; i < values.Count; i++) { if (values[i].Id == s.Id) { values[i] = s; } } }
private void btnDelete_Click(object sender, RoutedEventArgs e) { if (MessageBox.Show("Вы действительно хотите удалить этот элемент?", "Подтвердите действие", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { Accomplice a = dataGrid.SelectedItem as Accomplice; if (sqlWorker.deleteItemById("Accomplice", a.Id)) { al.deleteById(a.Id); } else { MessageBox.Show("Ошибка удаления элемента, возможно он уже используется."); } } }
private void dataGrid_MouseDoubleClick(object sender, MouseButtonEventArgs e) { if (dataGrid.SelectedItem != null) { Accomplice s = AddAccomplice.getEditedAccomplice(dataGrid.SelectedItem as Accomplice, sqlWorker); if (s != null) { if (sqlWorker.updateAccomplice(s)) { al.update(s); dataGrid.Items.Refresh(); } else { MessageBox.Show("Ошибка при изменении элемента"); } } } }
private void Button_Click_1(object sender, RoutedEventArgs e) { if (lbChoosed.SelectedItem != null) { Accomplice s = AddAccomplice.getEditedAccomplice(lbChoosed.SelectedItem as Accomplice, sqlWorker); if (s != null) { if (sqlWorker.updateAccomplice(s)) { aChoosedList.update(s); lbChoosed.Items.Refresh(); } else { MessageBox.Show("Ошибка при изменении элемента"); } } } }
private void btnAddAccomplice_Click_1(object sender, RoutedEventArgs e) { Accomplice newItem = AddAccomplice.getAccomplice(sqlWorker); if (newItem != null) { //добавить в БД int id = sqlWorker.getNewId("Accomplice"); if (sqlWorker.addAccomplice(id, newItem)) { newItem.Id = id; //если успешное добавление в БД aChoosedList.values.Add(newItem); } else { MessageBox.Show("Ошибка при добавлении данных"); } } }
internal static ObservableCollection <Accomplice> getAccompliceList(DataTable table) { ObservableCollection <Accomplice> list = new ObservableCollection <Accomplice>(); if (table.Rows.Count > 0 && table.Columns.Count == 21) { try { for (int i = 0; i < table.Rows.Count; i++) { Accomplice a = new Accomplice( table.Rows[i][4].ToString() == "" ? 0 : Int32.Parse(table.Rows[i][4].ToString()), table.Rows[i][5].ToString() == "" ? 0 : Int32.Parse(table.Rows[i][5].ToString()), table.Rows[i][6].ToString() == "" ? 0 : Int32.Parse(table.Rows[i][6].ToString()), table.Rows[i][7].ToString() == "" ? 0 : Int32.Parse(table.Rows[i][7].ToString()), table.Rows[i][8].ToString() == "" ? 0 : Int32.Parse(table.Rows[i][8].ToString()), table.Rows[i][9].ToString(), table.Rows[i][10].ToString(), table.Rows[i][11].ToString() == "0" ? false : true, table.Rows[i][12].ToString() == "0" ? false : true, table.Rows[i][13].ToString() == "" ? 0 : Int32.Parse(table.Rows[i][13].ToString()), table.Rows[i][14].ToString(), table.Rows[i][15].ToString(), table.Rows[i][16].ToString() == "" ? 0 : Int32.Parse(table.Rows[i][16].ToString()), table.Rows[i][17].ToString() == "0" ? false : true, table.Rows[i][18].ToString(), table.Rows[i][19].ToString() == "" ? 0 : Int32.Parse(table.Rows[i][19].ToString()), table.Rows[i][0].ToString(), table.Rows[i][1].ToString() + " " + table.Rows[i][2].ToString(), table.Rows[i][3].ToString(), table.Rows[i][20].ToString()); list.Add(a); } } catch (Exception ex) { throw new Exception("Некорректные данные в БД:\n" + ex.Message); } } return(list); }
public AddAccomplice(Accomplice accomplice, SqliteWorker _sqlWorker) { InitializeComponent(); this.ResizeMode = ResizeMode.CanMinimize; sqlWorker = _sqlWorker; postList = new DBList("Post", DataWorker.getList(sqlWorker.selectData("SELECT * FROM Post"))); draftList = new DBList("Draft", DataWorker.getList(sqlWorker.selectData("SELECT * FROM Draft"))); educationList = new DBList("Education", DataWorker.getList(sqlWorker.selectData("SELECT * FROM Education"))); familyStatusList = new DBList("FamilyStatus", DataWorker.getList(sqlWorker.selectData("SELECT * FROM FamilyStatus"))); rankList = new RankList(DataWorker.getRankList(sqlWorker.selectData("SELECT * FROM Rank"))); militaryList = new MilitaryUnitList(DataWorker.getMilitaryUnitList(sqlWorker.selectData("SELECT * FROM MilitaryUnit"))); cbPost.ItemsSource = postList.values; cbDraft.ItemsSource = draftList.values; cbEducation.ItemsSource = educationList.values; cbFamilyStatus.ItemsSource = familyStatusList.values; cbRank.ItemsSource = rankList.values; cbMilitaryUnit.ItemsSource = militaryList.values; rowSubUnit.Height = new GridLength(0); rowContrakt.Height = new GridLength(0); this.Height -= 150; txFullName.Text = accomplice.FullName; txName.Text = accomplice.ShortName; txNumberContrakt.Text = (accomplice.NumberContrakt == 0 ? "" : accomplice.NumberContrakt.ToString()); txDateOfBirthday.Text = accomplice.DateOfBirth; txDateFirstContrakt.Text = accomplice.DateOfFirstContrakt; txDateLastContrakt.Text = accomplice.DateOfLastContrakt; chkbContrakt.IsChecked = accomplice.IsContrakt; chkbMedic.IsChecked = accomplice.IsMedic; rSex.IsChecked = accomplice.Sex; fSex.IsChecked = !accomplice.Sex; for (int i = 0; i < cbPost.Items.Count; i++) { if ((cbPost.Items[i] as KeyValue).Key == accomplice.IdPost) { cbPost.SelectedIndex = i; } } for (int i = 0; i < cbDraft.Items.Count; i++) { if ((cbDraft.Items[i] as KeyValue).Key == accomplice.IdDraft) { cbDraft.SelectedIndex = i; } } for (int i = 0; i < cbEducation.Items.Count; i++) { if ((cbEducation.Items[i] as KeyValue).Key == accomplice.IdEducation) { cbEducation.SelectedIndex = i; } } for (int i = 0; i < cbFamilyStatus.Items.Count; i++) { if ((cbFamilyStatus.Items[i] as KeyValue).Key == accomplice.IdFamilyStatus) { cbFamilyStatus.SelectedIndex = i; } } for (int i = 0; i < cbRank.Items.Count; i++) { if ((cbRank.Items[i] as Rank).Id == accomplice.IdRank) { cbRank.SelectedIndex = i; } } //получение id воинской части и выбор этой части в комбобоксе DataTable dt = sqlWorker.selectData("SELECT M.idMilitaryUnit FROM SubUnit S " + "LEFT JOIN SubUnit SF ON S.idFKSubUnit = SF.idSubUnit " + "LEFT JOIN MilitaryUnit M ON S.idMilitaryUnit = M.idMilitaryUnit OR SF.idMilitaryUnit = M.idMilitaryUnit " + "WHERE S.idSubUnit = " + accomplice.IdSubUnit); int idT = Int32.Parse(dt.Rows[0][0].ToString()); for (int i = 0; i < cbMilitaryUnit.Items.Count; i++) { if ((cbMilitaryUnit.Items[i] as MilitaryUnit).Id == idT) { cbMilitaryUnit.SelectedIndex = i; } } dt = sqlWorker.selectData("SELECT SF.idSubUnit FROM SubUnit S " + "LEFT JOIN SubUnit SF ON S.idFKSubUnit = SF.idSubUnit " + "WHERE S.idSubUnit = " + accomplice.IdSubUnit); if (dt.Rows[0][0].ToString() != "") { //есть промежуточное подразделение (батальон) idT = Int32.Parse(dt.Rows[0][0].ToString()); for (int i = 0; i < cbBattalion.Items.Count; i++) { if ((cbBattalion.Items[i] as SubUnit).Id == idT) { cbBattalion.SelectedIndex = i; } } } else { //подразделение непосредственного подчинения воинской части for (int i = 0; i < cbBattalion.Items.Count; i++) { if ((cbBattalion.Items[i] as SubUnit).Id == accomplice.IdSubUnit) { cbBattalion.SelectedIndex = i; } } } idA = accomplice.Id; }