public static byte[] SerializeXmlWithoutNamespaces(object instance, bool compress = false)
        {
            if (instance == null)
            {
                return(null);
            }

            using (var ms = new MemoryStream())
            {
                var xsn = new XmlSerializerNamespaces();
                xsn.Add(string.Empty, string.Empty);

                var settings = new XmlWriterSettings {
                    OmitXmlDeclaration = true, Encoding = new UTF8Encoding(false)
                };
                //settings.Indent = true;
                //settings.IndentChars = "\t";
                //settings.NewLineChars = Environment.NewLine;
                //settings.ConformanceLevel = ConformanceLevel.Document;


                var xmls = new XmlSerializer(instance.GetType());
                using (var writer = XmlWriter.Create(ms, settings))
                {
                    xmls.Serialize(writer, instance, xsn, null, null);
                }
                return(compress ? GZipHelper.Compress(ms.ToArray()) : ms.ToArray());
            }
        }
Exemple #2
0
        public override void SendAsync(byte[] data, int offset, int lenght)
        {
            if (this.Socket == null)
            {
                return;
            }

            byte[] buffer = this._isCompress
                ? this.BuilderPack(GZipHelper.Compress(data, offset, lenght))
                : this.BuilderPack(data, offset, lenght);

            var awaiter = HandlerSaeaPool.Take();

            awaiter.Saea.SetBuffer(buffer, 0, buffer.Length);

            Interlocked.Increment(ref _intervalIsUseChannel);
            SaeaExHelper.SendAsync(this.Socket, awaiter, (a, e) =>
            {
                Interlocked.Decrement(ref _intervalIsUseChannel);

                this.HandlerSaeaPool.Return(awaiter);
                this.SendTransferredBytes = a.Saea.Buffer.Length;
                this.NotifyEventHandler?.Invoke(TcpSocketCompletionNotify.OnSend, this);
            });
        }
Exemple #3
0
        public override void ExecuteResult(HttpContext context)
        {
            LibViewModel viewModel = LibViewModel.CreateSuccessJSONResponseViewModel();

            viewModel.ResultData = this._data;

            ExceptionHelper.TrueThrow <ArgumentNullException>(context == null, "context is null!");
            HttpResponse response = context.Response;

            response.ContentType     = _contentType;
            response.ContentEncoding = _contentEncoding;

            //var json = JsonHelper.Serialize(viewModel);
            var json = Newtonsoft.Json.JsonConvert.SerializeObject(viewModel);

            if (context.Request.Headers["UseGZip"] == ((int)UseGZip.ReturnData).ToString() || context.Request.Headers["UseGZip"] == ((int)UseGZip.Both).ToString())
            {
                DateTime start  = DateTime.Now;
                var      base64 = GZipHelper.Compress(json);
                DateTime end    = DateTime.Now;
                TimeSpan span   = end - start;
                response.Headers.Add("GZip-Time", span.TotalMilliseconds.ToString());
                response.Write(base64);
            }
            else
            {
                response.Write(json);
            }

            HttpContext.Current.ApplicationInstance.CompleteRequest();
            // response.End();
        }
    /// <summary>
    /// Saves user data to Unity's PlayerPrefs
    /// </summary>
    public void Save(bool isExitSave = false)
    {
        StandaloneSavedData sData = new StandaloneSavedData();

        sData.SettingsVersion    = SettingsVersion;
        sData.Users              = Users;
        sData.CurrentUser        = User.Name;
        sData.AvatarId           = User.AvatarId;
        sData.CurrentLevelNumber = User.CurrentLevelNumber;
        sData.LevelsCompleted    = User.LevelsCompleted;

        // options
        sData.MusicVolume            = User.MusicVolume;
        sData.SoundVolume            = User.SoundVolume;
        sData.LastTrack              = User.LastTrack;
        sData.DontShowExitGameWindow = User.DontShowExitGameWindow;
        sData.Alarms = User.Alarms;

        string json = GZipHelper.Compress(JsonUtility.ToJson(sData));

        PlayerPrefs.SetString(Consts.APP_SHORTNAME, json);
        Debug.Log("SETTINGS: Saving to local device.");
        PlayerPrefs.SetInt("SettingsVersion", SettingsVersion);
        PlayerPrefs.Save();
    }
        protected Archivo ProcesarArchivo(GuardarArchivoRequestBody requestBody)
        {
            string contenido = string.Empty;
            string url       = string.Empty;

            if (requestBody.Archivo != null)
            {
                if (requestBody.Archivo.Length > 0)
                {
                    using (var ms = new MemoryStream())
                    {
                        requestBody.Archivo.CopyTo(ms);
                        contenido = Convert.ToBase64String(GZipHelper.Compress(ms.ToArray()));
                    }
                }
            }
            else if (requestBody.Url != null)
            {
                url = requestBody.Url;
            }


            return(new Archivo
            {
                Contenido = contenido,
                Url = url,
                Nombre = requestBody.Nombre,
                Extension = requestBody.Extension
            });
        }
