/// <summary> /// The format x path. /// </summary> /// <param name="resolver"> /// The resolver. /// </param> /// <param name="nodes"> /// The nodes. /// </param> /// <returns> /// The <see cref="string"/>. /// </returns> public static string FormatXPath(IXmlNamespaceResolver resolver, params string[] nodes) { if (nodes == null) { return(string.Empty); } StringBuilder builder = null; var leftString = RetrieveDefaultNamespacePrefix(resolver); foreach (var str2 in nodes) { if (TStringHelper.IsNullOrWhiteSpace(str2)) { builder = TStringHelper.CombineStrings(builder, "/"); } else if (str2.IndexOf(':') >= 0) { var delimiter = "/"; builder = TStringHelper.CombineStrings(builder, str2, delimiter); } else { var str4 = "/"; var str5 = ":"; builder = TStringHelper.CombineStrings(builder, TStringHelper.CombineStrings(leftString, str2, str5), str4); } } return(TStringHelper.StringToEmpty(builder)); }
/// <summary> /// The calculate and save hash. /// </summary> /// <param name="filePath"> /// The file path. /// </param> /// <param name="hash"> /// The hash. /// </param> /// <returns> /// The <see cref="bool"/>. /// </returns> public static bool CalculateAndSaveHash(string filePath, out string hash) { FileSystemPhysical.FileMakeWritable(filePath); using (var stream = File.Open(filePath, FileMode.Open, FileAccess.ReadWrite, FileShare.Read)) { var flag = DoCalculateAndSaveHash(stream, out hash); hash = TStringHelper.StringToEmpty(hash).ToUpper(); return(flag); } }
/// <summary> /// The calculate and check hash. /// </summary> /// <param name="filePath"> /// The file path. /// </param> /// <param name="savedHash"> /// The saved hash. /// </param> /// <param name="expectedHash"> /// The expected hash. /// </param> /// <returns> /// The <see cref="bool"/>. /// </returns> public static bool CalculateAndCheckHash(string filePath, out string savedHash, out string expectedHash) { using (var stream = File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.Read)) { var flag = DoCalculateAndCheckHash(stream, out savedHash, out expectedHash); savedHash = TStringHelper.StringToEmpty(savedHash).ToUpper(); expectedHash = TStringHelper.StringToEmpty(expectedHash).ToUpper(); return(flag); } }
/// <summary> /// The calculate and check hash. /// </summary> /// <param name="stream"> /// The stream. /// </param> /// <param name="savedHash"> /// The saved hash. /// </param> /// <param name="expectedHash"> /// The expected hash. /// </param> /// <param name="resetPosition"> /// The reset position. /// </param> /// <returns> /// The <see cref="bool"/>. /// </returns> public static bool CalculateAndCheckHash( Stream stream, out string savedHash, out string expectedHash, bool resetPosition = true) { expectedHash = savedHash = null; var flag = DoResetPosition(stream, resetPosition) && DoCalculateAndCheckHash(stream, out savedHash, out expectedHash); savedHash = TStringHelper.StringToEmpty(savedHash).ToUpper(); expectedHash = TStringHelper.StringToEmpty(expectedHash).ToUpper(); return(flag); }
/// <summary> /// The bytes to hex string. /// </summary> /// <param name="bytes"> /// The bytes. /// </param> /// <returns> /// The <see cref="string"/>. /// </returns> public static string BytesToHexString(byte[] bytes) { StringBuilder builder = null; if (bytes != null) { foreach (var num in bytes) { string delimiter = null; builder = TStringHelper.CombineStrings(builder, num.ToString("x2").ToUpper(), delimiter); } } return(TStringHelper.StringToEmpty(builder)); }
/// <summary> /// The do read config value. /// </summary> /// <param name="name"> /// The name. /// </param> /// <param name="value"> /// The value. /// </param> /// <param name="rawRead"> /// The raw read. /// </param> /// <typeparam name="T"> /// </typeparam> /// <returns> /// The <see cref="bool"/>. /// </returns> private static bool DoReadConfigValue <T>(string name, ref T value, bool rawRead) { Func <Match, int> func = null; try { var bTrimFirst = true; var input = TStringHelper.StringToNull(AppSettings[name], bTrimFirst); if (input != null) { if (!rawRead) { var matchCollection = regexEnvironmentVariable.Matches(input); if ((matchCollection != null) && (matchCollection.Count > 0)) { var builder = new StringBuilder(input); if (func == null) { func = row => row.Index; } foreach (var match in matchCollection.EnumerateMatches().OrderByDescending(func)) { var str2 = match.Groups[1].Value; var str3 = !string.IsNullOrEmpty(str2) ? TStringHelper.StringToEmpty(Environment.GetEnvironmentVariable(str2)) : string.Empty; builder.Remove(match.Index, match.Length); builder.Insert(match.Index, str3); } input = builder.ToString(); } } value = ConversionHelper.StringToValue <T>(input); return(true); } } catch { } return(false); }
/// <summary> /// The select file infos. /// </summary> /// <param name="folderPath"> /// The folder path. /// </param> /// <param name="searchMask"> /// The search mask. /// </param> /// <param name="searchMode"> /// The search mode. /// </param> /// <param name="sortMode"> /// The sort mode. /// </param> /// <returns> /// The <see cref="IEnumerable"/>. /// </returns> /// <exception cref="ArgumentException"> /// </exception> public static IEnumerable <FileInfo> SelectFileInfos( string folderPath, string searchMask = "", TreeCollectMode searchMode = 0, EntriesSortMode sortMode = 0) { IEnumerable <FileInfo> files; var bTrimFirst = true; folderPath = TStringHelper.StringToEmpty(folderPath, bTrimFirst); if (!FolderExists(folderPath)) { return(null); } var folderInfo = new DirectoryInfo(folderPath); switch (searchMode) { case TreeCollectMode.RootOnly: files = folderInfo.GetFiles(CorrectFileSearchMask(searchMask)); break; case TreeCollectMode.LeavesOnly: { var list = new List <FileInfo>(); DoCollectFinalFiles(list, folderInfo, CorrectFileSearchMask(searchMask)); files = list; break; } case TreeCollectMode.Everywhere: files = folderInfo.GetFiles(CorrectFileSearchMask(searchMask), SearchOption.AllDirectories); break; default: throw new ArgumentException(string.Format("режим поиска файлов не поддерживается: {0}", searchMode)); } switch (sortMode) { case EntriesSortMode.Unsorted: return(files); case EntriesSortMode.NameAscending: return(from f in files orderby f.FullName select f); case EntriesSortMode.NameDescending: return(from f in files orderby f.FullName descending select f); case EntriesSortMode.CreationPointAscending: return(from f in files orderby f.CreationTimeUtc select f); case EntriesSortMode.CreationPointDescending: return(from f in files orderby f.CreationTimeUtc descending select f); case EntriesSortMode.ModificationPointAscending: return(from f in files orderby f.LastWriteTimeUtc select f); case EntriesSortMode.ModificationPointDescending: return(from f in files orderby f.LastWriteTimeUtc descending select f); } throw new ArgumentException(string.Format("режим сортировки при поиске файлов не поддерживается: {0}", sortMode)); }
/// <summary> /// The retrieve data event type. /// </summary> /// <param name="transactionCode"> /// The transaction code. /// </param> /// <param name="transcauseCode"> /// The transcause code. /// </param> /// <returns> /// The <see cref="DataEventType"/>. /// </returns> public static DataEventType RetrieveDataEventType(string transactionCode, string transcauseCode) { switch (TStringHelper.StringToEmpty(transactionCode)) { case "ZA1": string str2; if (((str2 = TStringHelper.StringToEmpty(transcauseCode)) == null) || !(str2 == "301")) { break; } return(DataEventType.IssueOrReissuancePolicyAnnounce); case "ZA7": return(DataEventType.NotificationOfReceiveAnnounce); case "A04": string str3; if (((str3 = TStringHelper.StringToEmpty(transcauseCode)) == null) || !(str3 == "П01")) { break; } return(DataEventType.IssuePolicy); case "A08": switch (TStringHelper.StringToEmpty(transcauseCode)) { case "П01": return(DataEventType.IssuePolicy); case "П02": return(DataEventType.DeregisterPolicy); case "П03": return(DataEventType.RegisterPolicy); case "П04": return(DataEventType.ChangePolicyPartial); case "П05": return(DataEventType.ChangePolicyEmployment); case "П06": return(DataEventType.ChangePolicyComplete); } break; case "A03": string str5; if (((str5 = TStringHelper.StringToEmpty(transcauseCode)) == null) || !(str5 == "П07")) { break; } return(DataEventType.DecommitPolicyENP); case "A13": string str6; if (((str6 = TStringHelper.StringToEmpty(transcauseCode)) == null) || !(str6 == "П09")) { break; } return(DataEventType.RecommitPolicyENP); case "A24": string str7; if (((str7 = TStringHelper.StringToEmpty(transcauseCode)) == null) || !(str7 == "П10")) { break; } return(DataEventType.ResolvePolicyDublicates); case "A37": string str8; if (((str8 = TStringHelper.StringToEmpty(transcauseCode)) == null) || !(str8 == "П11")) { break; } return(DataEventType.ResolvePolicyCollisions); case "ZP1": return(DataEventType.QueryPersonInsurance); case "ZP2": return(DataEventType.QueryPersonsRegistrating); case "ZP3": return(DataEventType.QueryPersonsDeregistrating); case "ZP4": return(DataEventType.QueryPersonsDeadAbroad); case "ZP5": return(DataEventType.QueryDublicates); } return(DataEventType.Undefined); }