コード例 #1
0
        public IBinaryDataList DeSerialize(string data, string targetShape, enTranslationTypes typeOf, out string error)
        {
            error = string.Empty;
            IBinaryDataList result = Dev2BinaryDataListFactory.CreateDataList();

            IDataListCompiler compiler = DataListFactory.CreateDataListCompiler();

            if (typeOf == enTranslationTypes.XML)
            {
                ErrorResultTO errors;


                Guid resultId = compiler.ConvertTo(DataListFormat.CreateFormat(GlobalConstants._Studio_Debug_XML),
                                                   data.ToStringBuilder(),
                                                   new StringBuilder(targetShape), out errors);
                if (errors.HasErrors())
                {
                    error = errors.FetchErrors()[0]; // take the first error ;)
                }
                else
                {
                    if (result != null)
                    {
                        compiler.ForceDeleteDataListByID(result.UID);
                    }
                    result = compiler.FetchBinaryDataList(resultId, out errors);
                    if (errors.HasErrors())
                    {
                        error = errors.FetchErrors()[0]; // take the first error ;)
                    }
                }
            }

            return(result);
        }
コード例 #2
0
        public string Serialize(IBinaryDataList datalist, enTranslationTypes typeOf, out string error)
        {
            string result = string.Empty;

            error = string.Empty;

            var compiler = DataListFactory.CreateDataListCompiler();

            if (typeOf == enTranslationTypes.XML)
            {
                BinaryFormatter bf = new BinaryFormatter();
                using (MemoryStream ms = new MemoryStream())
                {
                    bf.Serialize(ms, datalist);

                    ErrorResultTO errors;
                    Guid          pushID = compiler.ConvertTo(BinaryFormat, ms.ToArray(), new StringBuilder(), out errors);

                    if (errors.HasErrors())
                    {
                        error = errors.FetchErrors()[0];
                    }
                    else
                    {
                        // now extract into XML
                        result = compiler.ConvertFrom(pushID, DataListFormat.CreateFormat(GlobalConstants._Studio_XML), enTranslationDepth.Data, out errors).ToString();
                        if (errors.HasErrors())
                        {
                            error = errors.FetchErrors()[0];
                        }
                    }
                    ms.Close();
                }
            }

            return(result);
        }
コード例 #3
0
        public IBinaryDataList DeSerialize(string data, string targetShape, enTranslationTypes typeOf, out string error)
        {
            error = string.Empty;
            IBinaryDataList result = Dev2BinaryDataListFactory.CreateDataList();

            IDataListCompiler compiler = DataListFactory.CreateDataListCompiler();

            if (typeOf == enTranslationTypes.XML)
            {
                ErrorResultTO errors;


                Guid resultId = compiler.ConvertTo(DataListFormat.CreateFormat(GlobalConstants._Studio_Debug_XML),
                    data.ToStringBuilder(),
                    new StringBuilder(targetShape), out errors);
                if (errors.HasErrors())
                {
                    error = errors.FetchErrors()[0]; // take the first error ;)
                }
                else
                {
                    if (result != null) compiler.ForceDeleteDataListByID(result.UID);
                    result = compiler.FetchBinaryDataList(resultId, out errors);
                    if (errors.HasErrors())
                    {
                        error = errors.FetchErrors()[0]; // take the first error ;)
                    }
                }
            }

            return result;
        }