Ejemplo n.º 1
0
        /// <summary>
        /// write package async
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="kind_of_packing"></param>
        /// <param name="object_value"></param>
        /// <param name="crypto_key"></param>
        /// <returns></returns>
        public Task <XmlPackage> WritePackageAsync <T>(T object_value, MKindOfPacking kind_of_packing = MKindOfPacking.Encrypted, string crypto_key = null)
        {
            var _task = Task <XmlPackage> .Factory.StartNew(() =>
            {
                return(WritePackage <T>(object_value, kind_of_packing, crypto_key));
            });

            return(_task);
        }
Ejemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="reader"></param>
        /// <param name="exception"></param>
        /// <param name="command"></param>
        /// <param name="label"></param>
        /// <param name="message"></param>
        /// <param name="kind_of_packing"></param>
        /// <param name="crypto_key"></param>
        /// <param name="app_secific"></param>
        /// <param name="priority"></param>
        /// <returns></returns>
        public bool WritePacket(
            QAgency sender, QAgency reader, string exception, string command, string label,
            string message, MKindOfPacking kind_of_packing = MKindOfPacking.None, string crypto_key = "",
            int app_secific = 5, MessagePriority priority = MessagePriority.Normal
            )
        {
            var _result = false;

            if (String.IsNullOrEmpty(message) == false)
            {
                using (QMessage _qmessage = new QMessage(sender)
                {
                    Command = command,
                    Package = Serialization.SNG.WritePackage <string>(message, kind_of_packing, crypto_key),
                    UsePackage = true
                })
                {
                    _result = WritePacket(_qmessage, reader, exception, label, app_secific, priority);
                }
            }

            return(_result);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// DatParamets를 XmlPackage 표현식으로 변환 합니다.
        /// </summary>
        /// <returns></returns>
        public XmlPackage GetXmlPackage(MKindOfPacking kind_of_packing = MKindOfPacking.Encrypted)
        {
            foreach (PgDatParameter _p in this)
            {
                Type _type = typeof(object);
                if (_p.Value != null)
                {
                    _type = _p.Value.GetType();
                }

                if (_type.IsSealed == false || _type.BaseType == typeof(Array))
                {
                    _p.FieldType = _type.AssemblyQualifiedName;
                    _p.Value     = Serialization.SNG.ClassToString(_type, _p.Value);
                }
                else
                {
                    _p.FieldType = _type.FullName;
                }
            }

            return(Serialization.SNG.WritePackage <PgDatParameters>(this, kind_of_packing));
        }
Ejemplo n.º 4
0
        //-----------------------------------------------------------------------------------------------------------------------------
        //
        //-----------------------------------------------------------------------------------------------------------------------------

        /// <summary>
        /// write package
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="kind_of_packing"></param>
        /// <param name="object_value"></param>
        /// <param name="crypto_key"></param>
        /// <returns></returns>
        public XmlPackage WritePackage <T>(T object_value, MKindOfPacking kind_of_packing = MKindOfPacking.Encrypted, string crypto_key = null)
        {
            var _xml_value = ObjectToString <T>(object_value);

            if (kind_of_packing.HasFlag(MKindOfPacking.Encrypted) == true)
            {
                if (Cryption.IsExistKey(crypto_key) == false)
                {
                    crypto_key = Cryption.GetRandomKey();
                }
            }

            if (kind_of_packing != MKindOfPacking.All)
            {
                if (kind_of_packing.HasFlag(MKindOfPacking.Encrypted) == true)
                {
                    _xml_value = CryptHelper.SNG.PlainToChiperText(_xml_value, false, crypto_key);
                }

                if (kind_of_packing.HasFlag(MKindOfPacking.Compressed) == true)
                {
                    _xml_value = CompressText(_xml_value);
                }
            }
            else
            {
                _xml_value = CryptHelper.SNG.PlainToChiperText(_xml_value, true, crypto_key);
            }

            return(new XmlPackage()
            {
                Packings = kind_of_packing,
                Value = _xml_value,
                CryptoKey = crypto_key
            });
        }
Ejemplo n.º 5
0
        //-----------------------------------------------------------------------------------------------------------------------------
        //
        //-----------------------------------------------------------------------------------------------------------------------------

        /// <summary>
        ///
        /// </summary>
        /// <param name="db_params"></param>
        /// <param name="kind_of_packing"></param>
        /// <returns></returns>
        public static XmlPackage ToXmlPackage(this PgDatParameters db_params, MKindOfPacking kind_of_packing = MKindOfPacking.Encrypted)
        {
            return(((PgDatParameters)db_params.Clone()).GetXmlPackage(kind_of_packing));
        }
Ejemplo n.º 6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="packings"></param>
 /// <param name="crypto_key"></param>
 /// <param name="value"></param>
 public XmlPackage(MKindOfPacking packings, string crypto_key, object value)
     : this(crypto_key, value)
 {
     Packings = packings;
 }