/// <summary>
        /// 注入天线信息
        /// </summary>
        /// <param name="Antennas">天线信息</param>
        /// <param name="RefLteNode">新生成的,EDS中的基站信息</param>
        private static void BuildAntennaInfo(List <AirComAntennaType> Antennas, ref LTENodeType RefLteNode)
        {
            #region Antennas
            List <LTEAntennaType> _Antennas = new List <LTEAntennaType>();
            for (int index = 0; index < Antennas.Count; index++)
            {
                AirComAntennaType Item     = Antennas[index];
                LTEAntennaType    _Antenna = new LTEAntennaType();
                _Antenna.Index = index + 1; //可以采用序列的索引吗?可以
                #region AbsLocation         // 无异议

                _Antenna.AbsLocation = new LocationTypeType()
                {
                    Longitude          = Item.Lng,
                    LongitudeSpecified = true,
                    Latitude           = Item.Lat,
                    LatitudeSpecified  = true
                };
                #endregion

                _Antenna.Azimuth                        = Item.Azimuth;
                _Antenna.AzimuthSpecified               = true;
                _Antenna.ElectricalDownTilt_RO          = Item.ElectricalDownTilt;//界面输入的是物理的?还是电子的?//无用,填0 @20150825确认
                _Antenna.ElectricalDownTilt_ROSpecified = true;
                _Antenna.Height          = Item.Height;
                _Antenna.HeightSpecified = true;
                //_Antenna.iid = Item //示例XML中没有
                _Antenna.MechanicalDownTiltSpecified = true;
                _Antenna.MechanicalDownTilt          = Item.MechanicalDownTilt;

                #region AntennaPatternType
                //_Antenna.AntennaPatternType = new AntennaPatternType()
                //{
                //    iid = Antennas[index].AntennaTypeName   //就是天线型号  Default_D,Defaut_F

                //};  //这个值从哪里获取?


                _Antenna.AntennaPatternType = new IDType()
                {
                    iid = Antennas[index].AntennaTypeName
                };
                #endregion

                #region PrimaryModel,天线参数中体现
                _Antenna.PrimaryModel = new PredictionModelReferenceType()
                {
                    ModelType = new IDType()
                    {
                        iid = Antennas[index].ModelType                           //从哪里获取?传播模型由用户在下拉框中选择;配置文件中可配置选项;
                    },
                    RadiusKM                  = Antennas[index].RadiusKm,         //是覆盖半径吗?1,2,3,5,由用户下拉框中选择,默认为2;
                    RadiusKMSpecified         = true,
                    ResolutionMetres          = Antennas[index].ResolutionMetres, //计算精度,以米为单位,默认为10M;用户可选;扇区添加天线时,需选择计算精度5,10,20
                    ResolutionMetresSpecified = true
                };

                #endregion

                #region Feeders

                List <LTECellFeederType> _LteCellFeeders = new List <LTECellFeederType>();


                LTECellFeederType _fe = new LTECellFeederType();
                //以下参数坐哪里获取?
                _fe.FeederType = new IDType()
                {
                    iid = "Unknown"
                };
                //_fe.LTECellID = (index + 1).ToString();//基站iid-天线索引号(_Antenna.Index)
                //_fe.LTECellID =string.Format("{0}-{1}" ,RefLteNode.iid ,index+1);//扇区ID,20151126郭琴确认//20160829根据郭琴要求,修改两种对应关系,详见
                _fe.LTECellID        = Item.Celliid;
                _fe.Length           = 0;
                _fe.LengthSpecified  = true;
                _fe.DLGain           = 0;
                _fe.DLGainSpecified  = true;
                _fe.MHAGain          = 0;
                _fe.MHAGainSpecified = true;
                _fe.MHAType          = new IDType()
                {
                    iid = "Unknown"
                };
                _fe.ULGain               = 0;
                _fe.ULGainSpecified      = true;
                _fe.Noise                = 0;
                _fe.NoiseSpecified       = true;
                _fe.OtherLosses          = 0;
                _fe.OtherLossesSpecified = true;
                _LteCellFeeders.Add(_fe);
                _Antenna.Feeders = _LteCellFeeders.ToArray();

                #endregion
                _Antennas.Add(_Antenna);
            }
            RefLteNode.Antennas = _Antennas.ToArray();

            #endregion
        }
