Example #1
0
 public History()
 {
     HistoryList = new List<BaseEntity>();
     CurrentItem = new BaseEntity();
 }
Example #2
0
        private void BuildParamsTable(BaseEntity data)
        {
            IsParamsTableFill = true;

            DataTable dt = new DataTable();
            dt.Columns.Add(new DataColumn("Param"));
            dt.Columns.Add(new DataColumn("Value"));
            dt.Columns.Add(new DataColumn("Type"));

            foreach (var par in data.GetType().GetFields())
            {
                if (par.FieldType.FullName == "System.String")
                {
                    paramsGridView.DataSource = dt;

                    var row = dt.NewRow();

                    row[0] = par.Name;
                    row[1] = data.GetType().GetField(par.Name).GetValue(data);// GetValue(data, null);

                    dt.Rows.Add(row);

                    paramsGridView.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
                    paramsGridView.Columns[0].ReadOnly = true;
                    paramsGridView.Columns[0].Width = 100;
                    paramsGridView.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
                    paramsGridView.RowHeadersVisible = false;
                    scParam.Panel2Collapsed = true;
                    btAddLinkedPerson.Visible = false;
                    btAddNoClient.Visible = false;
                    btAddDocument.Visible = false;
                }

                if (par.Name == "LinkedPersons")
                {
                    if (data is Agreement)
                    {
                        var d = (Agreement) data;
                        foreach (var item in d.LinkedPersons)
                        {
                            AddNewLinkedPersonParams(item.Rnk, item.PersonState);
                        }
                    }
                    scParam.Panel2Collapsed = false;
                    btAddLinkedPerson.Visible = true;
                }

                if (par.Name == "NoClients")
                {
                    scParam.Panel2Collapsed = false;
                    btAddNoClient.Visible = true;
                }

                if (par.Name == "Documents")
                {
                    scParam.Panel2Collapsed = false;
                    btAddDocument.Visible = true;
                    btAddDocument.Dock = DockStyle.Fill;
                }
            }
            paramsGridView.Columns[2].Visible = false;
            ResizeScParams();
        }