/// Edit criteria for a query column /// </summary> /// <param name="qc"></param> /// <returns>True if criteria has been successfully edited</returns> public static bool EditCriteria( QueryColumn qc) { MetaColumn mc = qc.MetaColumn; Query Query = qc.QueryTable.Query; bool sameQ = Query == QueriesControl.Instance.CurrentQuery; // debug if (Lex.Contains(qc.MetaColumn.ColumnMap, ToolUtil.ToolParametersColumnMapValue)) { DialogResult dr = ToolHelper.InvokeToolCriteriaEditor(qc); return(dr == DialogResult.OK); } try { if (!mc.IsSearchable) { MessageBoxMx.ShowError("The " + qc.ActiveLabel + " data item is not currently searchable."); return(false); } if (mc.IsKey) // edit key criteria { qc.CopyCriteriaFromQueryKeyCriteria(); // be sure qc is in sync with Query.KeyCriteria if (!CriteriaCompoundId.Edit(qc)) { return(false); } qc.CopyCriteriaToQueryKeyCritera(); // update Query.KeyCriteria return(true); } switch (mc.DataType) { // Compound Number criteria case MetaColumnType.CompoundId: if (!CriteriaCompoundId.Edit(qc)) { return(false); } else { break; } // Structure criteria case MetaColumnType.Structure: if (!CriteriaStructure.Edit(qc)) { return(false); } break; // Mol. formula criteria case MetaColumnType.MolFormula: if (!CriteriaMolFormula.Edit(qc)) { return(false); } break; // General criteria case MetaColumnType.Integer: case MetaColumnType.Number: case MetaColumnType.QualifiedNo: case MetaColumnType.String: case MetaColumnType.Date: case MetaColumnType.DictionaryId: if (!CriteriaDialog.Edit(qc)) { return(false); } else { break; } default: MessageBoxMx.ShowError("The " + qc.ActiveLabel + " data item is not currently searchable."); return(false); } return(true); } catch (Exception ex) { string msg = "Unexpected error editing criteria: \r\n\r\n" + DebugLog.FormatExceptionMessage(ex); ServicesLog.Message(msg); MessageBoxMx.ShowError(msg); return(false); } }
/// <summary> /// Edit General Criteria proxy /// </summary> /// <param name="qc"></param> /// <returns></returns> public static bool GetGeneralCriteria( QueryColumn qc) { return(CriteriaDialog.Edit(qc)); }