Example #1
0
        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();
            }
        }
Example #2
0
        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();
            }
        }
Example #3
0
        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();
            }
        }
Example #4
0
        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;
                    }
                }
            }
        }
Example #5
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("Отсутствует в списке удаленных", "Информация");
                }
            }
        }
Example #6
0
        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();
        }