private List <HistoryInfos> WriteCategoriesJsonFileHistory(SpRulesDataSet data) { _log.LogInformation($"Writing History Json File"); List <HistoryInfos> infos = new List <HistoryInfos>(); foreach (var cat in data.Categories) { if (cat.Versions.Count == 0) { continue; } var catPath = new CategoryPaths(_config, cat); var creationData = cat.Versions .OrderBy(v => v.ModifiedUtc).FirstOrDefault(); var lastModifiedData = cat.Versions .OrderByDescending(v => v.ModifiedUtc).FirstOrDefault(); var info = new HistoryInfos { file = catPath.CategoryFileRelative.Replace("\\", "/"), created = creationData.ModifiedUtc, createdBy = creationData.ModifiedByDisplayName, createdByEmail = creationData.ModifiedByEmail, lastUpdated = lastModifiedData.ModifiedUtc, lastUpdatedBy = lastModifiedData.ModifiedByName, lastUpdatedByEmail = lastModifiedData.ModifiedByDisplayName }; infos.Add(info); } return(infos); }
private List <HistoryInfos> WriteRulesJsonFileHistory(SpRulesDataSet data) { _log.LogInformation($"Writing History Json File"); List <HistoryInfos> infos = new List <HistoryInfos>(); foreach (var rule in data.Rules) { var rulePaths = new RulePaths(_config, rule); var creationData = rule.Versions .Where(v => !string.IsNullOrWhiteSpace(v.IntroText) || !string.IsNullOrWhiteSpace(v.Content)) // filter out where we have no content .OrderBy(v => v.ModifiedUtc).FirstOrDefault(); var lastModifiedData = rule.Versions .Where(v => !string.IsNullOrWhiteSpace(v.IntroText) || !string.IsNullOrWhiteSpace(v.Content)) // filter out where we have no content .OrderByDescending(v => v.ModifiedUtc).FirstOrDefault(); var info = new HistoryInfos { file = rulePaths.RuleFileRelative.Replace("\\", "/"), created = creationData.ModifiedUtc, createdBy = creationData.ModifiedByDisplayName, createdByEmail = creationData.ModifiedByEmail, lastUpdated = lastModifiedData.ModifiedUtc, lastUpdatedBy = lastModifiedData.ModifiedByDisplayName, lastUpdatedByEmail = lastModifiedData.ModifiedByEmail }; infos.Add(info); } return(infos); }