public ACCPAC.Advantage.View TryGetView(string viewId) { ACCPAC.Advantage.View result = null; try { if (DBLink != null) { result = DBLink.OpenView(viewId); } } catch { // TODO do some loggin here } return(result); }
/* * private static string CreateFinderDefContent(JObject existingFinderProperties, JObject newFinderDef, string module) * { * string result = null; * string template = * @"""use strict""; * (function(n) {{ * // Note this code will be read by Jint c# interpreter, current does not support ECMA 6 * var result = {{}}; * var oldFinders = n.viewFinderProperties[""{0}""]; * var newFinders = {1}; * * for (var key in oldFinders) {{ * if(oldFinders.hasOwnProperty(key)){{ * result[key] = oldFinders[key]; * }} * }} * * for (var key in newFinders) {{ * if(newFinders.hasOwnProperty(key)){{ * result[key] = newFinders[key]; * }} * }} * * n.viewFinderProperties[""{0}""] = result; * }})(this.sg = this.sg || {{ }}, this.sg.viewFinderProperties = this.sg.viewFinderProperties || {{ }}, jQuery); "; * * if (newFinderDef != null) * { * var existingFinderDef = existingFinderProperties?["viewFinderProperties"]?[module] as JObject ?? new JObject(); * existingFinderDef.Merge(newFinderDef, new JsonMergeSettings { MergeArrayHandling = MergeArrayHandling.Replace }); * result = string.Format(template, module, existingFinderDef.ToString()); * } * * return result; * } */ #endregion /// <summary> /// Populate data for combox, return and display fields lists /// </summary> /// <param name="view"></param> private void PopulateControlsWithViewData(ACCPAC.Advantage.View view, IDictionary <string, object> finderInfoLookup) { if (view != null) { cboKeys.Items.Clear(); chklstDisplayFields.Items.Clear(); chklstReturnFields.Items.Clear(); for (var i = 0; i < view.Keys.Count; i++) { var viewKey = view.Keys.IViewKeyByIndex(i); cboKeys.Items.Insert(viewKey.ID, viewKey.Name); } for (var i = 0; i < view.Fields.Count; i++) { var field = view.Fields.IFieldByIndex(i); chklstDisplayFields.Items.Add(field.Name); chklstReturnFields.Items.Add(field.Name); } if (finderInfoLookup != null) { // set check states for box ListBoxes var returnFields = finderInfoLookup[FinderDataSet.ReturnFieldNames_FieldName] as string[]; for (int i = 0; i < returnFields.Length; i++) { chklstReturnFields.Items.Remove(returnFields[i]); chklstReturnFields.Items.Insert(i, returnFields[i]); chklstReturnFields.SetItemChecked(i, true); } var displayFields = finderInfoLookup[FinderDataSet.DisplayFieldNames_FieldName] as string[]; for (int i = 0; i < displayFields.Length; i++) { chklstDisplayFields.Items.Remove(displayFields[i]); chklstDisplayFields.Items.Insert(i, displayFields[i]); chklstDisplayFields.SetItemChecked(i, true); } } } }