public static void ExtractClientLayerModelInfo(string configurationFile, string[] layerCodes, string modelManifest, out string modelName, out string publisher, out string layer, out string layerCode) { CodeCrib.AX.Manage.ModelStore.ExtractModelInfo(modelManifest, out publisher, out modelName, out layer); string layerInternal = layer; CodeCrib.AX.Config.Server serverConfig = Helper.GetServerConfig(configurationFile); CodeCrib.AX.Manage.ModelStore modelStore = null; if (serverConfig.AOSVersionOrigin.Substring(0, 3) == "6.0") { modelStore = new ModelStore(serverConfig.DatabaseServer, string.Format("{0}", serverConfig.Database)); } else { modelStore = new ModelStore(serverConfig.DatabaseServer, string.Format("{0}_model", serverConfig.Database)); } if (!modelStore.ModelExist(modelName, publisher, layer)) { throw new Exception(string.Format("Model {0} ({1}) does not exist in layer {2}", modelName, publisher, layer)); } // Supports: // var:CODE // var : CODE // varCODE // var CODE layerCode = (from c in layerCodes where c.Substring(0, 3).ToLower() == layerInternal.ToLower() select c.Substring(3).Trim()).FirstOrDefault(); if (!string.IsNullOrEmpty(layerCode) && layerCode[0] == ':') { layerCode = layerCode.Substring(1).Trim(); } // An empty layer code is only allowed when either not specifying a layer, or when explicitly specifying the USR or USP layer. if (string.IsNullOrEmpty(layerCode) && !string.IsNullOrEmpty(layer) && String.Compare(layer, "USR", true) != 0 && String.Compare(layer, "USP", true) != 0) { throw new Exception(string.Format("Layer '{0}' requires an access code which couldn't be found in the Layer Codes argument", layer)); } }
private void AOSes_Selected(object sender, RoutedEventArgs e) { string aosName = (string)AOSes.SelectedItem; CodeCrib.AX.Config.Server config = CodeCrib.AX.Config.Server.GetConfigFromRegistry(aosName); }