Przeglądaj źródła

支持合同协议文件的增加、删除、显示

Joey 6 miesięcy temu
rodzic
commit
198c7a96e3
3 zmienionych plików z 1604 dodań i 0 usunięć
  1. 873 0
      UICompany.Designer.cs
  2. 602 0
      UICompany.cs
  3. 129 0
      UICompany.resx

+ 873 - 0
UICompany.Designer.cs

@@ -0,0 +1,873 @@
+namespace DataManager
+{
+    partial class UICompany
+    {
+        /// <summary>
+        /// Required designer variable.
+        /// </summary>
+        private System.ComponentModel.IContainer components = null;
+
+        /// <summary>
+        /// Clean up any resources being used.
+        /// </summary>
+        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+        protected override void Dispose(bool disposing)
+        {
+            if (disposing && (components != null))
+            {
+                components.Dispose();
+            }
+            base.Dispose(disposing);
+        }
+
+        #region Windows Form Designer generated code
+
+        /// <summary>
+        /// Required method for Designer support - do not modify
+        /// the contents of this method with the code editor.
+        /// </summary>
+        private void InitializeComponent()
+        {
+            this.splitContainer1 = new System.Windows.Forms.SplitContainer();
+            this.txtCompanyId = new System.Windows.Forms.TextBox();
+            this.txtRegisterCode = new System.Windows.Forms.TextBox();
+            this.label3 = new System.Windows.Forms.Label();
+            this.label1 = new System.Windows.Forms.Label();
+            this.txtCompanyName = new System.Windows.Forms.TextBox();
+            this.tabControl1 = new System.Windows.Forms.TabControl();
+            this.tbpBasicInfo = new System.Windows.Forms.TabPage();
+            this.groupBox2 = new System.Windows.Forms.GroupBox();
+            this.cmbMainStrategy = new System.Windows.Forms.ComboBox();
+            this.btnSaveBasicInfo = new System.Windows.Forms.Button();
+            this.label16 = new System.Windows.Forms.Label();
+            this.label15 = new System.Windows.Forms.Label();
+            this.txtCompanyShortName = new System.Windows.Forms.TextBox();
+            this.groupBox1 = new System.Windows.Forms.GroupBox();
+            this.txtAmacUpdateDate = new System.Windows.Forms.TextBox();
+            this.label13 = new System.Windows.Forms.Label();
+            this.lklAmacURL = new System.Windows.Forms.LinkLabel();
+            this.txtOwner = new System.Windows.Forms.TextBox();
+            this.label10 = new System.Windows.Forms.Label();
+            this.txtIsQualifiedAdvisor = new System.Windows.Forms.TextBox();
+            this.label11 = new System.Windows.Forms.Label();
+            this.txtAssetSize = new System.Windows.Forms.TextBox();
+            this.label12 = new System.Windows.Forms.Label();
+            this.txtBusinessType = new System.Windows.Forms.TextBox();
+            this.label9 = new System.Windows.Forms.Label();
+            this.txtCompanyType = new System.Windows.Forms.TextBox();
+            this.label7 = new System.Windows.Forms.Label();
+            this.txtOrgType = new System.Windows.Forms.TextBox();
+            this.label8 = new System.Windows.Forms.Label();
+            this.txtBusinessAddress = new System.Windows.Forms.TextBox();
+            this.label5 = new System.Windows.Forms.Label();
+            this.txtOrgCode = new System.Windows.Forms.TextBox();
+            this.label6 = new System.Windows.Forms.Label();
+            this.txtRegisterAddress = new System.Windows.Forms.TextBox();
+            this.label4 = new System.Windows.Forms.Label();
+            this.txtIncoporationDate = new System.Windows.Forms.TextBox();
+            this.label2 = new System.Windows.Forms.Label();
+            this.tbpPeople = new System.Windows.Forms.TabPage();
+            this.grdContacts = new System.Windows.Forms.DataGridView();
+            this.panel1 = new System.Windows.Forms.Panel();
+            this.lblContactsCount = new System.Windows.Forms.Label();
+            this.label17 = new System.Windows.Forms.Label();
+            this.btnSaveContact = new System.Windows.Forms.Button();
+            this.tbpProducts = new System.Windows.Forms.TabPage();
+            this.sstCompany = new System.Windows.Forms.StatusStrip();
+            this.grdFund = new System.Windows.Forms.DataGridView();
+            this.panel2 = new System.Windows.Forms.Panel();
+            this.dtpInceptionDate = new System.Windows.Forms.DateTimePicker();
+            this.label19 = new System.Windows.Forms.Label();
+            this.cmbStrategy = new System.Windows.Forms.ComboBox();
+            this.label18 = new System.Windows.Forms.Label();
+            this.tbpContracts = new System.Windows.Forms.TabPage();
+            this.groupBox4 = new System.Windows.Forms.GroupBox();
+            this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
+            this.btnUploadFile = new System.Windows.Forms.Button();
+            this.groupBox3 = new System.Windows.Forms.GroupBox();
+            this.clbContactor = new System.Windows.Forms.CheckedListBox();
+            this.clbCollector = new System.Windows.Forms.CheckedListBox();
+            this.btnSaveContactor = new System.Windows.Forms.Button();
+            this.label20 = new System.Windows.Forms.Label();
+            this.label14 = new System.Windows.Forms.Label();
+            this.ofdUploadFile = new System.Windows.Forms.OpenFileDialog();
+            ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
+            this.splitContainer1.Panel1.SuspendLayout();
+            this.splitContainer1.Panel2.SuspendLayout();
+            this.splitContainer1.SuspendLayout();
+            this.tabControl1.SuspendLayout();
+            this.tbpBasicInfo.SuspendLayout();
+            this.groupBox2.SuspendLayout();
+            this.groupBox1.SuspendLayout();
+            this.tbpPeople.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.grdContacts)).BeginInit();
+            this.panel1.SuspendLayout();
+            this.tbpProducts.SuspendLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.grdFund)).BeginInit();
+            this.panel2.SuspendLayout();
+            this.tbpContracts.SuspendLayout();
+            this.groupBox4.SuspendLayout();
+            this.flowLayoutPanel1.SuspendLayout();
+            this.groupBox3.SuspendLayout();
+            this.SuspendLayout();
+            // 
+            // splitContainer1
+            // 
+            this.splitContainer1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.splitContainer1.Location = new System.Drawing.Point(0, 0);
+            this.splitContainer1.Name = "splitContainer1";
+            this.splitContainer1.Orientation = System.Windows.Forms.Orientation.Horizontal;
+            // 
+            // splitContainer1.Panel1
+            // 
+            this.splitContainer1.Panel1.BackColor = System.Drawing.Color.Wheat;
+            this.splitContainer1.Panel1.Controls.Add(this.txtCompanyId);
+            this.splitContainer1.Panel1.Controls.Add(this.txtRegisterCode);
+            this.splitContainer1.Panel1.Controls.Add(this.label3);
+            this.splitContainer1.Panel1.Controls.Add(this.label1);
+            this.splitContainer1.Panel1.Controls.Add(this.txtCompanyName);
+            this.splitContainer1.Panel1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            // 
+            // splitContainer1.Panel2
+            // 
+            this.splitContainer1.Panel2.Controls.Add(this.tabControl1);
+            this.splitContainer1.Panel2.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.splitContainer1.Size = new System.Drawing.Size(800, 450);
+            this.splitContainer1.SplitterDistance = 57;
+            this.splitContainer1.TabIndex = 0;
+            // 
+            // txtCompanyId
+            // 
+            this.txtCompanyId.BackColor = System.Drawing.Color.Wheat;
+            this.txtCompanyId.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.txtCompanyId.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtCompanyId.Location = new System.Drawing.Point(687, 20);
+            this.txtCompanyId.Name = "txtCompanyId";
+            this.txtCompanyId.Size = new System.Drawing.Size(90, 16);
+            this.txtCompanyId.TabIndex = 9;
+            this.txtCompanyId.Text = "Company Id";
+            // 
+            // txtRegisterCode
+            // 
+            this.txtRegisterCode.BackColor = System.Drawing.Color.Wheat;
+            this.txtRegisterCode.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.txtRegisterCode.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtRegisterCode.Location = new System.Drawing.Point(502, 20);
+            this.txtRegisterCode.Name = "txtRegisterCode";
+            this.txtRegisterCode.Size = new System.Drawing.Size(79, 16);
+            this.txtRegisterCode.TabIndex = 8;
+            this.txtRegisterCode.Text = "Register No";
+            // 
+            // label3
+            // 
+            this.label3.AutoSize = true;
+            this.label3.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label3.Location = new System.Drawing.Point(625, 20);
+            this.label3.Name = "label3";
+            this.label3.Size = new System.Drawing.Size(56, 17);
+            this.label3.TabIndex = 7;
+            this.label3.Text = "公司代码";
+            // 
+            // label1
+            // 
+            this.label1.AutoSize = true;
+            this.label1.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.label1.Location = new System.Drawing.Point(440, 20);
+            this.label1.Name = "label1";
+            this.label1.Size = new System.Drawing.Size(56, 17);
+            this.label1.TabIndex = 6;
+            this.label1.Text = "协会编号";
+            // 
+            // txtCompanyName
+            // 
+            this.txtCompanyName.BackColor = System.Drawing.Color.Wheat;
+            this.txtCompanyName.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.txtCompanyName.Font = new System.Drawing.Font("微软雅黑", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.txtCompanyName.Location = new System.Drawing.Point(23, 19);
+            this.txtCompanyName.Name = "txtCompanyName";
+            this.txtCompanyName.Size = new System.Drawing.Size(291, 19);
+            this.txtCompanyName.TabIndex = 0;
+            this.txtCompanyName.Text = "Company Name";
+            // 
+            // tabControl1
+            // 
+            this.tabControl1.Controls.Add(this.tbpBasicInfo);
+            this.tabControl1.Controls.Add(this.tbpPeople);
+            this.tabControl1.Controls.Add(this.tbpProducts);
+            this.tabControl1.Controls.Add(this.tbpContracts);
+            this.tabControl1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.tabControl1.ItemSize = new System.Drawing.Size(60, 26);
+            this.tabControl1.Location = new System.Drawing.Point(0, 0);
+            this.tabControl1.Margin = new System.Windows.Forms.Padding(6);
+            this.tabControl1.Name = "tabControl1";
+            this.tabControl1.SelectedIndex = 0;
+            this.tabControl1.Size = new System.Drawing.Size(800, 389);
+            this.tabControl1.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
+            this.tabControl1.TabIndex = 0;
+            // 
+            // tbpBasicInfo
+            // 
+            this.tbpBasicInfo.Controls.Add(this.groupBox2);
+            this.tbpBasicInfo.Controls.Add(this.groupBox1);
+            this.tbpBasicInfo.Location = new System.Drawing.Point(4, 30);
+            this.tbpBasicInfo.Name = "tbpBasicInfo";
+            this.tbpBasicInfo.Padding = new System.Windows.Forms.Padding(3);
+            this.tbpBasicInfo.Size = new System.Drawing.Size(792, 355);
+            this.tbpBasicInfo.TabIndex = 0;
+            this.tbpBasicInfo.Text = "基本信息";
+            this.tbpBasicInfo.UseVisualStyleBackColor = true;
+            // 
+            // groupBox2
+            // 
+            this.groupBox2.BackColor = System.Drawing.Color.Transparent;
+            this.groupBox2.Controls.Add(this.cmbMainStrategy);
+            this.groupBox2.Controls.Add(this.btnSaveBasicInfo);
+            this.groupBox2.Controls.Add(this.label16);
+            this.groupBox2.Controls.Add(this.label15);
+            this.groupBox2.Controls.Add(this.txtCompanyShortName);
+            this.groupBox2.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.groupBox2.Location = new System.Drawing.Point(3, 228);
+            this.groupBox2.Name = "groupBox2";
+            this.groupBox2.Size = new System.Drawing.Size(786, 124);
+            this.groupBox2.TabIndex = 1;
+            this.groupBox2.TabStop = false;
+            // 
+            // cmbMainStrategy
+            // 
+            this.cmbMainStrategy.Enabled = false;
+            this.cmbMainStrategy.FormattingEnabled = true;
+            this.cmbMainStrategy.Location = new System.Drawing.Point(378, 35);
+            this.cmbMainStrategy.Name = "cmbMainStrategy";
+            this.cmbMainStrategy.Size = new System.Drawing.Size(121, 25);
+            this.cmbMainStrategy.TabIndex = 30;
+            // 
+            // btnSaveBasicInfo
+            // 
+            this.btnSaveBasicInfo.Enabled = false;
+            this.btnSaveBasicInfo.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.btnSaveBasicInfo.Location = new System.Drawing.Point(660, 84);
+            this.btnSaveBasicInfo.Name = "btnSaveBasicInfo";
+            this.btnSaveBasicInfo.Size = new System.Drawing.Size(96, 28);
+            this.btnSaveBasicInfo.TabIndex = 29;
+            this.btnSaveBasicInfo.Text = "保 存";
+            this.btnSaveBasicInfo.UseVisualStyleBackColor = true;
+            this.btnSaveBasicInfo.Click += new System.EventHandler(this.btnSaveBasicInfo_Click);
+            // 
+            // label16
+            // 
+            this.label16.AutoSize = true;
+            this.label16.Location = new System.Drawing.Point(16, 38);
+            this.label16.Name = "label16";
+            this.label16.Size = new System.Drawing.Size(56, 17);
+            this.label16.TabIndex = 23;
+            this.label16.Text = "公司简称";
+            // 
+            // label15
+            // 
+            this.label15.AutoSize = true;
+            this.label15.Location = new System.Drawing.Point(299, 38);
+            this.label15.Name = "label15";
+            this.label15.Size = new System.Drawing.Size(56, 17);
+            this.label15.TabIndex = 25;
+            this.label15.Text = "主要策略";
+            // 
+            // txtCompanyShortName
+            // 
+            this.txtCompanyShortName.BackColor = System.Drawing.SystemColors.Window;
+            this.txtCompanyShortName.Location = new System.Drawing.Point(95, 35);
+            this.txtCompanyShortName.Name = "txtCompanyShortName";
+            this.txtCompanyShortName.Size = new System.Drawing.Size(149, 23);
+            this.txtCompanyShortName.TabIndex = 24;
+            this.txtCompanyShortName.Text = "ABCD";
+            // 
+            // groupBox1
+            // 
+            this.groupBox1.Controls.Add(this.txtAmacUpdateDate);
+            this.groupBox1.Controls.Add(this.label13);
+            this.groupBox1.Controls.Add(this.lklAmacURL);
+            this.groupBox1.Controls.Add(this.txtOwner);
+            this.groupBox1.Controls.Add(this.label10);
+            this.groupBox1.Controls.Add(this.txtIsQualifiedAdvisor);
+            this.groupBox1.Controls.Add(this.label11);
+            this.groupBox1.Controls.Add(this.txtAssetSize);
+            this.groupBox1.Controls.Add(this.label12);
+            this.groupBox1.Controls.Add(this.txtBusinessType);
+            this.groupBox1.Controls.Add(this.label9);
+            this.groupBox1.Controls.Add(this.txtCompanyType);
+            this.groupBox1.Controls.Add(this.label7);
+            this.groupBox1.Controls.Add(this.txtOrgType);
+            this.groupBox1.Controls.Add(this.label8);
+            this.groupBox1.Controls.Add(this.txtBusinessAddress);
+            this.groupBox1.Controls.Add(this.label5);
+            this.groupBox1.Controls.Add(this.txtOrgCode);
+            this.groupBox1.Controls.Add(this.label6);
+            this.groupBox1.Controls.Add(this.txtRegisterAddress);
+            this.groupBox1.Controls.Add(this.label4);
+            this.groupBox1.Controls.Add(this.txtIncoporationDate);
+            this.groupBox1.Controls.Add(this.label2);
+            this.groupBox1.Dock = System.Windows.Forms.DockStyle.Top;
+            this.groupBox1.Location = new System.Drawing.Point(3, 3);
+            this.groupBox1.Name = "groupBox1";
+            this.groupBox1.Size = new System.Drawing.Size(786, 225);
+            this.groupBox1.TabIndex = 0;
+            this.groupBox1.TabStop = false;
+            this.groupBox1.Text = "协会信息";
+            // 
+            // txtAmacUpdateDate
+            // 
+            this.txtAmacUpdateDate.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.txtAmacUpdateDate.Location = new System.Drawing.Point(660, 183);
+            this.txtAmacUpdateDate.Name = "txtAmacUpdateDate";
+            this.txtAmacUpdateDate.Size = new System.Drawing.Size(96, 16);
+            this.txtAmacUpdateDate.TabIndex = 22;
+            this.txtAmacUpdateDate.Text = "XXXX-XX-XX";
+            // 
+            // label13
+            // 
+            this.label13.AutoSize = true;
+            this.label13.Location = new System.Drawing.Point(581, 183);
+            this.label13.Name = "label13";
+            this.label13.Size = new System.Drawing.Size(56, 17);
+            this.label13.TabIndex = 21;
+            this.label13.Text = "更新时间";
+            // 
+            // lklAmacURL
+            // 
+            this.lklAmacURL.AutoSize = true;
+            this.lklAmacURL.Location = new System.Drawing.Point(19, 183);
+            this.lklAmacURL.Name = "lklAmacURL";
+            this.lklAmacURL.Size = new System.Drawing.Size(56, 17);
+            this.lklAmacURL.TabIndex = 20;
+            this.lklAmacURL.TabStop = true;
+            this.lklAmacURL.Text = "协会链接";
+            // 
+            // txtOwner
+            // 
+            this.txtOwner.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.txtOwner.Location = new System.Drawing.Point(660, 147);
+            this.txtOwner.Name = "txtOwner";
+            this.txtOwner.Size = new System.Drawing.Size(96, 16);
+            this.txtOwner.TabIndex = 19;
+            this.txtOwner.Text = "Real Owner";
+            // 
+            // label10
+            // 
+            this.label10.AutoSize = true;
+            this.label10.Location = new System.Drawing.Point(581, 147);
+            this.label10.Name = "label10";
+            this.label10.Size = new System.Drawing.Size(44, 17);
+            this.label10.TabIndex = 18;
+            this.label10.Text = "实控人";
+            // 
+            // txtIsQualifiedAdvisor
+            // 
+            this.txtIsQualifiedAdvisor.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.txtIsQualifiedAdvisor.Location = new System.Drawing.Point(378, 147);
+            this.txtIsQualifiedAdvisor.Name = "txtIsQualifiedAdvisor";
+            this.txtIsQualifiedAdvisor.Size = new System.Drawing.Size(111, 16);
+            this.txtIsQualifiedAdvisor.TabIndex = 17;
+            this.txtIsQualifiedAdvisor.Text = "Qualified Advisor";
+            // 
+            // label11
+            // 
+            this.label11.AutoSize = true;
+            this.label11.Location = new System.Drawing.Point(299, 147);
+            this.label11.Name = "label11";
+            this.label11.Size = new System.Drawing.Size(56, 17);
+            this.label11.TabIndex = 16;
+            this.label11.Text = "三方投顾";
+            // 
+            // txtAssetSize
+            // 
+            this.txtAssetSize.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.txtAssetSize.Location = new System.Drawing.Point(95, 147);
+            this.txtAssetSize.Name = "txtAssetSize";
+            this.txtAssetSize.Size = new System.Drawing.Size(149, 16);
+            this.txtAssetSize.TabIndex = 15;
+            this.txtAssetSize.Text = "50-100亿";
+            // 
+            // label12
+            // 
+            this.label12.AutoSize = true;
+            this.label12.Location = new System.Drawing.Point(16, 147);
+            this.label12.Name = "label12";
+            this.label12.Size = new System.Drawing.Size(56, 17);
+            this.label12.TabIndex = 14;
+            this.label12.Text = "管理规模";
+            // 
+            // txtBusinessType
+            // 
+            this.txtBusinessType.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.txtBusinessType.Location = new System.Drawing.Point(660, 111);
+            this.txtBusinessType.Name = "txtBusinessType";
+            this.txtBusinessType.Size = new System.Drawing.Size(96, 16);
+            this.txtBusinessType.TabIndex = 13;
+            this.txtBusinessType.Text = "Business Type";
+            // 
+            // label9
+            // 
+            this.label9.AutoSize = true;
+            this.label9.Location = new System.Drawing.Point(581, 111);
+            this.label9.Name = "label9";
+            this.label9.Size = new System.Drawing.Size(56, 17);
+            this.label9.TabIndex = 12;
+            this.label9.Text = "业务类型";
+            // 
+            // txtCompanyType
+            // 
+            this.txtCompanyType.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.txtCompanyType.Location = new System.Drawing.Point(378, 111);
+            this.txtCompanyType.Name = "txtCompanyType";
+            this.txtCompanyType.Size = new System.Drawing.Size(111, 16);
+            this.txtCompanyType.TabIndex = 11;
+            this.txtCompanyType.Text = "Company Type";
+            // 
+            // label7
+            // 
+            this.label7.AutoSize = true;
+            this.label7.Location = new System.Drawing.Point(299, 111);
+            this.label7.Name = "label7";
+            this.label7.Size = new System.Drawing.Size(56, 17);
+            this.label7.TabIndex = 10;
+            this.label7.Text = "机构类型";
+            // 
+            // txtOrgType
+            // 
+            this.txtOrgType.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.txtOrgType.Location = new System.Drawing.Point(95, 111);
+            this.txtOrgType.Name = "txtOrgType";
+            this.txtOrgType.Size = new System.Drawing.Size(149, 16);
+            this.txtOrgType.TabIndex = 9;
+            this.txtOrgType.Text = "Organization Type";
+            // 
+            // label8
+            // 
+            this.label8.AutoSize = true;
+            this.label8.Location = new System.Drawing.Point(16, 111);
+            this.label8.Name = "label8";
+            this.label8.Size = new System.Drawing.Size(56, 17);
+            this.label8.TabIndex = 8;
+            this.label8.Text = "企业性质";
+            // 
+            // txtBusinessAddress
+            // 
+            this.txtBusinessAddress.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.txtBusinessAddress.Location = new System.Drawing.Point(378, 75);
+            this.txtBusinessAddress.Name = "txtBusinessAddress";
+            this.txtBusinessAddress.Size = new System.Drawing.Size(378, 16);
+            this.txtBusinessAddress.TabIndex = 7;
+            this.txtBusinessAddress.Text = "Business Address";
+            // 
+            // label5
+            // 
+            this.label5.AutoSize = true;
+            this.label5.Location = new System.Drawing.Point(299, 75);
+            this.label5.Name = "label5";
+            this.label5.Size = new System.Drawing.Size(56, 17);
+            this.label5.TabIndex = 6;
+            this.label5.Text = "办公地址";
+            // 
+            // txtOrgCode
+            // 
+            this.txtOrgCode.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.txtOrgCode.Location = new System.Drawing.Point(95, 75);
+            this.txtOrgCode.Name = "txtOrgCode";
+            this.txtOrgCode.Size = new System.Drawing.Size(149, 16);
+            this.txtOrgCode.TabIndex = 5;
+            this.txtOrgCode.Text = "012345678901234567";
+            // 
+            // label6
+            // 
+            this.label6.AutoSize = true;
+            this.label6.Location = new System.Drawing.Point(16, 75);
+            this.label6.Name = "label6";
+            this.label6.Size = new System.Drawing.Size(56, 17);
+            this.label6.TabIndex = 4;
+            this.label6.Text = "组织代码";
+            // 
+            // txtRegisterAddress
+            // 
+            this.txtRegisterAddress.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.txtRegisterAddress.Location = new System.Drawing.Point(378, 39);
+            this.txtRegisterAddress.Name = "txtRegisterAddress";
+            this.txtRegisterAddress.Size = new System.Drawing.Size(378, 16);
+            this.txtRegisterAddress.TabIndex = 3;
+            this.txtRegisterAddress.Text = "Register Address";
+            // 
+            // label4
+            // 
+            this.label4.AutoSize = true;
+            this.label4.Location = new System.Drawing.Point(299, 39);
+            this.label4.Name = "label4";
+            this.label4.Size = new System.Drawing.Size(56, 17);
+            this.label4.TabIndex = 2;
+            this.label4.Text = "注册地址";
+            // 
+            // txtIncoporationDate
+            // 
+            this.txtIncoporationDate.BorderStyle = System.Windows.Forms.BorderStyle.None;
+            this.txtIncoporationDate.Location = new System.Drawing.Point(95, 39);
+            this.txtIncoporationDate.Name = "txtIncoporationDate";
+            this.txtIncoporationDate.Size = new System.Drawing.Size(100, 16);
+            this.txtIncoporationDate.TabIndex = 1;
+            this.txtIncoporationDate.Text = "XXXX-XX-XX";
+            // 
+            // label2
+            // 
+            this.label2.AutoSize = true;
+            this.label2.Location = new System.Drawing.Point(16, 39);
+            this.label2.Name = "label2";
+            this.label2.Size = new System.Drawing.Size(56, 17);
+            this.label2.TabIndex = 0;
+            this.label2.Text = "成立时间";
+            // 
+            // tbpPeople
+            // 
+            this.tbpPeople.Controls.Add(this.grdContacts);
+            this.tbpPeople.Controls.Add(this.panel1);
+            this.tbpPeople.Location = new System.Drawing.Point(4, 30);
+            this.tbpPeople.Name = "tbpPeople";
+            this.tbpPeople.Padding = new System.Windows.Forms.Padding(3);
+            this.tbpPeople.Size = new System.Drawing.Size(792, 355);
+            this.tbpPeople.TabIndex = 1;
+            this.tbpPeople.Text = "人员";
+            this.tbpPeople.UseVisualStyleBackColor = true;
+            // 
+            // grdContacts
+            // 
+            this.grdContacts.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+            this.grdContacts.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.grdContacts.Location = new System.Drawing.Point(3, 53);
+            this.grdContacts.Name = "grdContacts";
+            this.grdContacts.RowTemplate.Height = 23;
+            this.grdContacts.Size = new System.Drawing.Size(786, 299);
+            this.grdContacts.TabIndex = 1;
+            // 
+            // panel1
+            // 
+            this.panel1.BackColor = System.Drawing.Color.Linen;
+            this.panel1.Controls.Add(this.lblContactsCount);
+            this.panel1.Controls.Add(this.label17);
+            this.panel1.Controls.Add(this.btnSaveContact);
+            this.panel1.Dock = System.Windows.Forms.DockStyle.Top;
+            this.panel1.Location = new System.Drawing.Point(3, 3);
+            this.panel1.Name = "panel1";
+            this.panel1.Size = new System.Drawing.Size(786, 50);
+            this.panel1.TabIndex = 0;
+            // 
+            // lblContactsCount
+            // 
+            this.lblContactsCount.AutoSize = true;
+            this.lblContactsCount.Location = new System.Drawing.Point(88, 19);
+            this.lblContactsCount.Name = "lblContactsCount";
+            this.lblContactsCount.Size = new System.Drawing.Size(15, 17);
+            this.lblContactsCount.TabIndex = 8;
+            this.lblContactsCount.Text = "0";
+            // 
+            // label17
+            // 
+            this.label17.AutoSize = true;
+            this.label17.Location = new System.Drawing.Point(13, 19);
+            this.label17.Name = "label17";
+            this.label17.Size = new System.Drawing.Size(80, 17);
+            this.label17.TabIndex = 7;
+            this.label17.Text = "联系人总数:";
+            // 
+            // btnSaveContact
+            // 
+            this.btnSaveContact.Location = new System.Drawing.Point(649, 13);
+            this.btnSaveContact.Name = "btnSaveContact";
+            this.btnSaveContact.Size = new System.Drawing.Size(121, 28);
+            this.btnSaveContact.TabIndex = 0;
+            this.btnSaveContact.Text = "保 存";
+            this.btnSaveContact.UseVisualStyleBackColor = true;
+            this.btnSaveContact.Click += new System.EventHandler(this.btnSaveContact_Click);
+            // 
+            // tbpProducts
+            // 
+            this.tbpProducts.Controls.Add(this.sstCompany);
+            this.tbpProducts.Controls.Add(this.grdFund);
+            this.tbpProducts.Controls.Add(this.panel2);
+            this.tbpProducts.Location = new System.Drawing.Point(4, 30);
+            this.tbpProducts.Name = "tbpProducts";
+            this.tbpProducts.Size = new System.Drawing.Size(792, 355);
+            this.tbpProducts.TabIndex = 2;
+            this.tbpProducts.Text = "产品";
+            this.tbpProducts.UseVisualStyleBackColor = true;
+            // 
+            // sstCompany
+            // 
+            this.sstCompany.Location = new System.Drawing.Point(0, 333);
+            this.sstCompany.Name = "sstCompany";
+            this.sstCompany.Size = new System.Drawing.Size(792, 22);
+            this.sstCompany.TabIndex = 2;
+            this.sstCompany.Text = "statusStrip1";
+            // 
+            // grdFund
+            // 
+            this.grdFund.AllowUserToAddRows = false;
+            this.grdFund.AllowUserToDeleteRows = false;
+            this.grdFund.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
+            this.grdFund.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.grdFund.Location = new System.Drawing.Point(0, 56);
+            this.grdFund.Name = "grdFund";
+            this.grdFund.ReadOnly = true;
+            this.grdFund.RowHeadersVisible = false;
+            this.grdFund.RowTemplate.Height = 23;
+            this.grdFund.Size = new System.Drawing.Size(792, 299);
+            this.grdFund.TabIndex = 1;
+            this.grdFund.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.grdFund_CellContentClick);
+            // 
+            // panel2
+            // 
+            this.panel2.Controls.Add(this.dtpInceptionDate);
+            this.panel2.Controls.Add(this.label19);
+            this.panel2.Controls.Add(this.cmbStrategy);
+            this.panel2.Controls.Add(this.label18);
+            this.panel2.Dock = System.Windows.Forms.DockStyle.Top;
+            this.panel2.Location = new System.Drawing.Point(0, 0);
+            this.panel2.Name = "panel2";
+            this.panel2.Size = new System.Drawing.Size(792, 56);
+            this.panel2.TabIndex = 0;
+            // 
+            // dtpInceptionDate
+            // 
+            this.dtpInceptionDate.Location = new System.Drawing.Point(317, 16);
+            this.dtpInceptionDate.Name = "dtpInceptionDate";
+            this.dtpInceptionDate.Size = new System.Drawing.Size(114, 23);
+            this.dtpInceptionDate.TabIndex = 3;
+            this.dtpInceptionDate.ValueChanged += new System.EventHandler(this.dtpInceptionDate_ValueChanged);
+            // 
+            // label19
+            // 
+            this.label19.AutoSize = true;
+            this.label19.Location = new System.Drawing.Point(254, 18);
+            this.label19.Name = "label19";
+            this.label19.Size = new System.Drawing.Size(56, 17);
+            this.label19.TabIndex = 2;
+            this.label19.Text = "成立早于";
+            // 
+            // cmbStrategy
+            // 
+            this.cmbStrategy.FormattingEnabled = true;
+            this.cmbStrategy.Location = new System.Drawing.Point(80, 15);
+            this.cmbStrategy.Name = "cmbStrategy";
+            this.cmbStrategy.Size = new System.Drawing.Size(121, 25);
+            this.cmbStrategy.TabIndex = 1;
+            this.cmbStrategy.SelectedIndexChanged += new System.EventHandler(this.cmbStrategy_SelectedIndexChanged);
+            // 
+            // label18
+            // 
+            this.label18.AutoSize = true;
+            this.label18.Location = new System.Drawing.Point(9, 18);
+            this.label18.Name = "label18";
+            this.label18.Size = new System.Drawing.Size(56, 17);
+            this.label18.TabIndex = 0;
+            this.label18.Text = "投资策略";
+            // 
+            // tbpContracts
+            // 
+            this.tbpContracts.Controls.Add(this.groupBox4);
+            this.tbpContracts.Controls.Add(this.groupBox3);
+            this.tbpContracts.Location = new System.Drawing.Point(4, 30);
+            this.tbpContracts.Margin = new System.Windows.Forms.Padding(6);
+            this.tbpContracts.Name = "tbpContracts";
+            this.tbpContracts.Padding = new System.Windows.Forms.Padding(3);
+            this.tbpContracts.Size = new System.Drawing.Size(792, 355);
+            this.tbpContracts.TabIndex = 3;
+            this.tbpContracts.Text = "合作";
+            this.tbpContracts.UseVisualStyleBackColor = true;
+            // 
+            // groupBox4
+            // 
+            this.groupBox4.Controls.Add(this.flowLayoutPanel1);
+            this.groupBox4.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.groupBox4.Location = new System.Drawing.Point(3, 155);
+            this.groupBox4.Name = "groupBox4";
+            this.groupBox4.Size = new System.Drawing.Size(786, 197);
+            this.groupBox4.TabIndex = 1;
+            this.groupBox4.TabStop = false;
+            this.groupBox4.Text = "协议文件";
+            // 
+            // flowLayoutPanel1
+            // 
+            this.flowLayoutPanel1.AutoScroll = true;
+            this.flowLayoutPanel1.Controls.Add(this.btnUploadFile);
+            this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
+            this.flowLayoutPanel1.Location = new System.Drawing.Point(3, 19);
+            this.flowLayoutPanel1.Name = "flowLayoutPanel1";
+            this.flowLayoutPanel1.Size = new System.Drawing.Size(780, 175);
+            this.flowLayoutPanel1.TabIndex = 0;
+            // 
+            // btnUploadFile
+            // 
+            this.btnUploadFile.Location = new System.Drawing.Point(3, 3);
+            this.btnUploadFile.Name = "btnUploadFile";
+            this.btnUploadFile.Size = new System.Drawing.Size(133, 170);
+            this.btnUploadFile.TabIndex = 0;
+            this.btnUploadFile.Text = "上传协议";
+            this.btnUploadFile.UseVisualStyleBackColor = true;
+            this.btnUploadFile.Click += new System.EventHandler(this.btnUploadFile_Click);
+            // 
+            // groupBox3
+            // 
+            this.groupBox3.Controls.Add(this.clbContactor);
+            this.groupBox3.Controls.Add(this.clbCollector);
+            this.groupBox3.Controls.Add(this.btnSaveContactor);
+            this.groupBox3.Controls.Add(this.label20);
+            this.groupBox3.Controls.Add(this.label14);
+            this.groupBox3.Dock = System.Windows.Forms.DockStyle.Top;
+            this.groupBox3.Location = new System.Drawing.Point(3, 3);
+            this.groupBox3.Name = "groupBox3";
+            this.groupBox3.Size = new System.Drawing.Size(786, 152);
+            this.groupBox3.TabIndex = 0;
+            this.groupBox3.TabStop = false;
+            // 
+            // clbContactor
+            // 
+            this.clbContactor.FormattingEnabled = true;
+            this.clbContactor.Location = new System.Drawing.Point(101, 23);
+            this.clbContactor.Name = "clbContactor";
+            this.clbContactor.Size = new System.Drawing.Size(138, 94);
+            this.clbContactor.TabIndex = 6;
+            // 
+            // clbCollector
+            // 
+            this.clbCollector.FormattingEnabled = true;
+            this.clbCollector.Location = new System.Drawing.Point(408, 23);
+            this.clbCollector.Name = "clbCollector";
+            this.clbCollector.Size = new System.Drawing.Size(138, 94);
+            this.clbCollector.TabIndex = 7;
+            // 
+            // btnSaveContactor
+            // 
+            this.btnSaveContactor.Location = new System.Drawing.Point(652, 21);
+            this.btnSaveContactor.Name = "btnSaveContactor";
+            this.btnSaveContactor.Size = new System.Drawing.Size(121, 28);
+            this.btnSaveContactor.TabIndex = 4;
+            this.btnSaveContactor.Text = "保 存";
+            this.btnSaveContactor.UseVisualStyleBackColor = true;
+            this.btnSaveContactor.Click += new System.EventHandler(this.btnSaveContactor_Click);
+            // 
+            // label20
+            // 
+            this.label20.AutoSize = true;
+            this.label20.Location = new System.Drawing.Point(326, 27);
+            this.label20.Name = "label20";
+            this.label20.Size = new System.Drawing.Size(44, 17);
+            this.label20.TabIndex = 2;
+            this.label20.Text = "数据员";
+            // 
+            // label14
+            // 
+            this.label14.AutoSize = true;
+            this.label14.Location = new System.Drawing.Point(19, 27);
+            this.label14.Name = "label14";
+            this.label14.Size = new System.Drawing.Size(44, 17);
+            this.label14.TabIndex = 0;
+            this.label14.Text = "联络员";
+            // 
+            // UICompany
+            // 
+            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
+            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+            this.ClientSize = new System.Drawing.Size(800, 450);
+            this.Controls.Add(this.splitContainer1);
+            this.Name = "UICompany";
+            this.Text = "公司";
+            this.splitContainer1.Panel1.ResumeLayout(false);
+            this.splitContainer1.Panel1.PerformLayout();
+            this.splitContainer1.Panel2.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).EndInit();
+            this.splitContainer1.ResumeLayout(false);
+            this.tabControl1.ResumeLayout(false);
+            this.tbpBasicInfo.ResumeLayout(false);
+            this.groupBox2.ResumeLayout(false);
+            this.groupBox2.PerformLayout();
+            this.groupBox1.ResumeLayout(false);
+            this.groupBox1.PerformLayout();
+            this.tbpPeople.ResumeLayout(false);
+            ((System.ComponentModel.ISupportInitialize)(this.grdContacts)).EndInit();
+            this.panel1.ResumeLayout(false);
+            this.panel1.PerformLayout();
+            this.tbpProducts.ResumeLayout(false);
+            this.tbpProducts.PerformLayout();
+            ((System.ComponentModel.ISupportInitialize)(this.grdFund)).EndInit();
+            this.panel2.ResumeLayout(false);
+            this.panel2.PerformLayout();
+            this.tbpContracts.ResumeLayout(false);
+            this.groupBox4.ResumeLayout(false);
+            this.flowLayoutPanel1.ResumeLayout(false);
+            this.groupBox3.ResumeLayout(false);
+            this.groupBox3.PerformLayout();
+            this.ResumeLayout(false);
+
+        }
+
+        #endregion
+
+        private System.Windows.Forms.SplitContainer splitContainer1;
+        private System.Windows.Forms.TabControl tabControl1;
+        private System.Windows.Forms.TabPage tbpBasicInfo;
+        private System.Windows.Forms.TabPage tbpPeople;
+        private System.Windows.Forms.TabPage tbpProducts;
+        private System.Windows.Forms.TabPage tbpContracts;
+        private System.Windows.Forms.TextBox txtCompanyName;
+        private System.Windows.Forms.TextBox txtCompanyId;
+        private System.Windows.Forms.TextBox txtRegisterCode;
+        private System.Windows.Forms.Label label3;
+        private System.Windows.Forms.Label label1;
+        private System.Windows.Forms.GroupBox groupBox1;
+        private System.Windows.Forms.GroupBox groupBox2;
+        private System.Windows.Forms.TextBox txtRegisterAddress;
+        private System.Windows.Forms.Label label4;
+        private System.Windows.Forms.TextBox txtIncoporationDate;
+        private System.Windows.Forms.Label label2;
+        private System.Windows.Forms.TextBox txtBusinessAddress;
+        private System.Windows.Forms.Label label5;
+        private System.Windows.Forms.TextBox txtOrgCode;
+        private System.Windows.Forms.Label label6;
+        private System.Windows.Forms.TextBox txtCompanyType;
+        private System.Windows.Forms.Label label7;
+        private System.Windows.Forms.TextBox txtOrgType;
+        private System.Windows.Forms.Label label8;
+        private System.Windows.Forms.TextBox txtAmacUpdateDate;
+        private System.Windows.Forms.Label label13;
+        private System.Windows.Forms.LinkLabel lklAmacURL;
+        private System.Windows.Forms.TextBox txtOwner;
+        private System.Windows.Forms.Label label10;
+        private System.Windows.Forms.TextBox txtIsQualifiedAdvisor;
+        private System.Windows.Forms.Label label11;
+        private System.Windows.Forms.TextBox txtAssetSize;
+        private System.Windows.Forms.Label label12;
+        private System.Windows.Forms.TextBox txtBusinessType;
+        private System.Windows.Forms.Label label9;
+        private System.Windows.Forms.Label label16;
+        private System.Windows.Forms.Label label15;
+        private System.Windows.Forms.TextBox txtCompanyShortName;
+        private System.Windows.Forms.Button btnSaveBasicInfo;
+        private System.Windows.Forms.ComboBox cmbMainStrategy;
+        private System.Windows.Forms.DataGridView grdContacts;
+        private System.Windows.Forms.Panel panel1;
+        private System.Windows.Forms.Button btnSaveContact;
+        private System.Windows.Forms.Label lblContactsCount;
+        private System.Windows.Forms.Label label17;
+        private System.Windows.Forms.DataGridView grdFund;
+        private System.Windows.Forms.Panel panel2;
+        private System.Windows.Forms.ComboBox cmbStrategy;
+        private System.Windows.Forms.Label label18;
+        private System.Windows.Forms.Label label19;
+        private System.Windows.Forms.DateTimePicker dtpInceptionDate;
+        private System.Windows.Forms.StatusStrip sstCompany;
+        private System.Windows.Forms.GroupBox groupBox4;
+        private System.Windows.Forms.GroupBox groupBox3;
+        private System.Windows.Forms.Label label20;
+        private System.Windows.Forms.Label label14;
+        private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
+        private System.Windows.Forms.Button btnUploadFile;
+        private System.Windows.Forms.OpenFileDialog ofdUploadFile;
+        private System.Windows.Forms.Button btnSaveContactor;
+        private System.Windows.Forms.CheckedListBox clbContactor;
+        private System.Windows.Forms.CheckedListBox clbCollector;
+    }
+}