Exemple #6
0
        public unsafe void WriteServiceData(byte[] data)
        {
            //第一位表示gzip,第二位表示keepclient
            int flag = 0;

            if (data.Length > CompressionMinSize)
            {
                data = GZipHelper.Compress(data);
                flag = 1;
            }

            if (KeepAlive)
            {
                flag |= 2;
            }

            byte[] tosend = new byte[data.Length + 4];
            flag |= (data.Length << 2);

            fixed(byte *ptrData = data)
            {
                Marshal.Copy(new IntPtr(ptrData), tosend, 4, data.Length);
            }

            byte *ptr = (byte *)&flag;

            Marshal.Copy(new IntPtr(ptr), tosend, 0, 4);

            this.Write(tosend);
        }
 public void SetDeriveExcel(string JsonColumn, string JsonData, string JsonFooter, string FileName)
 {
     CookieHelper.WriteCookie("JsonColumn_DeriveExcel", GZipHelper.Compress(JsonColumn));
     CookieHelper.WriteCookie("JsonData_DeriveExcel", GZipHelper.Compress(JsonData));
     CookieHelper.WriteCookie("JsonFooter_DeriveExcel", GZipHelper.Compress(JsonFooter));
     CookieHelper.WriteCookie("FileName_DeriveExcel", GZipHelper.Compress(FileName));
 }
Exemple #8
0
        public override void SendAsync(byte[] data, int offset, int length)
        {
            if (this._disposable == 1)
            {
                return;
            }

            byte[] bytes = GZipHelper.Compress(data, offset, length);
            if ((SessionWorkType)_session.AppTokens[0] == SessionWorkType.ManagerSession)
            {
                byte[] body = new byte[sizeof(Int64) + sizeof(Int32) + bytes.Length];
                BitConverter.GetBytes(this.RemoteId).CopyTo(body, 0);
                BitConverter.GetBytes(bytes.Length).CopyTo(body, 8);
                bytes.CopyTo(body, 12);

                MessageHelper.SendMessage(_session, MessageHead.Msg_MessageData, body);
            }
            else
            {
                byte[] body = new byte[bytes.Length + sizeof(Int32)];
                BitConverter.GetBytes(bytes.Length).CopyTo(body, 0);
                bytes.CopyTo(body, 4);

                _session.SendAsync(body, 0, body.Length);
            }
        }
        public static byte[] SerializeXml(object instance, bool compress = false)
        {
            if (instance == null)
            {
                return(null);
            }

            using (var ms = new MemoryStream())
            {
                var xmls = new XmlSerializer(instance.GetType());
                //var xsn = new XmlSerializerNamespaces();
                //xsn.Add(string.Empty, null);
                //xmls.Serialize(ms, instance, xsn);

                using (var xmlWriter = new XmlTextWriter(ms, null)
                {
                    Formatting = Formatting.Indented, Indentation = 2
                })
                {
                    xmls.Serialize(xmlWriter, instance, null, null, null);
                }

                return(compress ? GZipHelper.Compress(ms.ToArray()) : ms.ToArray());
            }
        }
        protected virtual void SendToBefore(TcpSocketSaeaSession session, byte[] data)
        {
            //为解决延迟发送导致的accessId不安全问题
            var accessIdObj = Thread.GetData(Thread.GetNamedDataSlot("AccessId"));
            var accessId    = accessIdObj.IsNull() ? GetAccessId(session) : accessIdObj.ConvertTo <long>();

            SendTo(session, WrapAccessId(GZipHelper.Compress(data, 0, data.Length), accessId));
        }
        //public BaseTransfer(IEnumerable<Type> knownTypes)
        //{
        //}
