コード例 #1
0
        private static string GetDecisionByNumber(string adrRepositoryPath, int targetDecisionNum)
        {
            var adrFiles = Directory.GetFiles(adrRepositoryPath, "*.md");
            var adrFile  = AdrNameHelper.FindByNumber(adrFiles, targetDecisionNum);

            return(adrFile);
        }
コード例 #2
0
        private static int CalcLastNumber(string adrRepositoryPath)
        {
            if (!Directory.Exists(adrRepositoryPath))
            {
                // Если директории с репой решений еще нет,
                // то предполагаем, что это новый репозиторий.
                // Соответственно, последнее решение имеет номер 0.
                return(0);
            }

            var adrFiles = Directory.GetFiles(adrRepositoryPath, "*.md");

            return(AdrNameHelper.GetMaxNumber(adrFiles));
        }
コード例 #3
0
        private static void ChangeStatusToRejected(string decisionFileName, int causeDecisionNum, string adrRepositoryPath)
        {
            var content = File.ReadAllText(decisionFileName);

            var fileContentLines = content.Split(new[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);

            var status = fileContentLines[2].Trim();

            var adrFiles          = Directory.GetFiles(adrRepositoryPath, "*.md");
            var causeDecisionFile = AdrNameHelper.FindByNumber(adrFiles, causeDecisionNum);

            var fileInfo = new FileInfo(causeDecisionFile);

            var causeDecisionFileTitle = fileInfo.Name;

            content = content.Replace(status, $"Отменено (причина: [{causeDecisionFileTitle}]({causeDecisionFileTitle}))");

            File.WriteAllText(decisionFileName, content);
        }