Exemple #1
0
        private void CopyPacketForm_Load(object sender, EventArgs e)
        {
            label2.Text += _listId;
            _orgTable    = Org.CreateTable();
            _orgTable.Columns.Add(ViewCol);
            _orgBS            = new BindingSource();
            _orgBS.DataSource = _orgTable;

            orgsComboBox.DataSource    = _orgBS;
            orgsComboBox.ValueMember   = Org.id;
            orgsComboBox.DisplayMember = ViewCol;

            if (_operator == null)
            {
                MainForm.ShowErrorMessage("Пользователь не найден", "Ошибка");
                this.Close();
                return;
            }

            string selectText;

            if (_operator.candeleteVal == 0)
            {
                selectText = Org.GetSelectCommandText();
            }
            else
            {
                selectText = Org.GetSelectTextByOperator(_operator.idVal);
            }

            SQLiteDataAdapter adapter = new SQLiteDataAdapter(selectText, _connection);

            _orgTable.Rows.Clear();

            adapter.Fill(_orgTable);
            foreach (DataRow rowItem in _orgTable.Rows)
            {
                rowItem[ViewCol] = string.Format("{0}    {1}", rowItem[Org.regnum], rowItem[Org.name]);
            }
            _orgTable.AcceptChanges();
            if (_orgBS.Count < 1)
            {
                copyButton.Enabled = false;
            }
            //TODO: this.SetPrivilege();
        }
        private void ReloadData()
        {
            int position = -1;

            if (_orgBS != null)
            {
                position = _orgBS.Position;
            }

            _orgTable = Org.CreateTable();
            _orgTable.Columns.Add(ViewCol);

            _orgBS            = new BindingSource();
            _orgBS.DataSource = _orgTable;

            string selectText = _operator.candeleteVal == 0
                ? Org.GetSelectCommandText()
                : Org.GetSelectTextByOperator(_operator.idVal);
            SQLiteDataAdapter adapter = new SQLiteDataAdapter(selectText, _mainConnection);

            adapter.Fill(_orgTable);
            foreach (DataRow rowItem in _orgTable.Rows)
            {
                rowItem[ViewCol] = string.Format("{0}    {1}", rowItem[Org.regnum], rowItem[Org.name]);
            }
            _orgTable.AcceptChanges();

            orgBox.DataSource    = _orgBS;
            orgBox.DisplayMember = ViewCol;

            _orgBS.Position = position;

            SetPrivilege();

            statusLabel.Text = _operator.nameVal;
        }
        private void AnketaPersonOrgForm_Load(object sender, EventArgs e)
        {
            // инициализация таблицы организаций
            _orgTable = Org.CreateTable();
            // добавление столбца для отметок (пометок)
            _orgTable.Columns.Add(Check, typeof(bool));
            _orgTable.Columns[Check].DefaultValue = false;
            // определение бинда
            _orgBS = new BindingSource();
            // привязка к источнику
            _orgBS.DataSource = _orgTable;
            // запрет на автогенерацию столбцов вьюшки
            this.orgView.AutoGenerateColumns = false;
            // привязка к источнику
            this.orgView.DataSource = _orgBS;
            this.orgView.Sorted    += new EventHandler(orgView_Sorted);
            // если оператор определен и соединение определено
            if (_operator != null && _connection != null)
            {
                // определение адаптера для считывания записей с данными об организациях
                string selectcommand;
                // если оператор - Администратор, то выбрать команду для выбора всех имеющихся организациях
                if (_operator.IsAdmin())
                {
                    selectcommand = Org.GetSelectCommandText();
                }
                else // иначе выбрать толькоте организации, к которым оператор имеет доступ для редактирования
                {
                    selectcommand = Org.GetSelectTextByOperatorAccess(_operator.idVal);
                }
                // инизаализация адаптера
                SQLiteDataAdapter adapter = new SQLiteDataAdapter(selectcommand, _connection);
                // заполнение таблицы данными из БД
                adapter.Fill(_orgTable);
                // получение списка ID организаций, в которых числиться выбранная Персона (физическое лицо)
                long[] orgIDArray = PersonOrg.GetOrgID((long)_personRow[PersonView.id], _connection);
                // отметить из выбранных Организаций те, к которым привязана Персона
                foreach (long id in orgIDArray)
                {
                    int i = _orgBS.Find(Org.id, id);
                    if (i >= 0)
                    {
                        DataRowView tmpRow = _orgBS[i] as DataRowView;
                        tmpRow[Check] = true;
                    }
                }
                // принять изменения (отметки)
                _orgBS.EndEdit();

                // выбрать организации в которых есть документы на человека
                _orgIds = Org.GetOrgsIdWithDocsForPerson((long)_personRow[PersonView.id], _connection);
                // сделать readOnly организации в которых есть документы
                DisableCheckBoxInView();

                // выделить струку с текущей Организацией (усьановить задний фон)
                this.MarkCurOrgRow();
                // отобразить на форме страховой номер и фио выбранной Персоны
                personDataLabel.Text = string.Format("{0}  {1}", _personRow[PersonView.socNumber],
                                                     _personRow[PersonView.fio]);
            }
        }