#if !SILVERLIGHT
        public byte[] Compress <T>(T it)
        {
            using (MemoryStream stream = new MemoryStream())
            {
                Serialize(it, stream);
                stream.Flush();
                stream.Position = 0;
                return(GZipHelper.Compress(stream));
            }
        }
    /// <summary>
    /// Saves user data to Unity's PlayerPrefs
    /// </summary>
    public void Save(bool isExitSave = false)
    {
        StandaloneSavedData sData = new StandaloneSavedData();

        sData.User            = User;
        sData.SettingsVersion = Consts.APP_VERSION;
        string json = GZipHelper.Compress(JsonUtility.ToJson(sData));

        PlayerPrefs.SetString(Consts.PROJECT_NAME, json);
        //FINAL Debug.Log("SETTINGS: Saving to local device.");
        PlayerPrefs.SetInt("SettingsVersion", Consts.APP_VERSION); //SettingsVersion);
        PlayerPrefs.Save();
    }
        public static byte[] SerializeBinary(object instance, bool compress = false)
        {
            if (instance == null)
            {
                return(null);
            }

            using (var ms = new MemoryStream())
            {
                var bf = new BinaryFormatter();
                bf.Serialize(ms, instance);

                return(compress ? GZipHelper.Compress(ms.ToArray()) : ms.ToArray());
            }
        }
Exemple #14
0
        public void StartConsuming()
        {
            ProcessingBlock currentProcessedBlock;

            while (_context.BlockQueue.TryDequeue(out currentProcessedBlock) && !_context.IsExecutionStopped())
            {
                var compressedBytes = GZipHelper.Compress(currentProcessedBlock.BlockData);

                _context.ConsumerEventsManager.GetCurrentThreadEvent(currentProcessedBlock.BlockIndex).WaitOne();
                _context.WriteFile.WriteToFile(compressedBytes);

                _context.ConsumerEventsManager.GetNextThreadEvent(currentProcessedBlock.BlockIndex).Set();
                CheckWorkDone(currentProcessedBlock);
            }
        }
Exemple #15
0
        private void SendACK(TcpSocketSaeaSession session, ConnectionWorkType type)
        {
            var ackBody = MessageHelper.CopyMessageHeadTo(SiMay.Core.MessageHead.C_GLOBAL_CONNECT,
                                                          new AckPack()
            {
                Type      = (byte)type,
                AccessId  = ApplicationConfiguartion.Options.AccessId,
                AccessKey = type == ConnectionWorkType.MainApplicationConnection ? ApplicationConfiguartion.Options.MainAppAccessKey : ApplicationConfiguartion.Options.AccessKey
            });

            var dataBuilder = new List <byte>();

            dataBuilder.AddRange(BitConverter.GetBytes(ApplicationConfiguartion.Options.AccessId));
            dataBuilder.AddRange(GZipHelper.Compress(ackBody, 0, ackBody.Length));
            session.SendAsync(dataBuilder.ToArray());//构造发送
            dataBuilder.Clear();
        }
