private void btnRecovery_Click(object sender, EventArgs e) { if (!fillCheck(true)) { MessageBox.Show("Одно или несколько полей не заполнены", "Информация"); return; } using (DBCtx db = new DBCtx()) { string vendorCode = tbVendorCode.Text; int attr_id = 0; int.TryParse(cbAttr.SelectedValue.ToString(), out attr_id); if (attr_id == 0) { MessageBox.Show("Ошибка выбора элемента списка", "Информация"); return; } Product product = (from p in db.Product where p.vendor_code == vendorCode && p.deleted == null select p).FirstOrDefault(); if (product == null) { MessageBox.Show("Товар не найден, возможно он был удален", "Информация"); return; } ProductAttrs pa = (from _pa in db.ProductAttrs where _pa.product_id == _pa.product_id && _pa.attr_id == attr_id && _pa.deleted != null select _pa).FirstOrDefault(); if (pa == null) { MessageBox.Show("Отсутствует в списке удаленных", "Информация"); return; } pa.deleted = null; Logs log = new Logs(); log.username = username; log.acttime = DateTime.Now; log.action = String.Format("Recovery product attribute: counterparty(vendorCode - {0}, name - {1}), attribute(attr - {2})", product.vendor_code, product.name, 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()) { Product product = (from p in db.Product where p.vendor_code == vendorCode && p.deleted == null select p).FirstOrDefault(); if (product == 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 == "product" select _d).FirstOrDefault(); if (dict == null) { MessageBox.Show("Не удалось найти атрибут, удаление невозможно", "Информация"); return; } ProductAttrs pa = (from _pa in db.ProductAttrs where _pa.product_id == product.id && _pa.attr_id == dict.id && _pa.attr_value == attr_value && _pa.deleted == null select _pa).FirstOrDefault(); if (pa == null) { MessageBox.Show("Ошибка получения атрибута, возможно он был удален"); return; } pa.deleted = "Y"; Logs log = new Logs(); log.username = username; log.acttime = DateTime.Now; log.action = String.Format("Delete product attrs: counterparty(vendorCode - {0}, name - {1}), attr (name - {2} id - {3}, value - {4})", product.vendor_code, product.name, dict.term_name, pa.attr_id, pa.attr_value); db.Logs.Add(log); try { db.SaveChanges(); } catch (Exception) { MessageBox.Show("Произошла ошибка, атрибут товара не был удален", "Информация"); return; } MessageBox.Show("Атрибут товара успешно удален из системы", "Информация"); this.Close(); } }
private void btnModify_Click(object sender, EventArgs e) { using (DBCtx db = new DBCtx()) { ProductAttrs nwpa = (from _pa in db.ProductAttrs where _pa.product_id == pa.product_id && _pa.attr_id == pa.attr_id && _pa.attr_value == pa.attr_value && _pa.deleted == null select _pa).FirstOrDefault(); if (nwpa == 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; } nwpa.attr_id = attr_id; } nwpa.attr_value = tbVal.Text; Logs log = new Logs(); log.username = username; log.acttime = DateTime.Now; log.action = String.Format("Update product attrs: product(vendorCode - {0}, inn - {1}), prev (id - {2}, value - {3}) new (id - {4}, value - {5})", product.vendor_code, product.name, pa.attr_id, pa.attr_value, nwpa.attr_id, nwpa.attr_value); db.Logs.Add(log); try { db.SaveChanges(); } catch (Exception) { MessageBox.Show("Произошла ошибка, атрибут товара не был обновлен", "Информация"); return; } MessageBox.Show("Атрибут товара успешно обновлен в системе", "Информация"); this.Close(); } }
public Modify(string username, Product product, ProductAttrs pa) { InitializeComponent(); this.dictionaryTableAdapter.Fill(this.attrsForCombobox.Dictionary); this.username = username; this.product = product; this.pa = pa; tbVendorCode.Text = product.vendor_code; tbVal.Text = pa.attr_value; using (DBCtx db = new DBCtx()) { Dictionary attr = (from d in db.Dictionary where d.id == pa.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 vendorCode = tbVendorCode.Text; int attr_id = 0; int.TryParse(cbAttr.SelectedValue.ToString(), out attr_id); if (attr_id == 0) { MessageBox.Show("Ошибка выбора элемента списка", "Информация"); return; } Product product = (from p in db.Product where p.vendor_code == vendorCode && p.deleted == null select p).FirstOrDefault(); if (product == null) { MessageBox.Show("Товар не найден, возможно он был удален", "Информация"); return; } ProductAttrs pa = (from _pa in db.ProductAttrs where _pa.product_id == product.id && _pa.attr_id == attr_id && _pa.deleted != null select _pa).FirstOrDefault(); if (pa != null) { MessageBox.Show("Присутствует в списке удаленных", "Информация"); } else { MessageBox.Show("Отсутствует в списке удаленных", "Информация"); } } }
private void modifyProductAttrs(object sender, EventArgs e) { if ((dgvProductAttrs.SelectedRows == null || dgvProductAttrs.SelectedRows.Count != 1) && (dgvProductAttrs.SelectedCells == null || dgvProductAttrs.SelectedCells.Count != 1)) { MessageBox.Show("Не выбрана запись для редактирования или выбрано больше одной", "Информация"); return; } int rowIndex; if (dgvProductAttrs.SelectedCells != null && dgvProductAttrs.SelectedCells.Count == 1) { rowIndex = dgvProductAttrs.SelectedCells[0].RowIndex; } else { rowIndex = dgvProductAttrs.SelectedRows[0].Index; } string vendorCode = dgvProductAttrs.Rows[rowIndex].Cells[0].Value.ToString(); string attr_name = dgvProductAttrs.Rows[rowIndex].Cells[1].Value.ToString(); int attr_id = 0; string val = dgvProductAttrs.Rows[rowIndex].Cells[2].Value.ToString(); ProductAttrs pa = new ProductAttrs(); Product product; 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 == "product" && d.term_name == attr_name select d).FirstOrDefault(); if (dict == null) { MessageBox.Show("Ошибка выбора элемента списка", "Информация"); return; } attr_id = dict.id; product = (from p in db.Product where p.vendor_code == vendorCode && p.deleted == null select p).FirstOrDefault(); if (product == null) { MessageBox.Show("Товар не найден, изменение невозможно"); return; } pa.product_id = product.id; } pa.attr_id = attr_id; pa.attr_value = val; windows.productattrs.Modify modify = new windows.productattrs.Modify(username, product, pa); modify.ShowDialog(); refreshProductAttrs(); }