+ 602 - 0
UICompany.cs

@@ -0,0 +1,602 @@
+using Mysqlx.Crud;
+using MySqlX.Serialization;
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Data.SqlClient;
+using System.Drawing;
+using System.Linq;
+using System.Reflection;
+using System.Runtime.InteropServices.ComTypes;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using System.Text.Json;
+using System.IO;
+using System.Diagnostics;
+
+
+namespace DataManager
+{
+    public partial class UICompany : Form
+    {
+
+        private string companyId;
+        private int userId;
+
+        private DataTable companyInfo;
+        private DataTable fundList;
+        private DataTable contactList;
+        private List<DataRowView> old_selected_contactor = new List<DataRowView>();
+        private List<DataRowView> old_selected_collector = new List<DataRowView>();
+        private string saveFilePath;
+
+
+        public UICompany(string companyId, int userId)
+        {
+            this.companyId = companyId.Trim().ToUpper();
+            this.userId = userId;
+            this.saveFilePath = ".\\Contracts\\" + companyId + "\\";
+
+            InitializeComponent();
+
+            InitializedData();
+
+        }
+
+
+        public string CompanyId { get { return companyId; } }
+        public int UserId { get { return userId; } }
+
+        private void InitializedData()
+        {
+            #region Basic Info Tab
+
+            companyInfo = DataAccess.Get_dm_company_information(CompanyId);
+
+            if(companyInfo == null || companyInfo.Rows.Count == 0 ) { return; }
+
+
+            txtCompanyName.Text = companyInfo.Rows[0]["company_name"].ToString();
+            txtRegisterCode.Text = companyInfo.Rows[0]["register_number"].ToString();
+            txtCompanyId.Text = companyInfo.Rows[0]["company_id"].ToString();
+
+            txtIncoporationDate.Text = DateTime.Parse(companyInfo.Rows[0]["establish_date"].ToString()).ToShortDateString();
+            txtRegisterAddress.Text = companyInfo.Rows[0]["register_number_address"].ToString();
+            txtOrgCode.Text = companyInfo.Rows[0]["credit_code"].ToString();
+            
+            txtBusinessAddress.Text = companyInfo.Rows[0]["company_address"].ToString();
+
+            if (companyInfo.Rows[0]["nature_business_type"].ToString() != "")
+                txtOrgType.Text = UIConstants.CompanyOwnerType[int.Parse(companyInfo.Rows[0]["nature_business_type"].ToString())];
+            else
+                txtOrgType.Text = "未知";
+            if (companyInfo.Rows[0]["company_type"].ToString() != "")
+                txtCompanyType.Text = UIConstants.CompanyType[int.Parse(companyInfo.Rows[0]["company_type"].ToString())];
+            else
+                txtCompanyType.Text = "未知";
+
+            txtBusinessType.Text = companyInfo.Rows[0]["business_type"].ToString();
+
+            if (companyInfo.Rows[0]["company_asset_size"].ToString() != "")
+                txtAssetSize.Text = UIConstants.CompanyAssetSize[int.Parse(companyInfo.Rows[0]["company_asset_size"].ToString())];
+            else
+                txtAssetSize.Text = "未知";
+            
+            txtIsQualifiedAdvisor.Text = companyInfo.Rows[0]["has_consulting_qualification"].ToString() == "1" ? "是" : "否";
+            //txtOwner.Text = companyInfo.Rows[0]["establish_date"].ToString();
+            //txtAmacUpdateDate.Text = companyInfo.Rows[0]["zjx_last_info_update_time"].ToString();
+            //lklAmacURL.Links.Add(Link )companyInfo.Rows[0]["amac_link"].ToString();
+            txtCompanyShortName.Text = companyInfo.Rows[0]["company_short_name"].ToString();
+
+            #endregion
+
+            LoadContactsGrid();
+
+            #region Fund List Tab
+
+            Dictionary<int, string> d = new Dictionary<int, string>(UIConstants.HedgeFundStrategy);
+            d.Add(DataAccess.DM_NULL, "全部");
+            BindingSource bs = new BindingSource();
+            bs.DataSource = d;
+            cmbStrategy.DataSource = bs;
+            cmbStrategy.DisplayMember = "Value";
+            cmbStrategy.ValueMember = "Key";
+            cmbStrategy.SelectedValue = (int)DataAccess.DM_NULL;
+            
+            LoadFundGrid();
+
+            #endregion
+
+            #region Contracts Tab
+
+            sbyte jobType = Convert.ToSByte(UIConstants.JobType.Contact);
+            DataTable dt_dm_user_1 = DataAccess.Get_dm_user(null, jobType);
+            clbContactor.DataSource = dt_dm_user_1;
+            clbContactor.DisplayMember = "username";
+            clbContactor.ValueMember = "userid";
+
+            // 给覆盖此公司的user打上勾
+            DataTable dt_company_cover_1 = DataAccess.Get_dm_company_cover(CompanyId, jobType, null);
+            for(int i = 0; i < clbContactor.Items.Count; i++)
+            {
+                string itemUserId = ((DataRowView)clbContactor.Items[i]).Row["userid"].ToString();
+                
+                if (dt_company_cover_1.Select("userid = " + itemUserId).Length > 0)
+                    clbContactor.SetItemChecked(i, true);
+            }
+            // 记录一下初始的勾选
+            foreach(DataRowView item in clbContactor.CheckedItems)
+            {
+                old_selected_contactor.Add(item);
+            }
+
+            jobType = Convert.ToSByte(UIConstants.JobType.Collection);
+            DataTable dt_dm_user_2 = DataAccess.Get_dm_user(null, jobType);
+            clbCollector.DataSource = dt_dm_user_2;
+            clbCollector.DisplayMember = "username";
+            clbCollector.ValueMember = "userid";
+
+            // 给覆盖此公司的user打上勾
+            DataTable dt_company_cover_2 = DataAccess.Get_dm_company_cover(CompanyId, jobType, null);
+            for (int i = 0; i < clbCollector.Items.Count; i++)
+            {
+                string itemUserId = ((DataRowView)clbCollector.Items[i]).Row["userid"].ToString();
+
+                if (dt_company_cover_2.Select("userid = " + itemUserId).Length > 0)
+                    clbCollector.SetItemChecked(i, true);
+            }
+            // 记录一下初始的勾选
+            foreach(DataRowView item in clbCollector.CheckedItems)
+            {
+                old_selected_collector.Add(item);
+            }
+
+            LoadContractFiles();
+
+            #endregion
+
+
+        }
+
+        #region Basic Info
+
+        private void btnSaveBasicInfo_Click(object sender, EventArgs e)
+        {
+            MessageBox.Show("暂时不支持存数据");
+        }
+
+        #endregion
+
+        #region Contact List
+        private void LoadContactsGrid()
+        {
+            contactList = DataAccess.Get_dm_contacts(CompanyId);
+
+            grdContacts.DataSource = contactList;
+
+            grdContacts.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
+
+            grdContacts.Columns["id"].Visible = false;
+            grdContacts.Columns["company_id"].Visible = false;
+            grdContacts.Columns["name"].HeaderText = "姓名";
+            grdContacts.Columns["role"].HeaderText = "职务";
+            grdContacts.Columns["phone"].HeaderText = "电话";
+            grdContacts.Columns["wechat"].HeaderText = "微信";
+            grdContacts.Columns["email"].HeaderText = "邮箱";
+            grdContacts.Columns["isvalid"].Visible = false;
+            grdContacts.Columns["creatorid"].Visible = false;
+            grdContacts.Columns["createtime"].Visible = false;
+            grdContacts.Columns["updaterid"].Visible = false;
+            grdContacts.Columns["updatetime"].Visible = false;
+
+            lblContactsCount.Text = contactList.Rows.Count.ToString();
+        }
+
+
+        private void btnSaveContact_Click(object sender, EventArgs e)
+        {
+            if(contactList == null ) return;
+
+            int updatedCnt = DataAccess.Set_dm_contacts(contactList, CompanyId, UserId);
+
+            contactList.AcceptChanges();
+
+            MessageBox.Show("成功更新了" + updatedCnt.ToString() + "个联系人");
+            
+        }
+
+        #endregion
+
+        #region Fund List
+
+        private void LoadFundGrid()
+        {
+            fundList = DataAccess.Get_dm_fund_information(null, CompanyId);
+
+            BindingSource bs = new BindingSource();
+            bs.DataSource = fundList;
+            grdFund.DataSource = bs;
+
+            grdFund.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
+
+            grdFund.Columns["fund_id"].Visible = false;
+            grdFund.Columns["raise_type"].Visible = false;
+            grdFund.Columns["fund_name"].Visible = false;
+            grdFund.Columns["fund_short_name"].HeaderText = "基金简称";
+            grdFund.Columns["fund_structure"].Visible = false;
+            grdFund.Columns["fund_type"].Visible = false;
+            grdFund.Columns["strategy"].Visible = false;
+            grdFund.Columns["substrategy"].Visible = false;
+            grdFund.Columns["fund_status"].Visible = false;
+            grdFund.Columns["base_currency"].Visible = false;
+            grdFund.Columns["inception_date"].HeaderText = "成立日";
+            grdFund.Columns["initial_unit_value"].Visible = false;
+            grdFund.Columns["p_fund_id"].Visible = false;
+            grdFund.Columns["p_fund_name"].Visible = false;
+            grdFund.Columns["advisor_id"].Visible = false;
+            grdFund.Columns["company_name"].Visible = false;
+            grdFund.Columns["custodian_id"].Visible = false;
+            grdFund.Columns["custodian_name"].HeaderText = "托管";
+            grdFund.Columns["trust_id"].Visible = false;
+            grdFund.Columns["nav_frequency"].HeaderText = "净值频率";
+            grdFund.Columns["manager_type"].Visible = false;
+            grdFund.Columns["zjx_last_info_update_time"].Visible = false;
+            grdFund.Columns["amac_url"].Visible = false;
+            grdFund.Columns["register_number"].HeaderText = "备案编码";
+            grdFund.Columns["register_date"].Visible = false;
+            grdFund.Columns["main_code"].Visible = false;
+            grdFund.Columns["isVisible"].Visible = false;
+            grdFund.Columns["is_ranking"].HeaderText = "是否排名";
+            grdFund.Columns["is_rating"].HeaderText = "是否评级";
+            grdFund.Columns["is_authorized"].HeaderText = "是否授权";
+            grdFund.Columns["trust_register_number"].Visible = false;
+            grdFund.Columns["isvalid"].Visible = false;
+            grdFund.Columns["creatorid"].Visible = false;
+            grdFund.Columns["createtime"].Visible = false;
+            grdFund.Columns["updaterid"].Visible = false;
+            grdFund.Columns["updatetime"].Visible = false;
+
+            grdFund.Columns["fund_short_name"].AutoSizeMode = DataGridViewAutoSizeColumnMode.AllCells;
+
+            SetStatusStrip(fundList.Rows.Count);
+        }
+
+        private void grdFund_CellContentClick(object sender, DataGridViewCellEventArgs e)
+        {
+
+            int rowIndex = e.RowIndex;
+            int columnIndex = e.ColumnIndex;
+
+            if (columnIndex < 0 || rowIndex < 0) return;
+
+            DataGridViewRow row = grdFund.Rows[rowIndex];
+            string fundId = row.Cells["fund_id"].Value.ToString();
+            
+            UIFund frm = new UIFund(fundId);
+            frm.ShowDialog();
+        }
+
+        private void cmbStrategy_SelectedIndexChanged(object sender, EventArgs e)
+        {
+            FilterFund();
+        }
+
+        private void dtpInceptionDate_ValueChanged(object sender, EventArgs e)
+        {
+            FilterFund();
+        }
+
+        private void FilterFund()
+        {
+            string strategy = cmbStrategy.SelectedValue.ToString();
+            string inception = dtpInceptionDate.Value.ToString();
+            string filter = null;
+            int cnt = 0;
+
+            if (strategy == DataAccess.DM_NULL.ToString())
+                filter = string.Format("inception_date <= #{0}#", inception);
+            else
+                filter = string.Format("strategy = {0} and inception_date <= #{1}#", strategy, inception);
+
+            if (fundList != null && fundList.Rows.Count > 0)
+            {
+                BindingSource bs = (BindingSource)grdFund.DataSource;
+                bs.Filter = filter;
+
+                cnt = bs.Count;
+            }
+
+            SetStatusStrip(cnt);
+        }
+
+        private void SetStatusStrip(int cnt)
+        {
+            ToolStripStatusLabel label = new ToolStripStatusLabel();
+            label.Text = "记录条数:" + cnt.ToString();
+            sstCompany.Items.Clear();
+            sstCompany.Items.Add(label);
+        }
+
+        #endregion
+
+
+        #region Contract
+        private void btnSaveContactor_Click(object sender, EventArgs e)
+        {
+            List<CompanyCoverUser> coverage = new List<CompanyCoverUser>();
+
+            List<DataRowView> new_selected_contactor = new List<DataRowView>();
+            foreach(DataRowView item in clbContactor.CheckedItems)
+                new_selected_contactor.Add(item);
+
+            CompanyCoverUser cov1 = CompareCoverage(CompanyId, 1, old_selected_contactor, new_selected_contactor);
+            if(cov1 != null )
+                coverage.Add(cov1);
+
+            List<DataRowView> new_selected_collector = new List<DataRowView>();
+            foreach (DataRowView item in clbCollector.CheckedItems)
+                new_selected_collector.Add(item);
+
+            CompanyCoverUser cov2 = CompareCoverage(CompanyId, 2, old_selected_collector, new_selected_collector);
+            if(cov2 != null )
+                coverage.Add(cov2);
+            
+            string query = JsonSerializer.Serialize(coverage);
+            
+            int ret = DataAccess.Set_dm_company_cover(query, UserId);
+
+            string message = ret < 0 ? "Oops... 变更存数据库时出了错" : "人员覆盖变更已经成功存盘~";
+            MessageBox.Show(message);
+
+        }
+        /// <summary>
+        /// 前后人员覆盖对比
+        /// </summary>
+        /// <param name="companyId"></param>
+        /// <param name="coverType"></param>
+        /// <param name="oldList"></param>
+        /// <param name="newList"></param>
+        /// <returns></returns>
+        private CompanyCoverUser CompareCoverage(string companyId, sbyte coverType, List<DataRowView> oldList, List<DataRowView> newList)
+        {
+            CompanyCoverUser companyCoverUser = new CompanyCoverUser();
+            companyCoverUser.CompanyId = companyId;
+            companyCoverUser.CoverType = coverType;
+
+            if (oldList == null || newList == null) return companyCoverUser;
+
+            // 在旧名单里,但不在新名单里的要删掉
+            List<DataRowView> itemDeleted = oldList.Except(newList).ToList();
+            // 在新名单里,但不在旧名单里的要增加
+            List<DataRowView> itemAdded = newList.Except(oldList).ToList();
+
+            int i = 0;
+            CompanyCoverUser.Coverage[] covers = null;
+            if (itemDeleted.Count > 0 || itemAdded.Count > 0)
+                covers = new CompanyCoverUser.Coverage[itemDeleted.Count+itemAdded.Count];
+
+            foreach (DataRowView item in itemDeleted)
+            {
+                CompanyCoverUser.Coverage cov = new CompanyCoverUser.Coverage();
+                
+                cov.IsValid = 0;
+                cov.UserId = int.Parse(item.Row["userid"].ToString());
+                covers[i] = cov;
+                i++;
+            }
+
+            foreach (DataRowView item in itemAdded)
+            {
+                CompanyCoverUser.Coverage cov = new CompanyCoverUser.Coverage();
+
+                cov.IsValid = 1;
+                cov.UserId = int.Parse(item.Row["userid"].ToString());
+                covers[i] = cov;
+                i++;
+            }
+            companyCoverUser.Coverages = covers;
+
+            //ret = JsonSerializer.Serialize(companyCoverUser);
+            
+            return companyCoverUser;
+        }
+
+        /// <summary>
+        /// 上传文件  TODO: 文件先写到本地
+        /// </summary>
+        /// <param name="sender"></param>
+        /// <param name="e"></param>
+        private void btnUploadFile_Click(object sender, EventArgs e)
+        {
+
+            ofdUploadFile.Title = "文件上传 ... 还没做完呢";
+            //ofdUploadFile.DefaultExt = "doc";
+            
+            //ofdUploadFile.Filter = "所有Word文件(*.doc)|所有pdf文件(*.pdf)|所有文件(*.*)|*.*";
+
+            if(ofdUploadFile.ShowDialog() == DialogResult.OK)
+            {
+                // TODO: upload files to server. let's fake it for now
+                string filePath = ofdUploadFile.FileName;
+                string fileName = Path.GetFileName(filePath);
+
+                string saveFileName = this.saveFilePath + fileName;
+                try
+                {
+                    if (!Directory.Exists(saveFilePath)) { Directory.CreateDirectory(saveFilePath); }
+
+
+                    File.Copy(filePath, saveFileName, true);
+
+                    CreateFileButton(Path.GetFileName(saveFileName));
+                }
+                catch (Exception ex)
+                {
+                    MessageBox.Show("文件上传失败:" + ex.Message);
+                }
+
+            }
+        }
+
+        /// <summary>
+        /// 显示已上传文件,每个文件一个按钮
+        /// </summary>
+        private void LoadContractFiles()
+        {
+            if (Directory.Exists(this.saveFilePath))
+            {
+                string[] fileNames = Directory.GetFiles(saveFilePath);
+                
+
+                if(fileNames.Length > 0)
+                {
+                    foreach (string fileName in fileNames)
+                    {
+                        CreateFileButton(Path.GetFileName(fileName));
+                    }
+                }
+            }
+        }
+
+
+        /// <summary>
+        /// 为每个上传的文件产生一个按钮来显示
+        /// </summary>
+        /// <param name="fileName"></param>
+        private void CreateFileButton(string fileName)
+        {
+            Panel panFile = new Panel();
+            panFile.BorderStyle = BorderStyle.FixedSingle;
+            panFile.Size = btnUploadFile.Size;
+            panFile.Text = fileName;
+            panFile.Font = new Font("微软雅黑", 10F, FontStyle.Regular, GraphicsUnit.Point, ((byte)(134)));
+            panFile.Click += PanFile_Click;
+            panFile.MouseEnter += PanFile_Enter;
+            panFile.MouseLeave += PanFile_MouseLeave;
+
+            Label lblFileName = new Label();
+            lblFileName.Text = fileName;
+            lblFileName.ForeColor = Color.Navy;
+            lblFileName.Size = new Size(panFile.Width, panFile.Height/2);
+            lblFileName.Location = new Point(panFile.Location.X, panFile.Location.Y + panFile.Size.Height/2);
+            lblFileName.TextAlign = ContentAlignment.MiddleCenter;
+            lblFileName.Click += LblFileName_Click;
+            panFile.Controls.Add(lblFileName);
+
+            CircleDeleteControl delIcon = new CircleDeleteControl();
+            delIcon.Size = new Size(panFile.Width/8, panFile.Height/8);
+            delIcon.Location = new Point(panFile.Width * 3/4, panFile.Width * 1/8);
+            delIcon.Visible = true;
+            delIcon.Click += DelIcon_Click;
+            panFile.Controls.Add(delIcon);
+
+
+            flowLayoutPanel1.Controls.Add(panFile);
+        }
+
+
+        private void LblFileName_Click(object sender, EventArgs e)
+        {
+            Control pan = ((Control)sender).Parent;
+            PanFile_Click(pan, e);
+        }
+
+        private void PanFile_Click(object sender, EventArgs e)
+        {
+            OpenFile(saveFilePath + ((Panel)sender).Text);
+        }
+
+        private void PanFile_Enter(object sender, EventArgs e)
+        {
+            ((Control)sender).BackColor = Color.LightGray;
+            ((Control)sender).Cursor = Cursors.Hand;
+        }
+
+        private void PanFile_MouseLeave(object sender, EventArgs e)
+        {
+            ((Control)sender).BackColor = Color.White;
+            ((Control)sender).Cursor = Cursors.Arrow;
+        }
+
+        private void DelIcon_Click(object sender, EventArgs e)
+        {
+            DialogResult result = MessageBox.Show("确认要删除此文件么?", "删除文件确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
+
+            if (result == DialogResult.Yes) 
+            {
+                Panel pan = (Panel)((Control)sender).Parent;
+
+                File.Delete(saveFilePath + pan.Text);
+
+                pan.Parent.Controls.Remove(pan);
+            }
+        }
+
+
+        private void OpenFile(string fileName)
+        {
+            ProcessStartInfo startInfo = new ProcessStartInfo
+            {
+                FileName = fileName,
+                UseShellExecute = true
+            };
+
+            Process.Start(startInfo);
+
+        }
+
+        #endregion
+    }
+
+    public class CompanyCoverUser
+    {
+        public string CompanyId { get; set; }
+
+        public sbyte CoverType { get; set; }
+
+        public Coverage[] Coverages { get; set; }
+
+        public class Coverage
+        {
+            public sbyte IsValid { get; set; }
+
+            public int UserId { get; set; }
+
+        }
+    }
+
+    public class CircleDeleteControl : Control
+    {
+        protected override void OnPaint(PaintEventArgs e)
+        {
+            base.OnPaint(e);
+            Graphics g = e.Graphics;
+            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
+
+            Point center = new Point(this.Width/2, this.Height/2);
+
+            // 圆形删除符号的直径可以是控件的最小边长
+            int diameter = Math.Min(this.Width, this.Height);
+
+            // 圆形删除符号的内半径
+            int innerRadius = diameter / 2;
+
+            // 绘制圆形删除符号的背景
+            using (Brush backgroundBrush = new SolidBrush(Color.LightGray))
+            {
+                g.FillEllipse(backgroundBrush, center.X - innerRadius, center.Y - innerRadius, diameter, diameter);
+            }
+            
+            // 绘制圆形删除符号的线条
+            using (Pen deletePen = new Pen(Color.Red, 2))
+            {
+                // 绘制两条相交的对角线
+                g.DrawLine(deletePen, center.X - innerRadius, center.Y + innerRadius, center.X + innerRadius, center.Y - innerRadius);
+                g.DrawLine(deletePen, center.X - innerRadius, center.Y - innerRadius, center.X + innerRadius, center.Y + innerRadius);
+            }
+
+        }
+    }
+}

+ 129 - 0
UICompany.resx

@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="sstCompany.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="sstCompany.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+  <metadata name="ofdUploadFile.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>143, 17</value>
+  </metadata>
+</root>