Example #1
0
        /// <summary>
        /// 得到变压器、台架、级联设备的功能位置与公共属性
        /// </summary>
        /// <param name="BYQFid">变压器G3E_FID</param>
        /// <returns></returns>
        private bool GetDevsByBYQFid(long BYQFid)
        {
            try
            {
                byq_gnwz = null;
                // 得到变压器的功能位置
                byq_gnwz = DBManager.Instance.GetEntities <Gg_pd_gnwzmc_n>(o => o.G3E_FID == BYQFid).FirstOrDefault();

                if (byq_gnwz != null)
                {
                    long tj_fid;
                    long.TryParse(byq_gnwz.GNWZ_SSTJ, out tj_fid);
                    // 得到台架的功能位置
                    tj_gnwz = null;
                    tj_gnwz = DBManager.Instance.GetEntities <Gg_pd_gnwzmc_n>(o => o.G3E_FID == tj_fid).FirstOrDefault();
                    if (tj_gnwz != null)
                    {
                        tj_comm = null;
                        tj_comm =
                            DBManager.Instance.GetEntities <Common_n>(o => o.G3E_FID == tj_gnwz.G3E_FID).FirstOrDefault();
                        tj_devs_gnwz = null;
                        // 得到台架级联设备的功能位置
                        tj_devs_gnwz =
                            DBManager.Instance.GetEntities <Gg_pd_gnwzmc_n>(o => o.GNWZ_SSTJ == tj_gnwz.G3E_FID.ToString());
                        if (tj_devs_gnwz != null && tj_devs_gnwz.Any())
                        {
                            tj_devs_comm.Clear();
                            // 得到台架级联设备的公共属性
                            tj_devs_comm.AddRange(
                                tj_devs_gnwz.Select(d => DBManager.Instance.GetEntity <Common_n>(d.G3E_FID))
                                .Where(dc => dc != null));
                            return(true);
                        }
                    }
                    else
                    {
                        PublicMethod.Instance.ShowMessage("此变压器没有台架信息。\n");
                    }
                }
                else
                {
                    PublicMethod.Instance.ShowMessage("此变压器没有功能位置信息。\n");
                }
                return(false);
            }
            catch (NotExistException ex)
            {
                PublicMethod.Instance.NotExistTable(ex);
                return(GetDevsByBYQFid(BYQFid));
            }
        }
Example #2
0
 /// <summary>
 /// 更新功能位置表
 /// </summary>
 /// <param name="gnwz"> </param>
 /// <returns></returns>
 public static bool UpdateGNWZ(Gg_pd_gnwzmc_n gnwz)
 {
     try
     {
         var newObj = gnwz.Clone() as Gg_pd_gnwzmc_n;
         //只有原始数据才改变状态
         if (newObj != null && newObj.EntityState == EntityState.None)
         {
             newObj.EntityState = EntityState.Update;
         }
         DBManager.Instance.Update(newObj);
         return(true);
     }
     catch { return(false); }
 }
Example #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="objDev"></param>
        /// <param name="ObjCom"></param>
        /// <param name="ObjSelf"></param>
        /// <param name="ObjGnwz"></param>
        /// <param name="flag">是否是批量</param>
        public void UpdateAttribute(XProps objDev, Common_n ObjCom, DBEntity ObjSelf, Gg_pd_gnwzmc_n ObjGnwz, bool flag)
        {
            var tableName = string.Empty;

            try
            {
                if (ObjCom != null)
                {
                    tableName = ObjCom.GetType().Name;
                    if (flag)
                    {
                        string sbmc = ObjCom.SBMC;
                        GenerateHelper.PartialCopyFromCAD(objDev, ObjCom, 198);
                        ObjCom.SBMC = sbmc;
                    }
                    else
                    {
                        GenerateHelper.PartialCopyFromCAD(objDev, ObjCom, 198);
                    }
                    if (GenerateHelper.Atff.com != null && ObjCom.CompareProperties(GenerateHelper.Atff.com).Any())
                    {
                        if (ObjCom.EntityState == EntityState.None)
                        {
                            ObjCom.EntityState = EntityState.Update;
                        }
                        DBManager.Instance.Update(ObjCom);
                    }
                }
                if (ObjSelf != null)
                {
                    tableName = ObjSelf.GetType().Name;
                    GenerateHelper.PartialCopyFromCAD(objDev, ObjSelf, 198);
                    if (GenerateHelper.Atff.self != null && ObjSelf.CompareProperties(GenerateHelper.Atff.self).Any())
                    {
                        if (ObjSelf.EntityState == EntityState.None)
                        {
                            ObjSelf.EntityState = EntityState.Update;
                        }
                        DBManager.Instance.Update(ObjSelf);
                    }
                }
                if (ObjGnwz != null)
                {
                    tableName = ObjGnwz.GetType().Name;
                    if (flag)
                    {
                        string mc = ObjGnwz.MC;
                        GenerateHelper.PartialCopyFromCAD(objDev, ObjGnwz, 198);
                        ObjGnwz.MC = mc;
                    }
                    else
                    {
                        GenerateHelper.PartialCopyFromCAD(objDev, ObjGnwz, 198);
                        ObjGnwz.SetAttribute("MC", GenerateHelper.GetPropertyValue((XProps)pgSwitchCabinet.SelectedObject, "Common_n", "SBMC"));
                    }
                    if (GenerateHelper.Atff.gnwz != null && ObjGnwz.CompareProperties(GenerateHelper.Atff.gnwz).Any())
                    {
                        if (ObjGnwz.EntityState == EntityState.None)
                        {
                            ObjGnwz.EntityState = EntityState.Update;
                        }
                        DBManager.Instance.Update(ObjGnwz);
                    }
                }
            }
            catch (UpdataArgumentException ee)
            {
                CommonHelp.Instance.ShowErrorMsg();
                GenerateHelper.SetPropertyValue(objDev, tableName, ee.FieldName, null);
            }
        }