Esempio n. 1
0
        private bool ParseText <T>(string Data, string Hash, out EDCResultData <T> Result)
        {
            try
            {
                var text     = TrimData(Data);
                var hashText = ChecksumHelper.Hash(text);
                if (hashText != Hash)
                {
                    Result = null;
                    return(false);
                }

                Result = JsonConvert.DeserializeObject <EDCResultData <T> >(text);
                return(true);
            }
            catch
            {
                Result = null;
                return(false);
            }
        }
Esempio n. 2
0
        private void ParseResult <T>(string data)
        {
            try
            {
                var text = data.ToString();
                //trim
                //00000000^hash~@^json~@^json~@^hash~00000000
                var ListData = text.Split('@');

                //hash
                string Hash = TrimData(ListData.First());
                if (Hash.Length != 4)
                {
                    Hash = TrimData(ListData.Last());
                }

                EDCResultData <T> result = null;;

                foreach (var dataItem in ListData)
                {
                    if (TrimData(dataItem).Length > 4)
                    {
                        var CanParse = ParseText <T>(dataItem, Hash, out result);
                        if (CanParse)
                        {
                            break;
                        }
                    }
                }

                _Result = result;
            }
            catch (Exception ex)
            {
            }
        }