Exemple #2
0
        static void Main(string[] args)
        {
            try
            {
                LTECellType _lte     = new LTECellType();
                LTENodeType _lteNode = new LTENodeType();


                LTEAntennaType _nType = new LTEAntennaType();


                LTECellFeederType feeder = new LTECellFeederType();


                //_nType.Feeders

                #region 序列化示例 

                RootEntityType Root1 = new RootEntityType();



                Root1.iid      = "HL - D3900256154PT";
                Root1.bvid     = "LTE_HUNAN";
                Root1.Security = null;


                RootEntityType Root2 = new RootEntityType();

                Root2.iid  = "HL-D3900256155PT";
                Root2.bvid = "LTE_HUNAN";



                XmlSerializerNamespaces nsMgr = new XmlSerializerNamespaces();
                //XmlNamespaceManager nsMgr = new XmlNamespaceManager();//这一步实例化一个xml命名空间管理器

                nsMgr.Add("umts70", "http://www.aircominternational.com/Schemas/UMTS/2010/08");
                nsMgr.Add("gsm", "http://www.aircominternational.com/Schemas/GSM/2009/09");
                nsMgr.Add("eqp", "http://www.aircominternational.com/Schemas/Equipment/2009/09");
                nsMgr.Add("umts", "http://www.aircominternational.com/Schemas/UMTS/2010/07");
                nsMgr.Add("tra70", "http://www.aircominternational.com/Schemas/Connect/2010/08");
                nsMgr.Add("co", "http://www.aircominternational.com/Schemas/Common/2009/07");
                nsMgr.Add("xsi", "http://www.w3.org/2001/XMLSchema-instance");
                nsMgr.Add("co70", "http://www.aircominternational.com/Schemas/Common/2010/08");
                nsMgr.Add("gsm70", "http://www.aircominternational.com/Schemas/GSM/2010/08");
                nsMgr.Add("util", "http://www.aircominternational.com/contract/Util/2009/10");
                nsMgr.Add("config", "http://www.aircominternational.com/Schemas/Configuration/2010/08");
                nsMgr.Add("tra", "http://www.aircominternational.com/Schemas/Connect/2009/09");
                nsMgr.Add("ct", "http://www.aircominternational.com/Schemas/CommonTypes/2009/05");
                nsMgr.Add("lte", "http://www.aircominternational.com/Schemas/LTE/2010/08");
                nsMgr.Add("eqp70", "http://www.aircominternational.com/Schemas/Equipment/2010/08");
                nsMgr.Add("umts2", "http://www.aircominternational.com/Schemas/UMTS/2009/05");

                //LTECellType Root1 = new LTECellType();
                //Root1.iid = "HL - D3900256154PT";
                //Root1.bvid = "LTE_HUNAN";
                //LTECellType Root2 = new LTECellType();
                //Root2.iid = "HL-D3900256155PT";
                //Root2.bvid = "LTE_HUNAN";
                List <RootEntityType> tt = new List <RootEntityType>();
                tt.Add(Root1);
                tt.Add(Root2);

                //JLIB.CSharp.JFileExten.ToXML((RootEntityType)Lte, "d:\\TestLte.xml");
                //XmlRootAttribute rootAtrAttribute = new XmlRootAttribute("ArrayOfRootEntityType");

                XmlAttributeAttribute aa = new XmlAttributeAttribute("type", typeof(string));
                aa.Namespace     = "http://www.w3.org/2001/XMLSchema-instance";
                aa.AttributeName = typeof(LocationObjectv70Type).ToString();



                XmlSerializer     sr       = new XmlSerializer(typeof(List <RootEntityType>));
                XmlWriterSettings settings = new XmlWriterSettings()
                {
                    Indent            = true,
                    IndentChars       = ("\t\t"),
                    NamespaceHandling = NamespaceHandling.OmitDuplicates,
                    NewLineHandling   = NewLineHandling.Entitize
                                        //NewLineOnAttributes = true
                };


                // Simply dump dataset to xml file on disk...
                using (XmlWriter wr = XmlWriter.Create("d:\\TestLte.xml", settings))
                {
                    sr.Serialize(wr, tt, nsMgr);
                }
                #endregion

                #region 创建示例
                //EDSDemoProxy.EDSClient client = new SimpleEDSQuery.EDSDemoProxy.EDSClient("EDSWCFNetTCPEndPoint");
                //client.Open();

                //List<RootEntityType> datas = new List<RootEntityType>();

                //var Entity = new LTENodeType();
                //Entity.iid = "";
                //Entity.bvid = "";
                //Entity.PLMN = new IDType()
                //{
                //    iid = "LTE_HUNAN"
                //};
                ////Entity.Cells;
                ////Entity.Antennas
                ////Entity.Carriers;
                //datas.Add(Entity);


                //#region LTE CELL

                //LTECellType Cell = new LTECellType();


                //#endregion

                //CreateRequestType CreateParams = new CreateRequestType();
                //var CreateItems = new CreateItemType[]
                //{
                //    new CreateItemType()
                //    {
                //        itemID = new Guid(),
                //        objectType = QueryableTypes.LTENodeType,
                //        NewData = datas.ToArray()

                //    }
                //};
                //CreateParams.CreateItems = CreateItems;


                //CreateParams.CreateItems = CreateItems;


                //var Result = client.Create(CreateParams);


                #endregion

                #region wjj删除示例

                // var _DelItems = new List<DeleteItemType>();

                // #region 添加删除项
                // var _DelItem = new DeleteItemType();
                // _DelItem.objectType = QueryableTypes.LocationObjectv70Type;


                // #region 删除条件
                // var selType = new QrySelectType();
                // var objs  = new QrySimpleListType();
                // selType.Item = objs;
                // #region 删除对像集合
                // List<ListItemType> Itemss = new List<ListItemType>();

                //  var obj = new ListItemType()
                //  {
                //      bvid = "LTE_HUNAN",
                //      iid = "衡阳常宁市六联HL-D3900256154PT"
                //  };
                //  Itemss.Add(obj);
                //  var obj2 = new ListItemType()
                //  {
                //      bvid = "LTE_HUNAN",
                //      iid = "衡阳常宁市双湖HL-D3900256155PT"
                //  };
                //  Itemss.Add(obj2);


                // #endregion
                //objs.Items = Itemss.ToArray();


                // #endregion



                // _DelItem.Select = selType;


                // _DelItems.Add(_DelItem);
                // #endregion

                //  var _QrySel = new QrySelectType();
                //  DeleteRequestType DelParams = new DeleteRequestType();
                //  DelParams.DeleteItems = _DelItems.ToArray();
                //  EDSDemoProxy.EDSClient client = new SimpleEDSQuery.EDSDemoProxy.EDSClient("EDSWCFNetTCPEndPoint");
                //  client.Open();
                //  client.Delete(DelParams);

                #endregion

                #region 自带查询示例

                //EDSDemoProxy.EDSClient client = new SimpleEDSQuery.EDSDemoProxy.EDSClient("EDSWCFNetTCPEndPoint");
                //client.Open();



                //var QueryComm = new QrySelectType()
                //{
                //    #region QrySelectType
                //    Item = new QrySimpleTextType()
                //    {
                //        // 查询表达式 --生成任意多边形指令
                //        Query = string.Format("iid = \"{0}\" and bvid = \"{1}\"", "SF03003A_11", "West")
                //    }
                //    #endregion
                //};

                //var QueryItemsInfo = new QueryItemType[]
                //{
                //    new QueryItemType()
                //    {
                //        itemID = Guid.NewGuid(), // Inner request id for an item
                //        // data type to query against
                //        objectType = ty,
                //        Select = QueryComm
                //    }
                //};


                //QueryRequestType qry = new QueryRequestType()

                //{
                //    itemID = Guid.NewGuid(),    // Outer request id
                //    QueryItems = QueryItemsInfo
                //};

                //// sends query
                //QueryResponseType data = client.Query(qry);



                //SerializeResultToDisk(data, ty);

                #endregion
            }
            catch (Exception ex)
            {
                JLog.Instance.Error(ex.Message, MethodBase.GetCurrentMethod().Name,
                                    MethodBase.GetCurrentMethod().Module.Name);
            }
        }