コード例 #1
0
        public SearchSoftwareForm()
        {
            InitializeComponent();
            var softwares  = SoftwareDataModel.GetInstance();
            var softMakers = SoftMakersDataModel.GetInstance();
            var softTypes  = SoftTypesDataModel.GetInstance();

            softwares.Select();
            softMakers.Select();
            softTypes.Select();

            var vSoftMakers = new BindingSource
            {
                DataMember = "SoftMakers",
                DataSource = DataSetManager.DataSet
            };

            var vSoftTypes = new BindingSource
            {
                DataMember = "SoftTypes",
                DataSource = DataSetManager.DataSet
            };

            comboBoxSoftwareMaker.DataSource    = vSoftMakers;
            comboBoxSoftwareMaker.ValueMember   = "ID SoftMaker";
            comboBoxSoftwareMaker.DisplayMember = "SoftMaker";

            comboBoxSoftwareType.DataSource    = vSoftTypes;
            comboBoxSoftwareType.ValueMember   = "ID SoftType";
            comboBoxSoftwareType.DisplayMember = "SoftType";

            foreach (Control control in Controls)
            {
                control.KeyDown += (sender, e) =>
                {
                    var comboBox = sender as ComboBox;
                    if (comboBox != null && comboBox.DroppedDown)
                    {
                        return;
                    }
                    switch (e.KeyCode)
                    {
                    case Keys.Enter:
                        vButtonSearch_Click(sender, e);
                        break;

                    case Keys.Escape:
                        DialogResult = DialogResult.Cancel;
                        break;
                    }
                }
            }
            ;
        }
コード例 #2
0
        public override void LoadData()
        {
            dataGridView.AutoGenerateColumns = false;
            DockAreas   = WeifenLuo.WinFormsUI.Docking.DockAreas.Document;
            _softwareDm = SoftwareDataModel.GetInstance();
            _softTypes  = SoftTypesDataModel.GetInstance();
            _softMakers = SoftMakersDataModel.GetInstance();

            // Ожидаем дозагрузки, если это необходимо
            _softwareDm.Select();
            _softTypes.Select();
            _softMakers.Select();

            var ds = DataSetManager.DataSet;

            _vSoftTypes = new BindingSource
            {
                DataMember = "SoftTypes",
                DataSource = ds
            };

            _vSoftMakers = new BindingSource
            {
                DataMember = "SoftMakers",
                DataSource = ds
            };

            _vSoftware = new BindingSource();
            _vSoftware.CurrentItemChanged += v_software_CurrentItemChanged;
            _vSoftware.DataMember          = "Software";
            _vSoftware.DataSource          = ds;
            _vSoftware.Filter              = StaticFilter;
            if (!string.IsNullOrEmpty(StaticFilter) && !string.IsNullOrEmpty(DynamicFilter))
            {
                _vSoftware.Filter += " AND ";
            }
            _vSoftware.Filter += DynamicFilter;

            DataBind();

            _softwareDm.Select().RowChanged += SoftwareViewport_RowChanged;
            _softwareDm.Select().RowDeleted += SoftwareViewport_RowDeleted;

            dataGridView.RowCount = _vSoftware.Count;
            SetViewportCaption();
            ViewportHelper.SetDoubleBuffered(dataGridView);
            _isEditable = true;
        }
コード例 #3
0
 private void PreLoadData()
 {
     toolStripProgressBar.Maximum = 13;
     DepartmentsDataModel.GetInstance(toolStripProgressBar, 1);
     DevicesDataModel.GetInstance(toolStripProgressBar, 1);
     SoftwareDataModel.GetInstance(toolStripProgressBar, 1);
     SoftVersionsDataModel.GetInstance(toolStripProgressBar, 1);
     SoftInstallationsDataModel.GetInstance(toolStripProgressBar, 1);
     SoftInstallatorsDataModel.GetInstance(toolStripProgressBar, 1);
     SoftLicDocTypesDataModel.GetInstance(toolStripProgressBar, 1);
     SoftLicensesDataModel.GetInstance(toolStripProgressBar, 1);
     SoftLicKeysDataModel.GetInstance(toolStripProgressBar, 1);
     SoftLicTypesDataModel.GetInstance(toolStripProgressBar, 1);
     SoftMakersDataModel.GetInstance(toolStripProgressBar, 1);
     SoftSuppliersDataModel.GetInstance(toolStripProgressBar, 1);
     SoftTypesDataModel.GetInstance(toolStripProgressBar, 1);
 }
