Пример #1
0
 public GraphQlPiSystem GetPiSystem(ResolveFieldContext context, string name)
 {
     if (name == null)
     {
         string aDedicatedPiSystemName = ConfigurationManager.AppSettings["dedicatedPiSystem"];
         if (aDedicatedPiSystemName == "")
         {
             context.Errors.Add(new ExecutionError($"No PISystem specified."));
             return(null);
         }
         else
         {
             name = aDedicatedPiSystemName;
         }
     }
     if (attemptLogin(context, name))
     {
         var afDbsField = GraphQlHelpers.GetFieldFromContext(context, "afDbs");
         return(new GraphQlPiSystem(aPiSystem, afDbsField));
     }
     else
     {
         return(null);
     }
 }
Пример #2
0
 public GraphQlAfElement GetAfElementByPath(ResolveFieldContext context, string aAfElementPath)
 {
     aAfElementPath = cleanupPath(aAfElementPath);
     if (attemptLogin(context, getPiSystemName(aAfElementPath)))
     {
         var aAfElementSearch = AFElement.FindElementsByPath(new string[] { aAfElementPath }, null);
         if (aAfElementSearch.Count == 0)
         {
             context.Errors.Add(new ExecutionError($"AFElement path '{aAfElementPath}' not correct."));
             return(null);
         }
         else
         {
             var aAfElement        = aAfElementSearch.First() as AFElement;
             var afElementsField   = GraphQlHelpers.GetFieldFromContext(context, "afElements");
             var afAttributesField = GraphQlHelpers.GetFieldFromContext(context, "afAttributes");
             var graphQlAfElement  = new GraphQlAfElement(aAfElement, afElementsField, afAttributesField);
             return(graphQlAfElement);
         }
     }
     else
     {
         return(null);
     }
 }
Пример #3
0
        public List <GraphQlAfElementTemplate> GetAfElementTemplates(ResolveFieldContext context, string aAfDatabasePath, string[] nameFilter = null)
        {
            aAfDatabasePath = cleanupPath(aAfDatabasePath);
            if (attemptLogin(context, getPiSystemName(aAfDatabasePath)))
            {
                var aAfDb = AFDatabase.FindObject(aAfDatabasePath) as AFDatabase;
                if (aAfDb == null)
                {
                    context.Errors.Add(new ExecutionError($"AFDatabase not found."));
                    return(null);
                }

                var nameFilterStrings = nameFilter != null?nameFilter.ToList() : new List <string>();

                var afElementsField = GraphQlHelpers.GetFieldFromContext(context, "afElements");

                var returnObject = new ConcurrentBag <GraphQlAfElementTemplate>();

                var aAfElementTemplateList = aAfDb.ElementTemplates;
                Parallel.ForEach(aAfElementTemplateList, aAfElementTemplate =>
                {
                    if (nameFilterStrings.Count == 0 || nameFilterStrings.Contains(aAfElementTemplate.Name))
                    {
                        var graphQlAfElementTemplate = new GraphQlAfElementTemplate(aAfElementTemplate, afElementsField);
                        returnObject.Add(graphQlAfElementTemplate);
                    }
                });
                return(returnObject.OrderBy(x => x.name).ToList());
            }
            else
            {
                return(null);
            }
        }
Пример #4
0
        public GraphQlAfDatabase GetAfDatabase(ResolveFieldContext context, string aAfDatabasePath)
        {
            aAfDatabasePath = cleanupPath(aAfDatabasePath);
            if (attemptLogin(context, getPiSystemName(aAfDatabasePath)))
            {
                var aAfDb = AFDatabase.FindObject(aAfDatabasePath) as AFDatabase;

                var afElementsField = GraphQlHelpers.GetFieldFromContext(context, "afElements");

                var aGraphQlAfDatabase = new GraphQlAfDatabase(aAfDb, afElementsField);

                return(aGraphQlAfDatabase);
            }
            else
            {
                return(null);
            }
        }