/// ------------------------------------------------------------------------------------
        /// <summary>
        /// Set's the pattern text box's search query, cloning it if specified by the
        /// cloneQuery flag.
        /// </summary>
        /// ------------------------------------------------------------------------------------
        public void SetSearchQuery(SearchQuery query, bool allowTextChangedEvent)
        {
            if (query == SearchQuery || (query != null && query.IsPatternRegExpression))
            {
                return;
            }

            if (!allowTextChangedEvent)
            {
                TextChanged -= HandlePatternTextBoxTextChanged;
            }

            if (query == null)
            {
                Clear();
            }
            else
            {
                Text        = (string.IsNullOrEmpty(query.Pattern) ? EmptyPattern : query.Pattern);
                SearchQuery = query.Clone();
            }

            if (!allowTextChangedEvent)
            {
                TextChanged += HandlePatternTextBoxTextChanged;
            }

            if (SearchQueryChanged != null)
            {
                SearchQueryChanged(this, EventArgs.Empty);
            }

            SetInsertionLinePosition();
        }
        /// ------------------------------------------------------------------------------------
        /// <summary>
        ///
        /// </summary>
        /// ------------------------------------------------------------------------------------
        protected bool OnRegExpressionShowSearchResults(object args)
        {
            SearchQuery query = args as SearchQuery;

            if (query == null || m_findPhoneWnd == null || m_findPhoneWnd.ResultViewManger == null)
            {
                return(true);
            }

            ISearchResultsViewHost srchRsltVwHost = ReflectionHelper.GetField(
                m_findPhoneWnd.ResultViewManger, "m_srchRsltVwHost") as ISearchResultsViewHost;

            if (srchRsltVwHost != null)
            {
                srchRsltVwHost.BeforeSearchPerformed(query, null);
            }

            //PaApp.InitializeProgressBar(ResourceHelper.GetString("kstidQuerySearchingMsg"));

            RegExpressionSearch regExpSrch  = new RegExpressionSearch(query);
            WordListCache       resultCache = regExpSrch.Search();

            if (resultCache != null)
            {
                resultCache.SearchQuery = query.Clone();
                ReflectionHelper.CallMethod(m_findPhoneWnd.ResultViewManger,
                                            "ShowResults", resultCache, SearchResultLocation.CurrentTabGroup);
            }

            //PaApp.UninitializeProgressBar();

            return(true);
        }
Beispiel #3
0
        public AlphaEngine Clone()
        {
            AlphaEngine alphaEngine = new AlphaEngine();

            alphaEngine._mapExtractor = _mapExtractor.Clone();
            alphaEngine._query        = _query.Clone();
            return(alphaEngine);
        }
        /// ------------------------------------------------------------------------------------
        public CIEOptions Clone()
        {
            var options = new CIEOptions();

            options.SearchQuery = SearchQuery.Clone();
            options.Type        = Type;
            options.CieType     = CieType;
            return(options);
        }
        /// ------------------------------------------------------------------------------------
        /// <summary>
        /// Finds the node whose query name and category are the same as the name and category
        /// of the specified query.
        /// </summary>
        /// ------------------------------------------------------------------------------------
        public void SavePattern(SearchQuery query)
        {
            var patternNode = GetPatternsNode(query);

            if (patternNode != null)
            {
                patternNode.Text = query.ToString();
                patternNode.Tag  = query.Clone();
                App.Project.SearchQueryGroups.UpdateQuery(patternNode.Tag as SearchQuery);
            }
        }
        /// ------------------------------------------------------------------------------------
        public FilterExpression Clone()
        {
            var clone = new FilterExpression();

            clone.FieldName             = FieldName;
            clone.Pattern               = Pattern;
            clone.Operator              = Operator;
            clone.ExpressionType        = ExpressionType;
            clone.m_fieldIsDate         = m_fieldIsDate;
            clone.m_fieldIsNumeric      = m_fieldIsNumeric;
            clone.m_fieldIsFilter       = m_fieldIsFilter;
            clone.m_fieldTypeDetermined = m_fieldTypeDetermined;
            clone.m_searchQuery         = (m_searchQuery == null ? null : m_searchQuery.Clone());
            return(clone);
        }
Beispiel #7
0
        /// ------------------------------------------------------------------------------------
        /// <summary>
        ///
        /// </summary>
        /// ------------------------------------------------------------------------------------
        public FilterExpression Clone()
        {
            FilterExpression clone = new FilterExpression();

            clone.m_fieldName           = m_fieldName;
            clone.m_pattern             = m_pattern;
            clone.m_operator            = m_operator;
            clone.m_expTypep            = m_expTypep;
            clone.m_fieldIsDate         = m_fieldIsDate;
            clone.m_fieldIsNumeric      = m_fieldIsNumeric;
            clone.m_fieldIsFilter       = m_fieldIsFilter;
            clone.m_fieldTypeDetermined = m_fieldTypeDetermined;
            clone.m_searchQuery         = (m_searchQuery == null ? null : m_searchQuery.Clone());
            return(clone);
        }
