当前位置: 首页>>代码示例>>C#>>正文


C# IClientAPI.SendDirClassifiedReply方法代码示例

本文整理汇总了C#中IClientAPI.SendDirClassifiedReply方法的典型用法代码示例。如果您正苦于以下问题:C# IClientAPI.SendDirClassifiedReply方法的具体用法?C# IClientAPI.SendDirClassifiedReply怎么用?C# IClientAPI.SendDirClassifiedReply使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IClientAPI的用法示例。


在下文中一共展示了IClientAPI.SendDirClassifiedReply方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: DirClassifiedQuery

        public void DirClassifiedQuery(IClientAPI remoteClient, UUID queryID,
                                       string queryText, uint queryFlags, uint category,
                                       int queryStart)
        {
            DirClassifiedReplyData[] ReturnValues = directoryService.FindClassifieds(queryText, category.ToString(), queryFlags.ToString(), queryStart);
            
            //Split into sets of 10 packets
            if (ReturnValues.Length > 10)
            {
                DirClassifiedReplyData[] data = new DirClassifiedReplyData[10];
                int i = 0;

                foreach (DirClassifiedReplyData d in ReturnValues)
                {
                    data[i] = d;
                    i++;
                    if (i == 10)
                    {
                        remoteClient.SendDirClassifiedReply(queryID, data);
                        i = 0;
                        if (data.Length - i < 10)
                            data = new DirClassifiedReplyData[data.Length - i];
                        else
                            data = new DirClassifiedReplyData[10];
                    }
                }
                //Send the remaining packets
                if (data.Length != 0)
                    remoteClient.SendDirClassifiedReply(queryID, data);
            }
            else //Send the remaining as they are under 10
                remoteClient.SendDirClassifiedReply(queryID, ReturnValues);
        }
开发者ID:WordfromtheWise,项目名称:Aurora,代码行数:33,代码来源:AuroraSearchModule.cs

示例2: DirClassifiedQuery

        public void DirClassifiedQuery(IClientAPI remoteClient, UUID queryID, string queryText, uint queryFlags, uint category,
                int queryStart)
        {
            // This is pretty straightforward here, get the input, set up the query, run it through, send back to viewer.
            string query = String.Empty;
            string sqlAddTerms = String.Empty;
            string userText = queryText.Trim(); // newer viewers sometimes append a space

            string searchStart = Convert.ToString(queryStart);
            int count = MAX_RESULTS + 1;    // +1 so that the viewer knows to enable the NEXT button (it seems)
            string searchEnd = Convert.ToString(queryStart + count);
            int i = 0;

            // There is a slight issue with the parcel data not coming from land first so the
            //  parcel information is never displayed correctly within in the classified ad.

            //stop blank queries here before they explode mysql
            if (String.IsNullOrEmpty(userText))
            {
                remoteClient.SendDirClassifiedReply(queryID, new DirClassifiedReplyData[0]);
                return;
            }

            if (queryFlags == 0)
            {
                sqlAddTerms = " AND (classifiedflags='2' OR classifiedflags='34') ";
            }

            if (category != 0)
            {
                sqlAddTerms = " AND category=?category ";
            }

             Dictionary<string, object> parms = new Dictionary<string, object>();
             parms.Add("?matureFlag", queryFlags);
             parms.Add("?category", category);
             parms.Add("?userText", userText);

            // Ok a test cause the query pulls fine direct in MySQL, but not from here, so WTF?!
             //query = "select classifieduuid, name, classifiedflags, creationdate, expirationdate, priceforlisting from classifieds " +
             //        "where name LIKE '" + userText + "' OR description LIKE '" + userText + "' " + sqlAddTerms;

            query = "select classifieduuid, name, classifiedflags, creationdate, expirationdate, priceforlisting from classifieds " +
                    "where (description REGEXP ?userText OR name REGEXP ?userText) " +sqlAddTerms + " order by priceforlisting DESC limit " + searchStart + ", " + searchEnd + String.Empty;

            using (ISimpleDB db = _connFactory.GetConnection())
            {
                List<Dictionary<string, string>> results = db.QueryWithResults(query, parms);
                count = results.Count;
                DirClassifiedReplyData[] data = new DirClassifiedReplyData[count];
                foreach (Dictionary<string, string> row in results)
                {
                    data[i] = new DirClassifiedReplyData();
                    data[i].classifiedID = new UUID(row["classifieduuid"].ToString());
                    data[i].name = row["name"].ToString();
                    data[i].classifiedFlags = Convert.ToByte(row["classifiedflags"]);
                    data[i].creationDate = Convert.ToUInt32(row["creationdate"]);
                    data[i].expirationDate = Convert.ToUInt32(row["expirationdate"]);
                    data[i].price = Convert.ToInt32(row["priceforlisting"]);
                    i++;
                }
                remoteClient.SendDirClassifiedReply(queryID, data);
            }
        }
