private void btnRecovery_Click(object sender, EventArgs e) { if (!fillCheck(true)) { MessageBox.Show("Одно или несколько полей не заполнены", "Информация"); return; } using (DBCtx db = new DBCtx()) { string inn = tbINN.Text; int attr_id = 0; int.TryParse(cbAttr.SelectedValue.ToString(), out attr_id); if (attr_id == 0) { MessageBox.Show("Ошибка выбора элемента списка", "Информация"); return; } Counterparty counterparty = (from c in db.Counterparty where c.inn == inn && c.deleted == null select c).FirstOrDefault(); if (counterparty == null) { MessageBox.Show("Покупатель или поставщик не найден, возможно он был удален", "Информация"); return; } CounterpartyAttrs cpa = (from ca in db.CounterpartyAttrs where ca.counterparty_id == counterparty.id && ca.attr_id == attr_id && ca.deleted != null select ca).FirstOrDefault(); if (cpa == null) { MessageBox.Show("Отсутствует в списке удаленных", "Информация"); return; } cpa.deleted = null; Logs log = new Logs(); log.username = username; log.acttime = DateTime.Now; log.action = String.Format("Recovery counterparty attribute: counterparty(name - {0}, inn - {1}, kpp - {2}), attribute(attr - {3})", counterparty.name, counterparty.inn, counterparty.kpp, cbAttr.GetItemText(cbAttr.SelectedItem)); db.Logs.Add(log); try { db.SaveChanges(); } catch (Exception) { MessageBox.Show("Произошла ошибка, атрибут покупателя или поставщика не был восстановлен", "Информация"); return; } MessageBox.Show("Атрибут покупателя или поставщика успешно восстановлен в системе", "Информация"); this.Close(); } }
private void btnDelete_Click(object sender, EventArgs e) { using (DBCtx db = new DBCtx()) { Counterparty counterparty = (from c in db.Counterparty where c.inn == inn && c.deleted == null select c).FirstOrDefault(); if (counterparty == null) { MessageBox.Show("Не удалось найти покупателя или поставщика, удаление невозможно", "Информация"); return; } Dictionary dict = (from _d in db.Dictionary from _e in db.Entity where _d.entity_id == _e.id && _d.term_name == attr_name && _e.name == "counterparty" select _d).FirstOrDefault(); if (dict == null) { MessageBox.Show("Не удалось найти атрибут, удаление невозможно", "Информация"); return; } CounterpartyAttrs cpa = (from _cpa in db.CounterpartyAttrs where _cpa.counterparty_id == counterparty.id && _cpa.attr_id == dict.id && _cpa.attr_value == attr_value && _cpa.deleted == null select _cpa).FirstOrDefault(); if (cpa == null) { MessageBox.Show("Ошибка получения атрибута, возможно он был удален"); return; } cpa.deleted = "Y"; Logs log = new Logs(); log.username = username; log.acttime = DateTime.Now; log.action = String.Format("Delete counterparty attrs: counterparty(name - {0}, inn - {1}, kpp - {2}), attr (name - {3} id - {4}, value - {5})", counterparty.name, counterparty.inn, counterparty.kpp, dict.term_name, cpa.attr_id, cpa.attr_value); db.Logs.Add(log); try { db.SaveChanges(); } catch (Exception) { MessageBox.Show("Произошла ошибка, атрибут покупателя или поставщика не был удален", "Информация"); return; } MessageBox.Show("Атрибут покупателя или поставщика успешно удален из системы", "Информация"); this.Close(); } }
private void btnEdit_Click(object sender, EventArgs e) { using (DBCtx db = new DBCtx()) { CounterpartyAttrs nwcpa = (from _cpa in db.CounterpartyAttrs where _cpa.counterparty_id == cpa.counterparty_id && _cpa.attr_id == cpa.attr_id && _cpa.attr_value == cpa.attr_value && _cpa.deleted == null select _cpa).FirstOrDefault(); if (nwcpa == null) { MessageBox.Show("Ошибка получения атрибута, возможно он был удален"); return; } if (cbAttr.Enabled) { int attr_id = 0; int.TryParse(cbAttr.SelectedValue.ToString(), out attr_id); if (attr_id == 0) { MessageBox.Show("Ошибка выбора элемента списка", "Информация"); return; } nwcpa.attr_id = attr_id; } nwcpa.attr_value = tbVal.Text; Logs log = new Logs(); log.username = username; log.acttime = DateTime.Now; log.action = String.Format("Update counterparty attrs: counterparty(name - {0}, inn - {1}, kpp - {2}), prev (id - {3}, value - {4}) new (id - {5}, value - {6})", counterparty.name, counterparty.inn, counterparty.kpp, cpa.attr_id, cpa.attr_value, nwcpa.attr_id, nwcpa.attr_value); db.Logs.Add(log); try { db.SaveChanges(); } catch (Exception) { MessageBox.Show("Произошла ошибка, атрибут покупателя или поставщика не был обновлен", "Информация"); return; } MessageBox.Show("Атрибут покупателя или поставщика успешно обновлен в системе", "Информация"); this.Close(); } }
public Modify(string username, Counterparty counterparty, CounterpartyAttrs cpa) { InitializeComponent(); this.dictionaryTableAdapter.Fill(this.attrsForComboBox.Dictionary); this.username = username; this.counterparty = counterparty; this.cpa = cpa; tbINN.Text = counterparty.inn; tbVal.Text = cpa.attr_value; using (DBCtx db = new DBCtx()) { Dictionary attr = (from d in db.Dictionary where d.id == cpa.attr_id select d).FirstOrDefault(); if (attr == null) { MessageBox.Show("Ошибка получения атрибута", "Информация"); this.Close(); } if (attr.deleted == null) { cbAttr.SelectedIndex = cbAttr.FindStringExact(attr.term_name); } else { DialogResult result = MessageBox.Show("Возможно данный атрибут устарел, редактировать только значение (нажать да) или обновить на новый атрибут (нажать нет)", "Информация", MessageBoxButtons.YesNo); if (result == DialogResult.Yes) { cbAttr.Enabled = false; } else { cbAttr.SelectedIndex = 0; } } } }
private void btnCheck_Click(object sender, EventArgs e) { if (!fillCheck(true)) { MessageBox.Show("Одно или несколько полей не заполнены", "Информация"); return; } using (DBCtx db = new DBCtx()) { string inn = tbINN.Text; int attr_id = 0; int.TryParse(cbAttr.SelectedValue.ToString(), out attr_id); if (attr_id == 0) { MessageBox.Show("Ошибка выбора элемента списка", "Информация"); return; } Counterparty counterparty = (from c in db.Counterparty where c.inn == inn && c.deleted == null select c).FirstOrDefault(); if (counterparty == null) { MessageBox.Show("Покупатель или поставщик не найден, возможно он был удален", "Информация"); return; } CounterpartyAttrs cpa = (from ca in db.CounterpartyAttrs where ca.counterparty_id == counterparty.id && ca.attr_id == attr_id && ca.deleted != null select ca).FirstOrDefault(); if (cpa != null) { MessageBox.Show("Присутствует в списке удаленных", "Информация"); } else { MessageBox.Show("Отсутствует в списке удаленных", "Информация"); } } }
private void modifyCounterpartyAttrs(object sender, EventArgs e) { if ((dgvCounterpartyAttrs.SelectedRows == null || dgvCounterpartyAttrs.SelectedRows.Count != 1) && (dgvCounterpartyAttrs.SelectedCells == null || dgvCounterpartyAttrs.SelectedCells.Count != 1)) { MessageBox.Show("Не выбрана запись для редактирования или выбрано больше одной", "Информация"); return; } int rowIndex; if (dgvCounterpartyAttrs.SelectedCells != null && dgvCounterpartyAttrs.SelectedCells.Count == 1) { rowIndex = dgvCounterpartyAttrs.SelectedCells[0].RowIndex; } else { rowIndex = dgvCounterpartyAttrs.SelectedRows[0].Index; } string inn = dgvCounterpartyAttrs.Rows[rowIndex].Cells[0].Value.ToString(); string attr_name = dgvCounterpartyAttrs.Rows[rowIndex].Cells[1].Value.ToString(); int attr_id = 0; string val = dgvCounterpartyAttrs.Rows[rowIndex].Cells[2].Value.ToString(); CounterpartyAttrs cpa = new CounterpartyAttrs(); Counterparty counterparty; using (DBCtx db = new DBCtx()) { Dictionary dict = (from d in db.Dictionary from en in db.Entity where d.entity_id == en.id && en.name == "counterparty" && d.term_name == attr_name select d).FirstOrDefault(); if (dict == null) { MessageBox.Show("Ошибка выбора элемента списка", "Информация"); return; } attr_id = dict.id; counterparty = (from c in db.Counterparty where c.inn == inn && c.deleted == null select c).FirstOrDefault(); if (counterparty == null) { MessageBox.Show("Поставщик или покупатель не найден, изменение невозможно"); return; } cpa.counterparty_id = counterparty.id; } cpa.attr_id = attr_id; cpa.attr_value = val; windows.counterpartyattrs.Modify modify = new windows.counterpartyattrs.Modify(username, counterparty, cpa); modify.ShowDialog(); refreshCounterpartyAttrs(); }