Exemplo n.º 1
0
        /// <summary>
        /// Gets the block asynchronous.
        /// </summary>
        /// <param name="blockReadModel">The block read model.</param>
        /// <param name="blockName">Name of the block.</param>
        /// <returns></returns>
        private static async Task <BlockJsonModel> GetBlockAsync(BlockReadModel blockReadModel, string blockName)
        {
            var jsonModel = new BlockJsonModel()
            {
                Type = blockName
            };

            if (blockReadModel?.Arguments != null && blockReadModel.Arguments.Any())
            {
                var args = blockReadModel.Arguments.Select((data, index) => new NetworkArgumentReadModel
                {
                    Id          = index,
                    Name        = data.Name,
                    Label       = data.Label,
                    Description = data.Description,
                    DataType    = data.Type,
                    Min         = data.Min,
                    Max         = data.Max,
                    Value       = string.IsNullOrWhiteSpace(data.Value) ? string.Empty : data.Value
                }).ToList();

                jsonModel.Args.AddRange(args);
            }

            return(await Task.FromResult(jsonModel));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Gets the modules for blocks async.
        /// </summary>
        /// <returns>list of modules</returns>
        private static async Task <IEnumerable <string> > GetModulesAsync(BlockReadModel blockReadModel)
        {
            var        modules   = new HashSet <string>();
            const char delimiter = '.';

            if (blockReadModel?.Lines != null && blockReadModel.Lines.Any())
            {
                var data = blockReadModel.Lines.SelectMany(x => x).Where(x => !string.IsNullOrWhiteSpace(x));

                foreach (var item in data.Select(item => item.GetFirstFromSplit(delimiter)))
                {
                    if (item.Any(char.IsWhiteSpace))
                    {
                        if (!item.Split(' ').Last().Contains('$'))
                        {
                            modules.Add(item.Split(' ').Last());
                        }
                    }

                    else
                    {
                        if (!item.Contains('$'))
                        {
                            modules.Add(item);
                        }
                    }
                }
            }

            return(await Task.FromResult(modules));
        }