Ejemplo n.º 1
0
        /// <summary>
        /// 单独打开一个文件
        /// </summary>
        private void OpenOneFile(string p_fileName)
        {
            //此处进行预打开对象操作
            _Files files = new _Files();

            //创建文件对象
            files.Init(p_fileName);
            if (files.Exists)
            {
                this.buttonEdit1.Text = files.FullName;
                //CResult result = APP.WorkFlows.Operaty.LoadOnlyObject(files);
                CResult result = CActionData.Load(files);
                if (result.Success)
                {
                    _COBJECTS obj = result.Value as _COBJECTS;
                    obj.Files = files;
                    m_ObjectList.Add(obj);
                    //初始化打开的文件对象
                    this.Init();
                }
                else
                {
                    //MessageBox.Show(result.ErrorInformation);
                }
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 确认创建一个已经存在单位工程数据对象
 /// </summary>
 /// <param name="p_info"></param>
 public override void Create(_COBJECTS p_info)
 {
     this.Current = p_info;
     base.Create(p_info);
     this.InitDataObject(p_info);
     this.Current.StructSource.ModelProject.Add(p_info);
 }
Ejemplo n.º 3
0
 /// <summary>
 /// 导入单项工程
 /// </summary>
 private void replace()
 {
     if (this.m_ObjectList != null)
     {
         if (this.m_ObjectList.Count > 0)
         {
             _COBJECTS s_COBJECTS = this.m_ObjectList[0] as _COBJECTS;
             if (s_COBJECTS.IsDZBS)
             {
                 if (this.m_Source.Name != s_COBJECTS.Name)
                 {
                     /*DialogResult dr = MsgBox.Show("匹配失败,是否继续", MessageBoxButtons.YesNo);
                      * if (dr == DialogResult.No)
                      * {
                      *  this.DialogResult = DialogResult.No;
                      *  return;
                      * }*/
                 }
             }
             this.CurrentBusiness.Replace(this.m_Source, s_COBJECTS);
             //替换成功
             this.DialogResult = DialogResult.Yes;
         }
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// 添加单位工程(添加实体对象单位工程)
        /// </summary>
        /// <param name="p_parent"></param>
        /// <param name="p_info"></param>
        public override void AddChild(_COBJECTS p_parent, _COBJECTS p_info)
        {
            //设置排序
            //初始化对象
            //APP.Methods.Init(p_info);
            p_info.Parent = p_parent;
            //新添加单位工程状态设置为创建结束
            p_info.PID  = p_parent.ID;
            p_info.Sort = ++(this.Current as _Projects).UnSort;
            p_info.Key  = ++this.Current.ObjectKey;
            p_info.PKey = p_parent.Key;
            //APP.Methods.Init(p_info);
            this.Current.StructSource.ModelProject.Add(p_info);
            this.Current.StructSource.ModelProject.AppendUnit(p_info);
            this.InitDataObject(p_info);
            doLoadData(p_info);
            p_info.StructSource.ModelProject.AddNotInt(p_info);
            p_info.ObjectState = EObjectState.Created;
            this.ObjectList.Add(p_info.ID, p_info);
            //添加单位工程后为此单位工程初始化新数据
            //分部分项操作

            /* _SObjectInfo sub = new _SObjectInfo(p_info as _UnitProject);
             * sub.XMBM = "单位工程";
             * p_info.StructSource.ModelSubSegments.Add(sub);*/
            this.onListChange();
            //this.ProjDataBase.AddChild(p_parent, p_info);
        }
Ejemplo n.º 5
0
 /// <summary>
 /// 通知单位工程赋值加密锁号等信息
 /// </summary>
 /// <param name="sender"></param>
 public void OnSetKey(_COBJECTS sender)
 {
     if (this.SetKey != null)
     {
         this.SetKey(sender);
     }
 }
Ejemplo n.º 6
0
        /// <summary>
        /// 删除选中的对象
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void simpleButton1_Click(object sender, EventArgs e)
        {
            //删除选中的对象包含 单位工程 单项工程
            //此处删除可能包含以前已经存在的数据
            _COBJECTS info = this.projectTrees1.SelectNotEntity;

            if (info is _Projects)
            {
                return;
            }
            //this.projectTrees1.bindingSource1.Remove(this.bindingSource1.Current);
            //如果删除的是单项工程
            this.Remove(this.projectTrees1.bindingSource1.Current as DataRowView);
            //删除后
            //this.projectTrees1.bindingSource1.RemoveCurrent();

            /*if (info.ObjectType != EObjectType.PROJECT)
            *  {
            *   //如果是以前存在的项目
            *   switch (info.ObjectState)
            *   {
            *       case EObjectState.UnChange:
            *       case EObjectState.Created:
            *       case EObjectState.Modify:
            *       case EObjectState.Undefined:
            *           info.ObjectState = EObjectState.Delete;
            *           break;
            *       default:
            *           this.projectTrees1.bindingSource1.Remove(info.Directory);
            *           break;
            *   }
            *  }
            *  this.projectTrees1.treeList1.FilterNodes();*/
        }
Ejemplo n.º 7
0
        void BW_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            _COBJECTS obj = e.UserState as _COBJECTS;

            if (obj != null)
            {
                if (obj is _Projects)
                {
                    // m_ObjCount = this.progressBarControl1.Properties.Maximum = (obj as _Projects).ObjectCount;

                    this.labelControl2.Text = string.Format("{0}\\{1}", e.ProgressPercentage, m_ObjCount);
                    this.labelControl3.Text = string.Format("项目信息-{0}", obj.Property.Name);
                }
                if (obj is _Engineering)
                {
                    this.labelControl2.Text = string.Format("{0}\\{1}", e.ProgressPercentage, m_ObjCount);
                    this.labelControl3.Text = string.Format("单项工程-{0}", obj.Property.Name);
                }
                if (obj is _UnitProject)
                {
                    this.labelControl2.Text = string.Format("{0}\\{1}", e.ProgressPercentage, m_ObjCount);
                    this.labelControl3.Text = string.Format("单位工程-{0}", obj.Property.Name);
                }
            }

            this.progressBarControl1.Position = e.ProgressPercentage;
        }
Ejemplo n.º 8
0
        void bWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            BackgroundWorker bWorker = sender as BackgroundWorker;

            object[]  param = e.Argument as object[];
            _COBJECTS obj   = param[1] as _COBJECTS;
            string    path  = param[0].ToString();

            ToolKit.GetDirectoryInfo(path.Substring(0, path.LastIndexOf("\\")));
            using (FileStream stream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None))
            {
                using (MemoryStream ms = new MemoryStream())
                {
                    GZipStream      zip      = new GZipStream(stream, CompressionMode.Compress);
                    BinaryFormatter formater = new BinaryFormatter();
                    obj.StructSource.AcceptChanges();
                    _FileHeader header = new _FileHeader();
                    header.Set("总造价", obj.StatusInfo.当前工程总造价.ToString());
                    formater.Serialize(ms, header);
                    formater.Serialize(ms, obj.StructSource);
                    byte[] buffer = ms.ToArray();
                    zip.Write(buffer, 0, buffer.Length);
                    zip.Close();
                    e.Result = path;
                }
            }
        }
Ejemplo n.º 9
0
        private void doLoadDataXml(_COBJECTS p_info)
        {
            _Entity_SubInfo info;

            //分部分项数据
            info      = new _Entity_SubInfo();
            info.XMBM = "单位工程";
            info.UnID = p_info.ID;
            info.EnID = p_info.PID;
            info.Deep = 2;
            info.SSLB = 0;
            info.Key  = ++this.Current.ObjectKey;
            info.PKey = p_info.PKey;
            p_info.StructSource.ModelSubSegments.Add(info);
            this.Insert_SubData(p_info.StructSource.ModelSubSegments.Rows[0]);
            //措施项目数据
            info      = new _Entity_SubInfo();
            info.UnID = p_info.ID;
            info.EnID = p_info.PID;
            info.XMBM = "措施项目";
            info.Deep = 3;
            info.SSLB = 1;
            info.Key  = ++this.Current.ObjectKey;
            info.PKey = p_info.PKey;
            p_info.StructSource.ModelMeasures.Add(info);
            this.Insert_Sql_MeasuresData(p_info.StructSource.ModelMeasures.Rows[0]);

            //工程取费
            this.Insert_Sql_UnitFree(p_info.StructSource.ModelUnitFee);
            //参数子目取费
            this.Insert_Sql_PSubheadingsFee(p_info.StructSource.ModelPSubheadingsFee);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// 设置加密锁号 和时间
        /// </summary>
        /// <returns></returns>
        private void setJMSH(_COBJECTS info)
        {
            if (info == null)
            {
                return;
            }
            //锁号,锁号,锁号
            // _COBJECTS info = this.Current as _COBJECTS;
            string time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
            string curr = APP.GoldSoftClient.GlodSoftDiscern.CurrNo;

            string[] keys = null;
            if (info.JMSH != string.Empty)
            {//如果不存在写入
                keys = info.JMSH.Split(',');
                if (!this.isExist(curr, keys))
                {
                    info.JMSH += string.Format(",{0}", curr);
                    info.Time += string.Format(",{0}", time);
                }
            }
            else
            {
                //直接写入
                info.JMSH = curr;
                info.Time = time;
            }
        }
Ejemplo n.º 11
0
        public virtual void Load(_COBJECTS p_Info, bool p_IsLoadProj)
        {
            string sql = string.Empty;

            this.OpenConnection();
            //项目需要初始化数据的时候此处添加
            //1.获取项目结构对象
            if (p_IsLoadProj)
            {
                try
                {
                    sql = "select 项目结构表.*,单位工程.[OBJECT] from 项目结构表 left join 单位工程 on 项目结构表.ID = 单位工程.PID  order by 项目结构表.ID asc";
                    using (OleDbDataAdapter da = new OleDbDataAdapter(sql, this.Conn))
                    {
                        da.FillSchema(p_Info.StructSource.ModelProject, SchemaType.Source);
                        da.Fill(p_Info.StructSource.ModelProject);
                        //this.IDataBase.FillDataSet(sql, p_Info.StructSource.ModelProject);
                    }


                    //还原项目对象(第0行肯定为项目数据)
                    sql = " select (select Max(Sort) from 项目结构表 where deep = 2) as UnSort,(select Max(Sort) from 项目结构表 where deep = 1) as EnSort";
                    sql = "select Max(dt.Sort) as UnSort,Max(dt1.Sort) as EnSort from (select Sort from 项目结构表 where deep = 2) dt,(select Sort from 项目结构表 where deep = 1) dt1";
                    DataTable table = new DataTable();
                    this.FillDataSet(sql, table);
                    //如果需要加载数据库数据时候操作此处添加
                    _ObjectSource.GetObject(p_Info, p_Info.StructSource.ModelProject.Rows[0]);
                    (p_Info as _Projects).UnSort = ToolKit.ParseInt(table.Rows[0]["UnSort"]);
                    (p_Info as _Projects).EnSort = ToolKit.ParseInt(table.Rows[0]["EnSort"]);
                    this.m_Current = p_Info;
                    //还原招投标对象

                    /*if (this.Current.StructSource.ModelProject.Rows[0]["OBJECT"] != null)
                     * {
                     *  byte[] bs = this.Current.StructSource.ModelProject.Rows[0]["OBJECT"] as byte[];
                     *  _BasicInformation bf = this.GetObjectByte(bs) as _BasicInformation;
                     *  if (bf != null)
                     *  {
                     *      this.Current.Property.BasicInformation = bf;
                     *  }
                     * }*/

                    //基础信息表
                    sql = "select * from 基础表";
                    this.FillDataSet(sql, this.Current.StructSource.ModelInfomation);
                    if (this.UseInfomation())
                    {
                    }
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
            this.LoadOther();
            this.m_Current.ObjectState = EObjectState.UnChange;
            this.CloseConnection();
        }
Ejemplo n.º 12
0
 /// <summary>
 /// 创建文件对象(静态方法)
 /// </summary>
 public static void CreateFile(_COBJECTS p_Info)
 {
     ToolKit.GetDirectoryInfo(p_Info.Files.DirName);
     using (FileStream stream = new FileStream(p_Info.Files.FullName, FileMode.Create, FileAccess.Write, FileShare.ReadWrite))
     {
         stream.Write(Resources.项目文件, 0, Resources.项目文件.Length);
         stream.Close();
     }
 }
Ejemplo n.º 13
0
        ////public  void AddChildXml(_COBJECTS p_parent, _COBJECTS p_info)
        //{
        //    //设置排序
        //    //初始化对象
        //    //APP.Methods.Init(p_info);
        //    p_info.Parent = p_parent;
        //    //新添加单位工程状态设置为创建结束
        //    p_info.PID = p_parent.ID;
        //    p_info.Sort = ++(this.Current as _Projects).UnSort;
        //   // APP.Methods.Init(p_info);
        //    this.Current.StructSource.ModelProject.Add(p_info);
        //    this.Current.StructSource.ModelProject.AppendUnit(p_info);
        //    this.m_ObjectList.Add(p_info.ID, p_info);
        //    p_info.ObjectState = EObjectState.Created;
        //    //添加单位工程后为此单位工程初始化新数据
        //    //分部分项操作
        //    /* _SObjectInfo sub = new _SObjectInfo(p_info as _UnitProject);
        //     sub.XMBM = "单位工程";
        //     p_info.StructSource.ModelSubSegments.Add(sub);*/
        //    this.onListChange();
        //    //this.ProjDataBase.AddChild(p_parent, p_info);
        //}



        /// <summary>
        /// 为指定的单项工程批量添加单位工程(此处允许添加单项工程)
        /// </summary>
        /// <param name="table">单位工程集合</param>
        public new void BatchAdd(DataTable p_Source, Hashtable p_Table)
        {
            _COBJECTS info = null;
            DataView  view = p_Source.DefaultView;
            int       deep = -1;

            foreach (DataRowView row in view)
            {
                switch (row.Row.RowState)
                {
                case DataRowState.Modified:
                    deep = ToolKit.ParseInt(row["DEEP"]);
                    //同步数据
                    info = new _COBJECTS();
                    if (deep == 1)
                    {
                        _ObjectSource.GetObject(info, row);
                        this.Current.StructSource.ModelProject.UpDate(info);
                    }
                    if (deep == 2)
                    {
                        _ObjectSource.GetObject(info, row);
                        this.Current.StructSource.ModelProject.UpDate(info);
                    }
                    break;

                case DataRowState.Added:
                    deep = ToolKit.ParseInt(row["DEEP"]);
                    if (deep == 1)
                    {
                        this.Current.StructSource.ModelProject.AddNotInt(row["UnitProject"]);
                    }
                    if (deep == 2)
                    {
                        info = row["UnitProject"] as _COBJECTS;
                        this.InitDataObject(info);
                        this.doLoadData(info);
                        this.Current.StructSource.ModelProject.AddNotInt(info);
                        info.StructSource.ModelProject.AddNotInt(info);
                        this.Current.StructSource.ModelProject.AppendUnit(info);
                        //新增对象添加到objectList中
                        info.ObjectState = EObjectState.Created;
                        this.ObjectList.Add(info.ID, info);
                    }
                    break;
                }
            }
            //处理删除逻辑
            foreach (_COBJECTS inf in p_Table.Values)
            {
                this.Current.StructSource.ModelProject.Delete(inf.ID);
                //如果是单位工程 删除掉
                this.ObjectList.Remove(inf.ID);
            }
            this.onListChange();
        }
Ejemplo n.º 14
0
        static void xml_RevertXmlObject(object sender, object args)
        {
            _COBJECTS        info          = args as _COBJECTS;
            BackgroundWorker XmlProjWorker = XmlObject[0] as BackgroundWorker;
            int    percent = Convert.ToInt16(XmlObject[1]);
            object param   = new object[] { false, info };

            XmlProjWorker.ReportProgress(percent, param);
            XmlObject[1] = ++percent;
        }
Ejemplo n.º 15
0
 /// <summary>
 /// 加载已经存在项目中的单位工程(保证一次链接完成,p_OnlyOneConn为true不关闭现有的业务链接)
 /// </summary>
 /// <param name="p_info"></param>
 /// <param name="p_OnlyOneConn"></param>
 public override void Load(_COBJECTS p_info, bool p_OnlyOneConn)
 {
     this.OpenDataBase();
     this.DataBase.Load(p_info);
     this.InitDataObject(p_info);
     //if (!p_OnlyOneConn)
     //{
     //    this.Close(true);
     //}
 }
Ejemplo n.º 16
0
        /// <summary>
        /// 跟指定的单项工程编号下添加单位工程数据(项目导入操作使用)
        /// </summary>
        /// <param name="p_EnID">单项工程编号</param>
        /// <param name="p_Source"></param>
        public void AddNewUnitProject(_COBJECTS p_Info, _COBJECTS p_UnInfo)
        {
            //添加项目表关系
            //_UnitProject info = new _UnitProject();
            //_ObjectSource.GetObject(info, p_UnInfo.StructSource.ModelProject.Rows[0]);

            p_UnInfo.PID  = p_Info.ID;
            p_UnInfo.Key  = ++this.Current.ObjectKey;
            p_UnInfo.PKey = p_Info.Key;
            p_UnInfo.Sort = ++(this.Current as _Projects).UnSort;
            p_UnInfo.Deep = 2;
            p_UnInfo.CODE = p_Info.CODE + p_UnInfo.Sort.ToString().PadLeft(3, '0');
            //追加后的项目编号
            this.SetKeyNo(p_UnInfo);

            p_UnInfo.ID = this.Current.StructSource.ModelProject.Add(p_UnInfo);
            if (p_UnInfo.StructSource.ModelProject.Rows.Count == 1)
            {
                p_UnInfo.StructSource.ModelProject.Rows[0]["ID"] = p_UnInfo.ID;
            }
            //获取到新的单位工程对象
            int objkey = this.Current.ObjectKey;

            p_UnInfo.StructSource.SetNewFiled(ref objkey, p_UnInfo as _UnitProject);
            this.Current.ObjectKey = objkey;
            this.Current.StructSource.ModelProject.AppendUnit(p_UnInfo);
            this.InitDataObject(p_UnInfo);
            this.ObjectList.Add(p_UnInfo.ID, p_UnInfo);
            p_UnInfo.StructSource.AcceptChanges();
            if (this.Current.StructSource.ModelProjVariable == null)
            {
                this.Current.StructSource.ModelProjVariable = new _VariableSource("变量表");
            }

            p_UnInfo.StructSource.ModelProjVariable.AcceptChanges();
            foreach (DataRow row in p_UnInfo.StructSource.ModelProjVariable.Rows)
            {
                row["ID"] = p_UnInfo.ID;
                row.AcceptChanges();
                Current.StructSource.ModelProjVariable.Rows.Add(row.ItemArray);
            }

            p_UnInfo.StructSource.ModelMeasures.SetRowStateAsNew();
            p_UnInfo.StructSource.ModelSubSegments.SetRowStateAsNew();
            p_UnInfo.StructSource.ModelOtherProject.SetRowStateAsNew();
            p_UnInfo.StructSource.ModelQuantity.SetRowStateAsNew();
            p_UnInfo.StructSource.ModelIncreaseCosts.SetRowStateAsNew();
            p_UnInfo.StructSource.ModelStandardConversion.SetRowStateAsNew();
            p_UnInfo.StructSource.ModelYTLBSummary.SetRowStateAsNew();
            p_UnInfo.StructSource.ModelMetaanalysis.SetRowStateAsNew();
            p_UnInfo.StructSource.ModelPSubheadingsFee.SetRowStateAsNew();
            p_UnInfo.StructSource.ModelSubheadingsFee.SetRowStateAsNew();
            p_UnInfo.StructSource.ModelInfomation.SetRowStateAsNew();
            p_UnInfo.NeedCalculate = true;
        }
Ejemplo n.º 17
0
 /// <summary>
 /// 获取对象根据字节
 /// </summary>
 /// <param name="p_Info"></param>
 /// <returns></returns>
 public _COBJECTS GetObject(object p_Info)
 {
     byte[] bs = p_Info as byte[];
     if (bs != null)
     {
         //获取的对象需要同步DataRow数据
         _COBJECTS info = this.ProjDataBase.GetObjectByte(bs) as _COBJECTS;
         return(info);
     }
     return(null);
 }
Ejemplo n.º 18
0
 /// <summary>
 /// 添加到活动单位工程集合中
 /// </summary>
 /// <param name="p_Info"></param>
 public void AddUnit(_COBJECTS p_Info)
 {
     if (!this.ObjectList.ContainsKey(p_Info.ID))
     {
         this.ObjectList.Add(p_Info.ID, p_Info);
     }
     else
     {
         this.ObjectList[p_Info.ID] = p_Info;
     }
 }
Ejemplo n.º 19
0
        private void Remove(DataRowView p_View)
        {
            //如果当前有子行
            //如果深度是2 直接删除 如果深度是1 删除所有子节点
            int deep = ToolKit.ParseInt(p_View["DEEP"]);

            if (deep == 1)
            {
                int id = ToolKit.ParseInt(p_View["ID"]);
                //单项删除
                DataRow[] rows = CurrentSource.Select(string.Format("PID = {0}", id));
                if (rows != null)
                {
                    foreach (DataRow r in rows)
                    {
                        switch (r.RowState)
                        {
                        case DataRowState.Added:    //新增的数据直接删除
                            r.Delete();
                            break;

                        case DataRowState.Modified:
                        case DataRowState.Unchanged:
                            //添加到删除对象清单
                            _COBJECTS info = new _COBJECTS();
                            _ObjectSource.GetObject(info, r);
                            DelTable.Add(info.ID, info);
                            r.Delete();
                            break;
                        }
                    }
                }
            }

            //处理删除单项工程
            switch (p_View.Row.RowState)
            {
            case DataRowState.Added:
                p_View.Delete();
                break;

            case DataRowState.Modified:
            case DataRowState.Unchanged:
                //添加到删除对象清单
                _COBJECTS info = new _COBJECTS();
                _ObjectSource.GetObject(info, p_View);
                DelTable.Add(info.ID, info);
                p_View.Delete();
                break;
            }

            p_View.Delete();
            CurrEn = null;
        }
Ejemplo n.º 20
0
 /// <summary>
 /// 将当前对象导入到源对象中
 /// </summary>
 /// <param name="p_source">源对象</param>
 /// <param name="p_current">当前对象</param>
 public override void ImportIn(_COBJECTS p_source, ArrayList p_currList)
 {
     /*foreach (object o_obj in p_currList)
      * {
      *  _COBJECT obj = o_obj as _COBJECT;
      *  this.InitDataObject(obj);
      *  obj.CDirectories.ParentFieldName = p_source.CDirectories.Key;
      *  this.Current.CDirectories.AcceptChanges(obj.CDirectories);
      *  p_source.CObjectList.Add(obj.CDirectories.Key, obj);
      * }*/
 }
Ejemplo n.º 21
0
        private void treeList1_CellValueChanged(object sender, CellValueChangedEventArgs e)
        {
            _COBJECTS info = this.SelectItem;

            if (info != null)
            {
                info.Name     = e.Value.ToString();
                info.NodeName = e.Value.ToString();
                //info.StructSource.ModelProject.UpDate(info);
                this.CurrBusiness.Current.StructSource.ModelProject.UpDate(info);
            }
        }
Ejemplo n.º 22
0
        /// <summary>
        /// 当树结构变更选项的时候
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        void bindingSource1_PositionChanged(object sender, EventArgs e)
        {
            //获取选择项
            _COBJECTS info = this.projectTrees1.SelectNotEntity;

            if (info != null)
            {
                this.InitEn(info);
                //配置是否可编辑(不是项目都允许编辑)
                this.projectTrees1.treeList1.Columns[0].OptionsColumn.AllowEdit = info.ObjectType == EObjectType.PROJECT?false:true;
            }
        }
Ejemplo n.º 23
0
 /// <summary>
 /// 为当前项目添加子项目(添加实体对象单项工程)
 /// </summary>
 /// <param name="p_info"></param>
 public override void Add(_COBJECTS p_info)
 {
     //准备排序索引
     //this.Current.StrustObject.Add(p_info.Directory.Key, p_info);
     //p_info.ObjectState = EObjectState.Created;
     p_info.Sort = (this.Current as _Projects).EnSort++;
     p_info.PKey = this.Current.Key;
     p_info.Key  = ++this.Current.ObjectKey;
     this.Current.StructSource.ModelProject.Add(p_info);
     this.onListChange();
     //this.ProjDataBase.Add(p_info);
 }
Ejemplo n.º 24
0
 /// <summary>
 /// 加载获取对象数据
 /// </summary>
 /// <param name="p_info"></param>
 public void LoadForXml(_COBJECTS p_info)
 {
     //base.Load(p_info);
     //this.Current = p_info;
     //初始化数据对象
     //this.InitDataObject(this.Current);
     //读取数据
     // this.OpenDataBase();
     this.ProjDataBase.MyTran = this.DBTran as System.Data.OleDb.OleDbTransaction;
     this.DataBase.Load(p_info);
     this.InitDataObject(p_info);
     //this.Close(true);
 }
Ejemplo n.º 25
0
        /// <summary>
        /// 打开资源
        /// </summary>
        public virtual void Open(_COBJECTS p_Info)
        {
            this.m_Current = p_Info;
            //打开的时候还原数据库对象

            /*using (FileStream stream = new FileStream(this.Current.Files.FullName, FileMode.Open, FileAccess.Write, FileShare.None))
             * {
             *
             *  stream.Write(_ObjectDataBase.GetOriginalByte, 0, 16);
             *  //stream.Write(Resources.项目文件, 16, Resources.项目文件.Length - 16);
             *  stream.Close();
             * }*/
        }
Ejemplo n.º 26
0
        public override void Load(_COBJECTS p_info)
        {
            base.Load(p_info);
            this.Current = p_info;

            //TODO:打开单位工程无统计数据
            int objkey = this.Current.ObjectKey;

            p_info.StructSource.SetNewFiled(ref objkey, p_info as _UnitProject);

            //初始化数据对象
            this.InitDataObject(this.Current);
        }
Ejemplo n.º 27
0
 /// <summary>
 /// 加载获取对象数据
 /// </summary>
 /// <param name="p_info"></param>
 public override void Load(_COBJECTS p_info)
 {
     //base.Load(p_info);
     //this.Current = p_info;
     //初始化数据对象
     //this.InitDataObject(this.Current);
     //读取数据
     this.OpenDataBase();
     this.DataBase.Load(p_info);
     this.InitDataObject(p_info);
     this.AddUnit(p_info);
     //this.Close(true);
 }
Ejemplo n.º 28
0
        /// <summary>
        /// 当前数据替换源数据(目前替换只针对单位工程)
        /// </summary>
        /// <param name="p_source">源数据</param>
        /// <param name="p_curr">当前数据</param>
        public override _COBJECTS Replace(_COBJECTS p_source, _COBJECTS p_curr)
        {
            p_curr.ID       = p_source.ID;
            p_curr.Parent   = p_source.Parent;
            p_curr.PID      = p_source.PID;
            p_curr.Key      = p_source.Key;
            p_curr.PKey     = p_source.PKey;
            p_curr.Sort     = p_source.Sort;
            p_curr.Deep     = 2;
            p_curr.NodeName = p_curr.Name = p_source.Name;
            p_curr.CODE     = p_source.CODE;

            this.Current.StructSource.DeleteUnit(p_source);
            this.ObjectList.Remove(p_source.ID);
            this.Current.StructSource.ProjClear(p_source.ID);
            this.Current.StructSource.ModelProject.Add(p_curr);

            //获取到新的单位工程对象
            int unitID = p_curr.ID;

            p_curr.StructSource.SetNewFiled(ref unitID, p_curr as _UnitProject);

            this.InitDataObject(p_curr);
            this.Current.ObjectKey = unitID;
            this.Current.StructSource.ModelProject.AppendUnit(p_curr);
            this.ObjectList.Add(p_curr.ID, p_curr);
            p_curr.StructSource.AcceptChanges();
            foreach (DataRow row in p_curr.StructSource.ModelProjVariable.Rows)
            {
                row["ID"] = p_curr.ID;
                row.AcceptChanges();
                Current.StructSource.ModelProjVariable.Rows.Add(row.ItemArray);
            }

            p_curr.StructSource.ModelMeasures.SetRowStateAsNew();
            p_curr.StructSource.ModelSubSegments.SetRowStateAsNew();
            p_curr.StructSource.ModelOtherProject.SetRowStateAsNew();
            p_curr.StructSource.ModelQuantity.SetRowStateAsNew();
            p_curr.StructSource.ModelIncreaseCosts.SetRowStateAsNew();
            p_curr.StructSource.ModelStandardConversion.SetRowStateAsNew();
            p_curr.StructSource.ModelYTLBSummary.SetRowStateAsNew();
            p_curr.StructSource.ModelMetaanalysis.SetRowStateAsNew();
            p_curr.StructSource.ModelPSubheadingsFee.SetRowStateAsNew();
            p_curr.StructSource.ModelSubheadingsFee.SetRowStateAsNew();
            p_curr.StructSource.ModelInfomation.SetRowStateAsNew();

            this.AddUnit(p_curr);
            p_curr.NeedCalculate = true;

            return(p_curr);
        }
Ejemplo n.º 29
0
        /// <summary>
        /// 二进制序列化对象
        /// </summary>
        /// <param name="obj"></param>
        private void BinarySerialize(string path, _COBJECTS obj)
        {
            BackgroundWorker bWorker = new BackgroundWorker();

            bWorker.WorkerReportsProgress = true;
            bWorker.DoWork += new DoWorkEventHandler(bWorker_DoWork);
            object param = new object[] { path, obj };

            bWorker.RunWorkerAsync(param);
            ProjProgressAction form = new ProjProgressAction(bWorker);

            //form.progressBarControl1.Properties.Maximum = this.Current.UnitCount;
            form.ShowDialog();
        }
Ejemplo n.º 30
0
 /// <summary>
 /// 初始化数据到数据源
 /// </summary>
 public void DoLoadData(_COBJECTS value)
 {
     if (value == null)
     {
         return;
     }
     //名称默认为空此处重新输入名称
     //this.txt_xmmc.Text = value.Name;
     this.cbx_degz.Text         = value.DEGZ;
     this.cbx_qdgz.Text         = value.QDGZ;
     this.cbx_gcdd.Text         = value.PGCDD;
     this.rg_jfcx.SelectedIndex = value.PJFCX;
     this.cbx_nsdd.Text         = value.PNSDD;
 }