Beispiel #8
0
        /// <summary>
        /// Retrieve provisioned invoices at Moyasar
        /// </summary>
        /// <param name="query">Used to filter results</param>
        /// <returns>A list of invoices</returns>
        /// <exception cref="ApiException">Thrown when an exception occurs at server</exception>
        /// <exception cref="NetworkException">Thrown when server is unreachable</exception>
        public static PaginationResult <Invoice> List(SearchQuery query = null)
        {
            var responseJson = MoyasarService.SendRequest
                               (
                "GET",
                GetListUrl(),
                query?.ToDictionary()
                               );

            dynamic response = MoyasarService.Serializer.Deserialize <object>(responseJson);

            string metaJson = null;

            try
            {
                metaJson = MoyasarService.Serializer.Serialize((object)response.meta);
            }
            catch
            {
                // ignored
            }

            var invoiceObjects =
                MoyasarService.Serializer.Deserialize <List <object> >(
                    MoyasarService.Serializer.Serialize((object)response.invoices));
            var invoicesList = invoiceObjects
                               .Select(i => DeserializeInvoice(MoyasarService.Serializer.Serialize(i))).ToList();

            var pagination = new PaginationResult <Invoice>
            {
                Paginator = page =>
                {
                    var q = query?.Clone() ?? new SearchQuery();
                    q.Page = page;
                    return(List(q));
                },
                Items = invoicesList
            };

            if (metaJson != null)
            {
                MoyasarService.Serializer.PopulateObject(metaJson, pagination);
            }

            return(pagination);
        }
        /// ------------------------------------------------------------------------------------
        /// <summary>
        ///
        /// </summary>
        /// ------------------------------------------------------------------------------------
        private void FillCVInEnvironment(IPACharacterType charType, string environment, int colIndex)
        {
            m_chartHasBeenAutoFilled = true;

            // Save the original environment pattern.
            m_origEnvironments[colIndex] = environment;

            int    startIndex = colIndex;
            string fmt        = environment.Replace((charType == IPACharacterType.Consonant ?
                                                     kAutoFillConMarker : kAutoFillVowMarker), "{0}");

            // Get a phone list sorted by MOA
            List <string> phoneList = GetSortedPhones(charType == IPACharacterType.Consonant ?
                                                      IPACharacterType.Consonant : IPACharacterType.Vowel);

            SearchQuery query = m_xyGrid.Columns[colIndex].Tag as SearchQuery;

            foreach (string phone in phoneList)
            {
                if (colIndex == startIndex)
                {
                    query.Pattern = string.Format(fmt, phone);
                }
                else
                {
                    m_xyGrid.Columns.Insert(colIndex, SilGrid.CreateTextBoxColumn(string.Empty));
                    m_xyGrid[colIndex, 0].Value = string.Format(fmt, phone);
                    SearchQuery newQuery = query.Clone();
                    newQuery.Pattern = m_xyGrid[colIndex, 0].Value as string;
                    m_xyGrid.Columns[colIndex].Tag = newQuery;
                    m_addedColumns.Add(m_xyGrid.Columns[colIndex]);
                }

                m_xyGrid[colIndex++, 0].Value = string.Format(fmt, phone);
            }
        }
        /// ------------------------------------------------------------------------------------
        public void AddPattern(SearchQuery query, bool forceUniqueName)
        {
            if (query == null)
            {
                return;
            }

            if (Nodes.Count == 0)
            {
                var msg = LocalizationManager.GetString("Views.Search.SavedSearchPatterns.AddSearchCategoryBeforeSaveMsg",
                                                        "Before saving a search pattern, you must first add a category to the saved pattern list.");

                Utils.MsgBox(msg);
                return;
            }

            // Create a new query object.
            var newquery = query.Clone();

            // Make sure we're adding the new node to the correct parent.
            var categoryNode = (SelectedNode.Level == 0 ? SelectedNode : SelectedNode.Parent);

            newquery.Category = categoryNode.Text;

            if (forceUniqueName)
            {
                // Make sure the name of the query being added is unique within its group.
                int    i       = 0;
                string newName = newquery.ToString();

                while (PatternExists(newquery.Category, newName))
                {
                    newName = string.Format("{0} ({1})", newquery, ++i);
                }

                if (newquery.ToString() != newName)
                {
                    newquery.Name = newName;
                }
            }

            var group = App.Project.SearchQueryGroups[categoryNode.Index];

            // Make sure we have a list to add to.
            if (group.Queries == null)
            {
                group.Queries = new List <SearchQuery>();
            }

            newquery.Id = App.Project.SearchQueryGroups.NextAvailableId;
            group.Queries.Add(newquery);
            App.Project.SearchQueryGroups.Save();

            // Now create a new tree node for it.
            var node = new TreeNode();

            node.Text = newquery.ToString();
            node.Tag  = newquery;
            node.Name = newquery.Id.ToString();
            categoryNode.Nodes.Add(node);
            node.ImageIndex = node.SelectedImageIndex = 2;

            // Make sure the category the pattern was added to is expanded.
            if (!categoryNode.IsExpanded)
            {
                categoryNode.Expand();
            }

            // Make the current node the one just added.
            SelectedNode = node;
        }