Exemple #16
0
        /// <summary>
        /// 生成数据
        /// </summary>
        protected byte[] ToBytes()
        {
            List <byte> reponseDataList = new List <byte>();

            byte[] lineBytes = Encoding.UTF8.GetBytes(System.Environment.NewLine);

            var bdata = this.Body;

            if (SAEAMvcApplication.IsZiped && this.Body != null)
            {
                bdata = GZipHelper.Compress(this.Body);
            }

            var bodyLen = 0;

            if (bdata != null)
            {
                bodyLen = bdata.Length;
            }

            this.SetHeader(ResponseHeaderType.ContentLength, bodyLen.ToString());

            var header = BuildHeader();

            byte[] headerBytes = Encoding.UTF8.GetBytes(header);

            //发送响应头
            reponseDataList.AddRange(headerBytes);
            //发送空行
            reponseDataList.AddRange(lineBytes);
            //发送内容
            if (bdata != null)
            {
                reponseDataList.AddRange(bdata);
            }

            var arr = reponseDataList.ToArray();

            this.Body = null;
            reponseDataList.Clear();
            reponseDataList = null;

            return(arr);
        }
        private void SendAck(TcpSocketSaeaSession session, SessionWorkType type)
        {
            var typeByte = (byte)type;
            var ackBody  = SerializePacket(new AckPack()
            {
                Type      = typeByte.ConvertTo <ConnectionWorkType>(),
                AccessId  = _options.AccessId,
                AccessKey = _options.AccessKey
            });

            ackBody = GZipHelper.Compress(ackBody, 0, ackBody.Length);

            var dataBuilder = new List <byte>();

            dataBuilder.AddRange(BitConverter.GetBytes(ackBody.Length));
            dataBuilder.AddRange(ackBody);
            ackBody = dataBuilder.ToArray();
            dataBuilder.Clear();
            session.SendAsync(ackBody);//构造发送
        }
Exemple #18
0
        /// <summary>
        /// 生成数据
        /// </summary>
        protected byte[] ToBytes()
        {
            List <byte> reponseDataList = new List <byte>();

            byte[] lineBytes = this.Encoding.GetBytes(System.Environment.NewLine);

            //var bdata = this.Body;
            var bdata = GZipHelper.Compress(this.Body);

            this.SetHeader(ResponseHeaderType.ContentLength, bdata.Length.ToString());

            var header = BuildHeader();

            byte[] headerBytes = this.Encoding.GetBytes(header);

            //发送响应头
            reponseDataList.AddRange(headerBytes);
            //发送空行
            reponseDataList.AddRange(lineBytes);
            //发送内容
            reponseDataList.AddRange(bdata);

            return(reponseDataList.ToArray());
        }
Exemple #19
0
        public IActionResult GuardarLogoGrupo([FromQuery, SwaggerParameter(Description = "Identificador del grupo", Required = true)] int idGrupo, [FromForm] GuardarArchivoRequestBody requestBody)
        {
            string contenido = string.Empty;

            if (requestBody.Archivo.Length > 0)
            {
                using (var ms = new MemoryStream())
                {
                    requestBody.Archivo.CopyTo(ms);
                    contenido = Convert.ToBase64String(GZipHelper.Compress(ms.ToArray()));
                }
            }

            Archivo archivo = new Archivo
            {
                Contenido = contenido,
                Nombre    = requestBody.Nombre,
                Extension = requestBody.Extension
            };

            var respuesta = _genService.GuardarArchivo("T_GRUPOS", "LOGO", idGrupo.ToString(), archivo);

            return(ProcesarRespuesta(respuesta));
        }
Exemple #20
0
        private IRestRequest GetRestRequest(object data, string url, bool useGZip)
        {
            var str     = JsonConvert.SerializeObject(data);
            var request = new RestRequest(url, Method.POST);

            request.AddHeader("appId", this._appId);
            var rawData = Encoding.UTF8.GetBytes(str);

            if (useGZip)
            {
                request.AddHeader("gzip", "on");
                rawData = GZipHelper.Compress(rawData);
            }
            var encryptData = AESHelper.Encrypt(rawData, this._secretKey, null, CipherMode.ECB, PaddingMode.PKCS7);

            request.AddParameter(new Parameter
            {
                Type       = ParameterType.RequestBody,
                DataFormat = DataFormat.None,
                Value      = encryptData,
                Name       = ""
            });
            return(request);
        }
