Пример #1
0
        /// <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));
        }
Пример #2
0
 /// <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);
     }
 }
Пример #3
0
 /// <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);
     }
 }
Пример #4
0
        /// <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);
        }
Пример #5
0
        /// <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));
        }
Пример #6
0
        /// <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);
        }
Пример #7
0
        /// <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));
        }
Пример #8
0
        /// <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);
        }