public void Init(InitOptions options) { var resources = _webResourceRepo.GetAll(options.Prefixes.ToArray()); _logger.Info($"Serializing..."); var config = resources.Select(wr => { var name = wr.GetAttributeValue <string>(WebResource.name); var path = name.NormalizePath(options.WebResourcesRoot, wr.GetOptionSetValueAsEnum <WebResourceType>(WebResource.webresourcetype)); return(new WebResourceConfig { Name = name, DisplayName = wr.GetAttributeValue <string>(WebResource.displayname) ?? name.GetDisplayName(), Description = wr.GetAttributeValue <string>(WebResource.description) ?? string.Empty, Path = path }); }); var serialized = JsonConvert.SerializeObject(config, Formatting.Indented); File.WriteAllText(options.ConfigFilePath, serialized); _logger.Info("Done processing Web Resources."); }