Exemple #21
0
 public void WriteServiceData(byte[] data)
 {
     if (data.Length > CompressionMinSize)
     {
         data = GZipHelper.Compress(data);
         int len = (data.Length << 2) | 1;//第一位表示gzip,第二位表示keepclient
         if (KeepAlive)
         {
             len |= 2;
         }
         this.Write(len);
         this.Write(data);
     }
     else
     {
         int len = (data.Length << 2);
         if (KeepAlive)
         {
             len |= 2;
         }
         this.Write(len);
         this.Write(data);
     }
 }
Exemple #22
0
        /// <summary>
        /// 业务接口调用
        /// </summary>
        /// <param name="Xml">XML格式</param>
        /// <param name="DeviceMark">设备号</param>
        /// <param name="Token">记号</param>
        /// <returns></returns>
        public string Invoke(string Xml, string DeviceMark, string Token)
        {
            //Stopwatch sw = new Stopwatch();
            //sw.Start();
            Xml = GZipHelper.Uncompress(Xml);
            StringBuilder Output     = new StringBuilder();
            ArrayList     arraySql   = new ArrayList();
            ArrayList     arrayParam = new ArrayList();
            int           Type       = 0;
            bool          IsOk       = false;

            try
            {
                AnalysisXml(Xml, out arraySql, out arrayParam, out Type);
                switch (Type)
                {
                case 0:    //新增
                    IsOk = DataFactory.SqlHelper().BatchExecuteBySql((object[])arraySql.ToArray(typeof(object)), (object[])arrayParam.ToArray(typeof(object))) >= 0 ? true : false;
                    Output.Append(ResultMsg(IsOk, DbErrorMsg.ReturnMsg));
                    break;

                case 1:    //修改
                    IsOk = DataFactory.SqlHelper().BatchExecuteBySql((object[])arraySql.ToArray(typeof(object)), (object[])arrayParam.ToArray(typeof(object))) >= 0 ? true : false;
                    Output.Append(ResultMsg(IsOk, DbErrorMsg.ReturnMsg));
                    break;

                case 2:    //删除
                    IsOk = DataFactory.SqlHelper().BatchExecuteBySql((object[])arraySql.ToArray(typeof(object)), (object[])arrayParam.ToArray(typeof(object))) >= 0 ? true : false;
                    Output.Append(ResultMsg(IsOk, DbErrorMsg.ReturnMsg));
                    break;

                case 3:    //查询
                    string     strSql           = string.Join(",", (string[])arraySql.ToArray(typeof(string)));
                    object[]   arrayParamobject = (object[])arrayParam.ToArray(typeof(object));
                    SqlParam[] paramArray       = (SqlParam[])arrayParamobject[0];
                    DataTable  dt = DataFactory.SqlHelper().GetDataTableBySQL(new StringBuilder(strSql), paramArray);
                    if (DataTableHelper.IsExistRows(dt))
                    {
                        Output.Append(DataTableHelper.DataTableToXML(dt));
                    }
                    else
                    {
                        Output.Append(ResultMsg(false, "没有找到您要的相关数据"));
                    }
                    break;

                case 4:    //存储过程-DataTableProc
                    string    DataTableProc            = string.Join(",", (string[])arraySql.ToArray(typeof(string)));
                    object[]  DataTableProcParamobject = (object[])arrayParam.ToArray(typeof(object));
                    Hashtable DataTableProcparamArray  = (Hashtable)DataTableProcParamobject[0];
                    DataTable DataTableProc_dt         = DataFactory.SqlHelper().GetDataTableProc(DataTableProc, DataTableProcparamArray);
                    if (DataTableHelper.IsExistRows(DataTableProc_dt))
                    {
                        Output.Append(DataTableHelper.DataTableToXML(DataTableProc_dt));
                    }
                    else
                    {
                        Output.Append(ResultMsg(false, "没有找到您要的相关数据"));
                    }
                    break;

                case 5:    //存储过程-DataSetProc
                    string    DataSetProc            = string.Join(",", (string[])arraySql.ToArray(typeof(string)));
                    object[]  DataSetProcParamobject = (object[])arrayParam.ToArray(typeof(object));
                    Hashtable DataSetProcparamArray  = (Hashtable)DataSetProcParamobject[0];
                    DataSet   DataSetProc_dt         = DataFactory.SqlHelper().GetDataSetProc(DataSetProc, DataSetProcparamArray);
                    if (DataSetProc_dt != null)
                    {
                        Output.Append(DataTableHelper.DataSetToXML(DataSetProc_dt));
                    }
                    else
                    {
                        Output.Append(ResultMsg(false, "没有找到您要的相关数据"));
                    }
                    break;

                case 6:    //存储过程-ExecuteByProc
                    string    ExecuteByProc            = string.Join(",", (string[])arraySql.ToArray(typeof(string)));
                    object[]  ExecuteByProcParamobject = (object[])arrayParam.ToArray(typeof(object));
                    Hashtable ExecuteByProcparamArray  = (Hashtable)ExecuteByProcParamobject[0];
                    IsOk = DataFactory.SqlHelper().ExecuteByProc(ExecuteByProc, ExecuteByProcparamArray) >= 0 ? true : false;
                    Output.Append(ResultMsg(IsOk, DbErrorMsg.ReturnMsg));
                    break;

                case 7:    //存储过程-BatchExecuteByProc
                    IsOk = DataFactory.SqlHelper().BatchExecuteByProc((object[])arraySql.ToArray(typeof(object)), (object[])arrayParam.ToArray(typeof(object))) >= 0 ? true : false;
                    Output.Append(ResultMsg(IsOk, DbErrorMsg.ReturnMsg));
                    break;

                case -1:    //异常信息
                    Output.Append(ResultMsg(false, Logger.LogErrorMsg));
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                Output.Append(ResultMsg(false, ex.Message));
            }
            //sw.Stop();
            //LoggerTime.WriteLog("服务器处理总耗时:" + sw.ElapsedMilliseconds + "毫秒-----------\r\n");
            return(GZipHelper.Compress(Output.ToString()));
        }
Exemple #23
0
        protected virtual void SendToBefore(TcpSocketSaeaSession session, byte[] data)
        {
            var accessId = GetAccessId(session);

            SendTo(session, WrapAccessId(GZipHelper.Compress(data, 0, data.Length), accessId));
        }
        protected virtual void SendToBefore(SessionProviderContext session, byte[] data)
        {
            var accessId = AppConfiguration.AccessId;

            SendTo(session, WrapAccessId(GZipHelper.Compress(data, 0, data.Length), accessId));
        }
Exemple #25
0
        /// <summary>
        /// 业务接口调用
        /// </summary>
        /// <param name="Xml">XML格式</param>
        /// <param name="Token">记号</param>
        /// <returns></returns>
        public string Invoke(string Xml, string Token)
        {
            //IDatabase database = DataFactory.Database();
            //DbTransaction isOpenTrans = database.BeginTrans();
            StringBuilder Output     = new StringBuilder();
            ArrayList     arraySql   = new ArrayList();
            ArrayList     arrayParam = new ArrayList();
            string        Action     = "";
            bool          IsOk       = false;

            try
            {
                AnalysisXml(Xml, out arraySql, out arrayParam, out Action);
                for (int i = 0; i < arraySql.Count; i++)
                {
                    StringBuilder strSql    = new StringBuilder(arraySql[i].ToString());
                    DbParameter[] parameter = (DbParameter[])arrayParam[i];
                    switch (Action)
                    {
                    case "Insert":                      //新增
                        IsOk = DataFactory.Database().ExecuteBySql(strSql, parameter) >= 0 ? true : false;
                        Output.Append(ResultMsg(IsOk, DbResultMsg.ReturnMsg));
                        break;

                    case "Update":                      //修改
                        IsOk = DataFactory.Database().ExecuteBySql(strSql, parameter) >= 0 ? true : false;
                        Output.Append(ResultMsg(IsOk, DbResultMsg.ReturnMsg));
                        break;

                    case "Delete":                      //删除
                        IsOk = DataFactory.Database().ExecuteBySql(strSql, parameter) >= 0 ? true : false;
                        Output.Append(ResultMsg(IsOk, DbResultMsg.ReturnMsg));
                        break;

                    case "Select":                      //查询
                        DataTable dt = DataFactory.Database().FindTableBySql(strSql.ToString(), parameter);
                        if (!DataHelper.IsExistRows(dt))
                        {
                            Output.Append(DataHelper.DataTableToXML(dt));
                        }
                        else
                        {
                            Output.Append(ResultMsg(false, "没有找到您要的相关数据"));
                        }
                        break;

                    case "Procedure":                   //存储过程
                        IsOk = DataFactory.Database().ExecuteByProc(strSql.ToString(), parameter) >= 0 ? true : false;
                        Output.Append(ResultMsg(IsOk, DbResultMsg.ReturnMsg));
                        break;

                    case "DataTableProc":               //存储过程-FindTableByProc
                        DataTable dtProc = DataFactory.Database().FindTableByProc(strSql.ToString(), parameter);
                        if (!DataHelper.IsExistRows(dtProc))
                        {
                            Output.Append(DataHelper.DataTableToXML(dtProc));
                        }
                        else
                        {
                            Output.Append(ResultMsg(false, "没有找到您要的相关数据"));
                        }
                        break;

                    case "DataSetProc":                 //存储过程-DataSetByProc
                        DataSet dsProc = DataFactory.Database().FindDataSetByProc(strSql.ToString(), parameter);
                        if (dsProc != null)
                        {
                            Output.Append(DataHelper.DataSetToXML(dsProc));
                        }
                        else
                        {
                            Output.Append(ResultMsg(false, "没有找到您要的相关数据"));
                        }
                        break;

                    case "-1":    //异常信息
                        break;

                    default:
                        break;
                    }
                }
            }
            catch (Exception ex)
            {
                Output.Append(ResultMsg(false, ex.Message));
            }
            return(GZipHelper.Compress(Output.ToString()));
        }
Exemple #26
0
        private void FileExportRaw()
        {
            var path = FileDialogService.SaveFileDialog(null, null, Exporters.Filter, ".png");

            if (path == null)
            {
                return;
            }
            //HelixView.Export(path);
            ///*
            Stopwatch stopWatch = new Stopwatch();

            stopWatch.Start();

            var ext = Path.GetExtension(path).ToLowerInvariant();

            switch (ext)
            {
            case ".png":
            case ".jpg":
                HelixView.Export(path);
                break;

            case ".xaml":
            {
                var e = new XamlExporter(path);
                e.Export(CurrentModel);
                e.Close();
                break;
            }

            case ".xml":
            {
                var e = new KerkytheaExporter(path);
                e.Export(HelixView.Viewport);
                e.Close();
                break;
            }

            case ".obj":
            {
                var patient = new Patient();
                var e       = new SmileObjExporter(path);
                //e.Export(CurrentModel);
                ((SmileObjExporter)e).rawVisual = RawVisual;
                ((SmileObjExporter)e).Export(RawVisual, patient);
                e.Close();
                break;
            }

            case ".objz":
            {
                var tmpPath = Path.ChangeExtension(path, ".obj");
                var e       = new ObjExporter(tmpPath);
                e.Export(CurrentModel);
                e.Close();
                GZipHelper.Compress(tmpPath);
                break;
            }

            case ".x3d":
            {
                var e = new X3DExporter(path);
                e.Export(CurrentModel);
                e.Close();
                break;
            }
            }
            showStatus(stopWatch, "Exported");
            //*/
        }