开发者ID:MatthewBeardmore,项目名称:halcyon,代码行数:64,代码来源:AvatarSearchModule.cs

示例3: DirClassifiedQuery

        public void DirClassifiedQuery(IClientAPI remoteClient, UUID queryID,
                string queryText, uint queryFlags, uint category,
                int queryStart)
        {
            Hashtable ReqHash = new Hashtable();
            ReqHash["text"] = queryText;
            ReqHash["flags"] = queryFlags.ToString();
            ReqHash["category"] = category.ToString();
            ReqHash["query_start"] = queryStart.ToString();

            Hashtable result = GenericXMLRPCRequest(ReqHash,
                    "dir_classified_query");

            if (!Convert.ToBoolean(result["success"]))
            {
                remoteClient.SendAgentAlertMessage(
                        result["errorMessage"].ToString(), false);
                return;
            }

            ArrayList dataArray = (ArrayList)result["data"];

            int count = dataArray.Count;
            if (count > 100)
                count = 101;

            DirClassifiedReplyData[] data = new DirClassifiedReplyData[count];

            int i = 0;

            foreach (Object o in dataArray)
            {
                Hashtable d = (Hashtable)o;

                data[i] = new DirClassifiedReplyData();
                data[i].classifiedID = new UUID(d["classifiedid"].ToString());
                data[i].name = d["name"].ToString();
                data[i].classifiedFlags = Convert.ToByte(d["classifiedflags"]);
                data[i].creationDate = Convert.ToUInt32(d["creation_date"]);
                data[i].expirationDate = Convert.ToUInt32(d["expiration_date"]);
                data[i].price = Convert.ToInt32(d["priceforlisting"]);

                if (++i >= count)
                    break;
            }

            remoteClient.SendDirClassifiedReply(queryID, data);
        }
开发者ID:Barosonix,项目名称:Barosonix-Search-Module,代码行数:48,代码来源:OpenSearch.cs

示例4: DirClassifiedQuery

        public void DirClassifiedQuery(IClientAPI remoteClient, UUID queryID,
                                       string queryText, uint queryFlags, uint category,
                                       int queryStart)
        {
            DirClassifiedReplyData[] ReturnValues = DSC.FindClassifieds(queryText, category.ToString(), queryFlags.ToString(), queryStart);
            if (ReturnValues.Length > 10)
            {
                DirClassifiedReplyData[] data = new DirClassifiedReplyData[10];
                int i = 0;

                foreach (DirClassifiedReplyData d in ReturnValues)
                {
                    data[i] = d;
                    i++;
                    if (i == 10)
                    {
                        remoteClient.SendDirClassifiedReply(queryID, data);
                        i = 0;
                        if (data.Length - i < 10)
                        {
                            data = new DirClassifiedReplyData[data.Length - i];
                        }
                        else
                        {
                            data = new DirClassifiedReplyData[10];
                        }
                    }
                }
                remoteClient.SendDirClassifiedReply(queryID, data);
            }
            else
                remoteClient.SendDirClassifiedReply(queryID, ReturnValues);
        }
开发者ID:shangcheng,项目名称:Aurora,代码行数:33,代码来源:AuroraSearchModule.cs


注:本文中的IClientAPI.SendDirClassifiedReply方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。