private SearchQuery CreateSearchQueryFormSaved(string savedSearchId) { SearchCard searchCard = (SearchCard)Session.CardManager.GetDictionary(new Guid(SEARCH_CARD_TYPE)); SavedSearchQuery savedQuery = searchCard.GetQuery(new Guid(savedSearchId)); return(savedQuery.Export()); }
public async Task DeleteFromLocal(SavedSearchQuery searchQuery) { SearchQueries.Remove(searchQuery); var savedJson = JsonConvert.SerializeObject(SearchQueries); await _jsRuntime.InvokeAsync <object>( "stateManager.save", "_searchQueriesList", savedJson); await LoadSavedSearches(); }
/// <summary> /// Инициализирует папку заданными значениями. /// </summary> /// <param name="Device">Прибор.</param> /// <param name="CodeID">ID кода СКБ.</param> /// <param name="CodeName">Отобразаемое значение кода СКБ.</param> /// <param name="DocumentID">ID документа.</param> /// <param name="DocumentName">Название документа.</param> /// <param name="FolderID">ID папки.</param> public DocumentsFolder(Folder ParentFolder, CardData Document, SavedSearchGroup SearchGroup, SavedView View, FolderCard FolderCard) { this.ParentFolder = ParentFolder; this.Document = Document; DocumentID = Document.Id; SectionData Properties = Document.Sections[CardOrd.Properties.ID]; DocumentType = Properties.FindRow("@Name = '" + RefPropertiesCD.Requisities.FileType + "'").GetString("Value"); RowData Code = Properties.FindRow("@Name = '" + RefPropertiesCD.Requisities.Code + "'"); CodeID = Code.GetGuid("Value").Value; CodeName = Code.GetString("DisplayValue"); RowData Applicable = Properties.FindRow("@Name = '" + RefPropertiesCD.Requisities.Applicable + "'"); Applicability = Applicable.GetString("DisplayValue"); RowData Name = Properties.FindRow("@Name = '" + RefPropertiesCD.Requisities.DocumentName + "'"); string ShortType = DocumentType == "СД - Спецификация (не платы)" || DocumentType == "СП - Спецификация платы" ? "" : DocumentType.Remove(DocumentType.IndexOf(" - ")); DocumentName = CodeName + " " + ShortType + " " + Name.GetString("Value"); Folder = FolderCard.CreateFolder(ParentFolder.Id, DocumentName); Folder.Type = FolderTypes.Virtual; if (!SearchGroup.Queries.Any(row => row.Name == DocumentName)) { SearchQuery Query = FolderCard.Session.CreateSearchQuery(); CardTypeQuery CardType = Query.AttributiveSearch.CardTypeQueries.AddNew(CardOrd.ID); SectionQuery Section = CardType.SectionQueries.AddNew(CardOrd.MainInfo.ID); Section.Operation = SectionQueryOperation.And; Section.ConditionGroup.Operation = ConditionGroupOperation.And; Section.ConditionGroup.Conditions.AddNew(CardOrd.MainInfo.Type, FieldType.RefId, ConditionOperation.Equals, MyHelper.RefType_CD); Section = CardType.SectionQueries.AddNew(CardOrd.Properties.ID); Section.Operation = SectionQueryOperation.And; Section.ConditionGroup.Operation = ConditionGroupOperation.And; Section.ConditionGroup.Conditions.AddNew(CardOrd.Properties.Value, FieldType.Unistring, ConditionOperation.Equals, DocumentType); Section.ConditionGroup.Conditions.AddNew(CardOrd.Properties.Name, FieldType.Unistring, ConditionOperation.Equals, RefPropertiesCD.Requisities.FileType); Section = CardType.SectionQueries.AddNew(CardOrd.Properties.ID); Section.Operation = SectionQueryOperation.And; Section.ConditionGroup.Operation = ConditionGroupOperation.And; Section.ConditionGroup.Conditions.AddNew(CardOrd.Properties.Value, FieldType.RefId, ConditionOperation.Equals, CodeID); Section.ConditionGroup.Conditions.AddNew(CardOrd.Properties.Name, FieldType.Unistring, ConditionOperation.Equals, RefPropertiesCD.Requisities.Code); Query.Limit = 0; SearchGroup.Queries.AddNew(DocumentName).Import(Query); } SavedSearchQuery SavedQuery = SearchGroup.Queries.First(row => row.Name == DocumentName); Folder.RefId = SavedQuery.Id; Folder.CurrentViewId = View.Id; Folder.DefaultViewId = View.Id; }
public async Task SaveToLocalStorage(string searchQueryName) { if (string.IsNullOrEmpty(searchQueryName)) { return; } var searchListJson = await _jsRuntime.InvokeAsync <string>("stateManager.load", "_searchQueriesList") ?? ""; var listStorage = JsonConvert.DeserializeObject <List <SavedSearchQuery> >(searchListJson) ?? new List <SavedSearchQuery>(); var savedSearchQuery = new SavedSearchQuery { Name = searchQueryName, Articles = _articleState.Articles, SearchQuery = SearchQuery }; listStorage.Add(savedSearchQuery); var savedJson = JsonConvert.SerializeObject(listStorage); await _jsRuntime.InvokeAsync <object>( "stateManager.save", "_searchQueriesList", savedJson); ShowAlert = true; }