コード例 #1
0
 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);
 }
コード例 #2
0
        /*
         * 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);
                    }
                }
            }
        }