private void ApplyStandartTemplatesToLine(Election election, StringBuilder text) { text.Replace(MACRO_ELECTION_NAME, election.Name); if (PlatformDetector.IsUnix) { text.Replace(MACRO_VOTING_DATE, ReportTemplateParser.DataConvert( _electionManager.SourceData.ElectionDate.ToString(ELECTION_DATE_FORMAT, new System.Globalization.CultureInfo("ru-RU")))); text.Replace(MACRO_CURRENT_DATE, ReportTemplateParser.DataConvert( DateTime.Now.ToString(CURRENT_DATETIME_FORMAT, new System.Globalization.CultureInfo("ru-RU")))); } else { text.Replace(MACRO_VOTING_DATE, _electionManager.SourceData.ElectionDate.ToString(ELECTION_DATE_FORMAT)); text.Replace(MACRO_CURRENT_DATE, DateTime.Now.ToString(CURRENT_DATETIME_FORMAT)); } text.Replace(MACRO_UIK, _electionManager.SourceData.Uik.ToString()); var exp = new UikMemberNamesRegex(); foreach (Match match in exp.Matches(text.ToString())) { var altValue = match.Value.Split(':')[1].Trim('}'); string name = null; if (match.Value.Contains(CommitteeMemberType.ChairmanAssistant.ToString())) { name = _electionManager.SourceData.GetCommitteeMemberInitialByType(CommitteeMemberType.ChairmanAssistant); } else if (match.Value.Contains(CommitteeMemberType.Chairman.ToString())) { name = _electionManager.SourceData.GetCommitteeMemberInitialByType(CommitteeMemberType.Chairman); } else if (match.Value.Contains(CommitteeMemberType.Secretary.ToString())) { name = _electionManager.SourceData.GetCommitteeMemberInitialByType(CommitteeMemberType.Secretary); } text.Replace(match.Value, string.IsNullOrEmpty(name) ? altValue : name); } }