コード例 #4
0
        public override void LoadData()
        {
            dataGridView.AutoGenerateColumns = false;
            DockAreas   = WeifenLuo.WinFormsUI.Docking.DockAreas.Document;
            _softMakers = SoftMakersDataModel.GetInstance();

            //Ожидаем дозагрузки данных, если это необходимо
            _softMakers.Select();

            _vSoftMakers = new BindingSource
            {
                DataMember = "SoftMakers",
                DataSource = DataSetManager.DataSet
            };

            //Инициируем колонки snapshot-модели
            for (var i = 0; i < _softMakers.Select().Columns.Count; i++)
            {
                _snapshotSoftMakers.Columns.Add(new DataColumn(
                                                    _softMakers.Select().Columns[i].ColumnName, _softMakers.Select().Columns[i].DataType));
            }
            //Загружаем данные snapshot-модели из original-view
            for (var i = 0; i < _vSoftMakers.Count; i++)
            {
                _snapshotSoftMakers.Rows.Add(DataRowViewToArray(((DataRowView)_vSoftMakers[i])));
            }
            _vSnapshotSoftMakers = new BindingSource {
                DataSource = _snapshotSoftMakers
            };
            _vSnapshotSoftMakers.CurrentItemChanged += v_snapshotSoftMakers_CurrentItemChanged;

            dataGridView.DataSource      = _vSnapshotSoftMakers;
            idSoftMaker.DataPropertyName = "ID SoftMaker";
            softMaker.DataPropertyName   = "SoftMaker";

            dataGridView.DataBindings.DefaultDataSourceUpdateMode = DataSourceUpdateMode.OnPropertyChanged;

            dataGridView.CellValidated += dataGridView_CellValidated;
            //События изменения данных для проверки соответствия реальным данным в модели
            dataGridView.CellValueChanged += dataGridView_CellValueChanged;
            //Синхронизация данных исходные->текущие
            _softMakers.Select().RowChanged  += SoftMakersViewport_RowChanged;
            _softMakers.Select().RowDeleting += SoftMakersViewport_RowDeleting;
            _softMakers.Select().RowDeleted  += SoftMakersViewport_RowDeleted;
        }
