private void ParseYamlFile(IBaseOptions options) { if (File.Exists(options.FileName)) { var input = new StreamReader(options.FileName); // Load the stream var yaml = new YamlStream(); yaml.Load(input); // Examine the stream var mapping = (YamlMappingNode)yaml.Documents[0].RootNode; _deployName = mapping.Children["name"].ToString(); _nameSpace = mapping.Children["namespace"].ToString(); _registry = mapping.Children["registry"].ToString(); // Gather all the service info and save it var items = (YamlSequenceNode)mapping.Children[new YamlScalarNode("services")]; foreach (YamlMappingNode item in items) { var binding = (YamlSequenceNode)item.Children[new YamlScalarNode("bindings")]; var port = binding.Children[0][new YamlScalarNode("port")].ToString(); var name = item.Children[new YamlScalarNode("name")].ToString().ToLower(); var project = item.Children[new YamlScalarNode("project")].ToString(); var replicas = 1; if (item.Children.ContainsKey("replicas")) { replicas = int.Parse(item.Children[new YamlScalarNode("replicas")].ToString()); } if (options.Projects.Contains(name) || options.Projects.Count() == 0) { _services.Add(new ServiceInfo() { Name = name, Project = project, Port = int.Parse(port), Replicas = replicas }); } } } else { ConsoleErrorMessage($"File {options.FileName} does not exist"); } }
public override IGridHtmlOptions <T> WithDetails(IBaseOptions control) { //DetailsSourceFunction = control.DetailsSourceFunction; return(base.WithDetails(control)); }
public virtual IGridHtmlOptions <T> WithDetails(IBaseOptions control) { DetailsControl = control as IDetailsControl <T>; return(this); }