예제 #1
0
        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);
        }
예제 #2
0
        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);
        }