コード例 #5
0
        public SearchLicensesForm()
        {
            InitializeComponent();
            var softMakers      = SoftMakersDataModel.GetInstance();
            var softTypes       = SoftTypesDataModel.GetInstance();
            var softSuppliers   = SoftSuppliersDataModel.GetInstance();
            var softLicTypes    = SoftLicTypesDataModel.GetInstance();
            var softLicDocTypes = SoftLicDocTypesDataModel.GetInstance();
            var departments     = DepartmentsDataModel.GetInstance();

            // Ожидаем дозагрузки, если это необходимо
            softMakers.Select();
            softTypes.Select();
            softSuppliers.Select();
            softLicTypes.Select();
            softLicDocTypes.Select();
            departments.Select();

            var vSoftMakers = new BindingSource
            {
                DataMember = "SoftMakers",
                DataSource = DataSetManager.DataSet
            };

            var vSoftTypes = new BindingSource
            {
                DataMember = "SoftTypes",
                DataSource = DataSetManager.DataSet
            };

            var vSoftSuppliers = new BindingSource
            {
                DataMember = "SoftSuppliers",
                DataSource = DataSetManager.DataSet
            };

            var vSoftLicTypes = new BindingSource
            {
                DataMember = "SoftLicTypes",
                DataSource = DataSetManager.DataSet
            };

            var vSoftLicDocTypes = new BindingSource
            {
                DataMember = "SoftLicDocTypes",
                DataSource = DataSetManager.DataSet
            };

            _vDepartments = new BindingSource {
                DataSource = departments.SelectVisibleDepartments()
            };

            comboBoxDepartmentID.DataSource    = _vDepartments;
            comboBoxDepartmentID.ValueMember   = "ID Department";
            comboBoxDepartmentID.DisplayMember = "Department";

            comboBoxSoftwareMaker.DataSource    = vSoftMakers;
            comboBoxSoftwareMaker.ValueMember   = "ID SoftMaker";
            comboBoxSoftwareMaker.DisplayMember = "SoftMaker";

            comboBoxSupplierID.DataSource    = vSoftSuppliers;
            comboBoxSupplierID.ValueMember   = "ID Supplier";
            comboBoxSupplierID.DisplayMember = "Supplier";

            comboBoxSoftwareType.DataSource    = vSoftTypes;
            comboBoxSoftwareType.ValueMember   = "ID SoftType";
            comboBoxSoftwareType.DisplayMember = "SoftType";

            comboBoxLicType.DataSource    = vSoftLicTypes;
            comboBoxLicType.ValueMember   = "ID LicType";
            comboBoxLicType.DisplayMember = "LicType";

            comboBoxLicDocType.DataSource    = vSoftLicDocTypes;
            comboBoxLicDocType.ValueMember   = "ID DocType";
            comboBoxLicDocType.DisplayMember = "DocType";

            comboBoxOpBuyLicenseDate.SelectedIndex    = 0;
            comboBoxOpExpireLicenseDate.SelectedIndex = 0;

            foreach (Control control in Controls)
            {
                control.KeyDown += (sender, e) =>
                {
                    var comboBox = sender as ComboBox;
                    if (comboBox != null && comboBox.DroppedDown)
                    {
                        return;
                    }
                    if (e.KeyCode == Keys.Enter)
                    {
                        vButtonSearch_Click(sender, e);
                    }
                    else
                    if (e.KeyCode == Keys.Escape)
                    {
                        DialogResult = DialogResult.Cancel;
                    }
                }
            }
            ;
        }
コード例 #6
0
        public override void SaveRecord()
        {
            dataGridView.EndEdit();
            _syncViews = false;
            var list = SoftMakersFromViewport();

            if (!ValidateViewportData(list))
            {
                _syncViews = true;
                return;
            }
            for (var i = 0; i < list.Count; i++)
            {
                var row = _softMakers.Select().Rows.Find(list[i].IdSoftMaker);
                if (row == null)
                {
                    var idSoftMaker = SoftMakersDataModel.Insert(list[i]);
                    if (idSoftMaker == -1)
                    {
                        _syncViews = true;
                        return;
                    }
                    ((DataRowView)_vSnapshotSoftMakers[i])["ID SoftMaker"] = idSoftMaker;
                    _softMakers.Select().Rows.Add(DataRowViewToArray((DataRowView)_vSnapshotSoftMakers[i]));
                }
                else
                {
                    if (RowToSoftType(row) == list[i])
                    {
                        continue;
                    }
                    if (SoftMakersDataModel.Update(list[i]) == -1)
                    {
                        _syncViews = true;
                        return;
                    }
                    row["SoftMaker"] = list[i].SoftMakerName == null ? DBNull.Value : (object)list[i].SoftMakerName;
                }
            }
            list = SoftMakersFromView();
            for (var i = 0; i < list.Count; i++)
            {
                var rowIndex = -1;
                for (var j = 0; j < dataGridView.Rows.Count; j++)
                {
                    if ((dataGridView.Rows[j].Cells["idSoftMaker"].Value != null) &&
                        !string.IsNullOrEmpty(dataGridView.Rows[j].Cells["idSoftMaker"].Value.ToString()) &&
                        ((int)dataGridView.Rows[j].Cells["idSoftMaker"].Value == list[i].IdSoftMaker))
                    {
                        rowIndex = j;
                    }
                }
                if (rowIndex == -1)
                {
                    if (SoftMakersDataModel.Delete(list[i].IdSoftMaker.Value) == -1)
                    {
                        _syncViews = true;
                        return;
                    }
                    _softMakers.Select().Rows.Find(list[i].IdSoftMaker).Delete();
                }
            }
            _syncViews = true;
            MenuCallback.EditingStateUpdate();
        }