/// <summary>
        /// Stores RelayMessageInfo to byte[].
        /// </summary>
        /// <returns>Returns RelayMessageInfo as byte[] data.</returns>
        public byte[] ToByte()
        {
            XmlTable retVal = new XmlTable("RelayMessageInfo");

            if (!string.IsNullOrEmpty(m_EnvelopeID))
            {
                retVal.Add("EnvelopeID", m_EnvelopeID);
            }
            retVal.Add("Sender", m_Sender);
            retVal.Add("Recipient", m_Recipient);
            if (!string.IsNullOrEmpty(m_OriginalRecipient))
            {
                retVal.Add("OriginalRecipient", m_OriginalRecipient);
            }
            if (m_DSN_Notify != SMTP_DSN_Notify.NotSpecified)
            {
                retVal.Add("DSN-Notify", m_DSN_Notify.ToString());
            }
            if (m_DSN_Ret != SMTP_DSN_Ret.NotSpecified)
            {
                retVal.Add("DSN-RET", m_DSN_Ret.ToString());
            }
            retVal.Add("Date", m_Date.ToString("r"));
            retVal.Add("DelayedDeliveryNotifySent", m_DelayedDeliveryNotifySent.ToString());
            if (m_pHostEndPoint != null)
            {
                retVal.Add("HostEndPoint", m_pHostEndPoint.ToString());
            }
            else
            {
                retVal.Add("HostEndPoint", "");
            }

            return(retVal.ToByteData());
        }
Example #2
0
 private static void Import(XmlTable node, ImportContext importContext, Importer importer)
 {
     foreach (var row in node.Rows)
     {
         var fields = GetFields(row, node.ColumnTypes);
         importer.Import(fields, importContext);
     }
 }
        public static RelayMessageInfo Parse(byte[] value)
        {
            RelayMessageInfo result;

            try
            {
                XmlTable xmlTable = new XmlTable("RelayMessageInfo");
                xmlTable.Parse(value);
                result = new RelayMessageInfo(string.IsNullOrEmpty(xmlTable.GetValue("EnvelopeID")) ? null : xmlTable.GetValue("EnvelopeID"), xmlTable.GetValue("Sender"), xmlTable.GetValue("Recipient"), string.IsNullOrEmpty(xmlTable.GetValue("OriginalRecipient")) ? null : xmlTable.GetValue("OriginalRecipient"), string.IsNullOrEmpty(xmlTable.GetValue("DSN-Notify")) ? SMTP_DSN_Notify.NotSpecified : ((SMTP_DSN_Notify)Enum.Parse(typeof(SMTP_DSN_Notify), xmlTable.GetValue("DSN-Notify"))), string.IsNullOrEmpty(xmlTable.GetValue("DSN-RET")) ? SMTP_DSN_Ret.NotSpecified : ((SMTP_DSN_Ret)Enum.Parse(typeof(SMTP_DSN_Ret), xmlTable.GetValue("DSN-RET"))), DateTime.ParseExact(xmlTable.GetValue("Date"), "r", DateTimeFormatInfo.InvariantInfo), Convert.ToBoolean(xmlTable.GetValue("DelayedDeliveryNotifySent")), (!string.IsNullOrEmpty(xmlTable.GetValue("HostEndPoint"))) ? HostEndPoint.Parse(xmlTable.GetValue("HostEndPoint"), 25) : null);
            }
            catch
            {
                throw new ArgumentException("Argument 'value' has invalid RelayMessageInfo value.");
            }
            return(result);
        }
Example #4
0
        /// <summary>
        /// Parses RelayMessageInfo from byte[] data.
        /// </summary>
        /// <param name="value">RelayMessageInfo data.</param>
        /// <returns>Returns parsed RelayMessageInfo.</returns>
        /// <exception cref="ArgumentException">Is raised when any of the arguments has invalid value.</exception>
        public static RelayMessageInfo Parse(byte[] value)
        {
            try{
                XmlTable messageInfo = new XmlTable("RelayMessageInfo");
                messageInfo.Parse(value);

                return new RelayMessageInfo(
                    string.IsNullOrEmpty(messageInfo.GetValue("EnvelopeID")) ? null : messageInfo.GetValue("EnvelopeID"),
                    messageInfo.GetValue("Sender"), 
                    messageInfo.GetValue("Recipient"), 
                    string.IsNullOrEmpty(messageInfo.GetValue("OriginalRecipient")) ? null : messageInfo.GetValue("OriginalRecipient"),
                    string.IsNullOrEmpty(messageInfo.GetValue("DSN-Notify")) ? SMTP_DSN_Notify.NotSpecified : (SMTP_DSN_Notify)Enum.Parse(typeof(SMTP_DSN_Notify),messageInfo.GetValue("DSN-Notify")),
                    string.IsNullOrEmpty(messageInfo.GetValue("DSN-RET")) ? SMTP_DSN_Ret.NotSpecified : (SMTP_DSN_Ret)Enum.Parse(typeof(SMTP_DSN_Ret),messageInfo.GetValue("DSN-RET")),
                    DateTime.ParseExact(messageInfo.GetValue("Date"),"r",System.Globalization.DateTimeFormatInfo.InvariantInfo), 
                    Convert.ToBoolean(messageInfo.GetValue("DelayedDeliveryNotifySent")), 
                    !string.IsNullOrEmpty(messageInfo.GetValue("HostEndPoint")) ? HostEndPoint.Parse(messageInfo.GetValue("HostEndPoint"),25) :  null
                );
            }
            catch{
                throw new ArgumentException("Argument 'value' has invalid RelayMessageInfo value.");
            }
        }
Example #5
0
        private static Dictionary <string, XmlTable> ReadXml(string path)
        {
            var doc  = XDocument.Load(path);
            var root = doc.Element("root");

            if (root == null)
            {
                throw new Exception("Read xml error");
            }
            var tables   = root.Elements();
            var tableMap = new Dictionary <string, XmlTable>();

            foreach (var table in tables)
            {
                var xmlTable = new XmlTable();
                xmlTable.Name        = table.Name.LocalName;
                xmlTable.ColumnTypes = table.Element("Columns").Elements().ToDictionary(key => key.Name.LocalName, value => value.Value);
                xmlTable.Rows        = table.Element("Rows").Elements();
                tableMap.Add(xmlTable.Name, xmlTable);
            }
            return(tableMap);
        }
Example #6
0
        /// <summary>
        /// QueueSettings ctor
        /// </summary>
        void LoadQueueSettings()
        {
            XmlTable table = NetConfig.GetCustomConfig("QueueSettings");

            if (table == null)
            {
                throw new ArgumentException("Can not load XmlTable config");
            }

            QueueName               = table.GetValue("name");
            MaxSize                 = table.Get <int>("MaxSize", QueueDefaults.QueueMaxSize);
            DefaultExpiration       = table.Get <int>("DefaultExpiration", 30);
            RemoveExpiredItemOnSync = table.Get <bool>("RemoveExpiredItemOnSync", true);
            SyncInterval            = table.Get <int>("SyncInterval", 30);
            InitialCapacity         = table.Get <int>("InitialCapacity", QueueDefaults.InitialCapacity);
            LoadFactor              = table.Get <float>("LoadFactor", (float)QueueDefaults.LoadFactor);
            SessionTimeout          = table.Get <int>("SessionTimeout", 30);
            MaxSessionTimeout       = table.Get <int>("MaxSessionTimeout", 1440);
            EnableLog               = table.Get <bool>("EnableLog", false);
            InBufferSize            = table.Get <int>("InBufferSize", 8192);
            OutBufferSize           = table.Get <int>("OutBufferSize", 8192);
            SyncConfigFile          = table.GetValue("SyncConfigFile");
            EnableSyncFileWatcher   = table.Get <bool>("EnableSyncFileWatcher", false);
            ReloadSyncOnChange      = table.Get <bool>("ReloadSyncOnChange", false);
            SyncTaskerTimeout       = table.Get <int>("SyncTaskerTimeout", 60);
            EnableAsyncTask         = table.Get <bool>("EnableAsyncTask", true);

            EnableRemoteQueue  = table.Get <bool>("EnableRemoteQueue", false);
            EnableSyncQueue    = table.Get <bool>("EnableSyncQueue", false);
            EnableSessionQueue = table.Get <bool>("EnableSessionQueue", false);
            EnableDataQueue    = table.Get <bool>("EnableDataQueue", false);
            EnableQueueManager = table.Get <bool>("EnableQueueManager", false);

            QueueDefaults.MaxSessionTimeout = MaxSessionTimeout;
            QueueDefaults.SessionTimeout    = SessionTimeout;
            QueueDefaults.DefaultExpiration = DefaultExpiration;
            QueueDefaults.EnableLog         = EnableLog;
        }
Example #7
0
        void LoadTcpSettings(XmlNode node, bool isServer)
        {
            if (node == null)
            {
                throw new ArgumentNullException("TcpSettings.XmlNode node");
            }

            XmlTable table = new XmlTable(node);

            HostName       = table.GetValue("HostName");
            Address        = EnsureHostAddress(table.GetValue("Address"));
            Port           = table.Get <int>("Port");
            IsAsync        = (bool)table.Get <bool>("IsAsync", true);
            ConnectTimeout = (int)table.Get <int>("ConnectTimeout", DefaultConnectTimeout);
            ProcessTimeout = (int)table.Get <int>("ProcessTimeout", DefaultProcessTimeout);
            //ReadTimeout = (int)table.Get<int>("ReadTimeout", DefaultReadTimeout);
            ReceiveBufferSize = table.Get <int>("ReceiveBufferSize", DefaultReceiveBufferSize);
            SendBufferSize    = table.Get <int>("SendBufferSize", DefaultSendBufferSize);
            if (isServer)
            {
                MaxSocketError       = table.Get <int>("MaxSocketError", DefaultMaxSocketError);
                MaxServerConnections = table.Get <int>("MaxServerConnections", 1);
            }
        }
 /// <summary>
 /// There are no comments for XmlTable in the schema.
 /// </summary>
 public void AddToXmlTable(XmlTable xmlTable)
 {
     base.AddObject("XmlTable", xmlTable);
 }
 /// <summary>
 /// Create a new XmlTable object.
 /// </summary>
 /// <param name="key">Initial value of key.</param>
 public static XmlTable CreateXmlTable(int key)
 {
     XmlTable xmlTable = new XmlTable();
     xmlTable.key = key;
     return xmlTable;
 }
Example #10
0
        private async void BtnSave_Click(object sender, EventArgs e)
        {
            //TODO: al presionar guardar llenar esta lista con las mesas creadas luego de ediar el mapa
            var tableList = new List <TableDto>();
            var xmlTables = new List <XmlTable>();

            foreach (MoveableObject item in PnlMap.Controls.OfType <MoveableObject>())
            {
                // obtengo los valores ui del pictureBox.
                var bounds = item.Bounds;
                // voy a crear un objeto tipo tabla para poder guardar
                // las propiedades y serializarlo luego en un archivo xml.
                XmlTable xTable = new XmlTable();
                xTable.Id        = item.Id;
                xTable.TackId    = currentMapTrackId;
                xTable.Bottom    = bounds.Bottom;
                xTable.Height    = bounds.Height;
                xTable.Width     = bounds.Width;
                xTable.Left      = bounds.Left;
                xTable.Top       = bounds.Top;
                xTable.X         = bounds.X;
                xTable.Y         = bounds.Y;
                xTable.imageFile = $"image_{item.Id}_{currentMapTrackId}.png";

                var dir  = Directory.CreateDirectory($@"{Environment.CurrentDirectory}/Imagenes");
                var path = $@"{dir.FullName}/{xTable.imageFile}";
                item.Image.Save(path, ImageFormat.Png);

                xmlTables.Add(xTable);

                if (item is MoveableTable)
                {
                    tableList.Add(((MoveableTable)item).BindedEntity);
                }
            }

            var svcResp = await _tableSvc.SetInitialTableArrangementAsync(tableList);

            if (svcResp.HasError || !svcResp.Data)
            {
#if DEBUG
                MessageBox.Show(string.Join(" - ", svcResp.Errors), "Ocurrio un error");
#else
                MessageBox.Show("Ocurrio un error");
#endif
            }

            if (svcResp.Data)
            {
                //TODO: guardar antes el mapa
                XmlSerializer writer = new XmlSerializer(typeof(List <XmlTable>));

                var        dir  = Directory.CreateDirectory($@"{Environment.CurrentDirectory}/Mapas");
                var        path = $@"{dir.FullName}/Mapa_{DateTime.Now.ToString("dd-MM-yyyy HH.mm.ss")}.xml";
                FileStream file = File.Create(path);

                writer.Serialize(file, xmlTables);
                file.Close();

                this.Close();
            }
        }
Example #11
0
        /// <summary>
        /// Stores RelayMessageInfo to byte[].
        /// </summary>
        /// <returns>Returns RelayMessageInfo as byte[] data.</returns>
        public byte[] ToByte()
        {
            XmlTable retVal = new XmlTable("RelayMessageInfo");
            if(!string.IsNullOrEmpty(m_EnvelopeID)){
                retVal.Add("EnvelopeID",m_EnvelopeID);
            }
            retVal.Add("Sender",m_Sender);
            retVal.Add("Recipient",m_Recipient);
            if(!string.IsNullOrEmpty(m_OriginalRecipient)){
                retVal.Add("OriginalRecipient",m_OriginalRecipient);
            }
            if(m_DSN_Notify != SMTP_DSN_Notify.NotSpecified){
                retVal.Add("DSN-Notify",m_DSN_Notify.ToString());
            }
            if(m_DSN_Ret != SMTP_DSN_Ret.NotSpecified){
                retVal.Add("DSN-RET",m_DSN_Ret.ToString());
            }
            retVal.Add("Date",m_Date.ToString("r"));
            retVal.Add("DelayedDeliveryNotifySent",m_DelayedDeliveryNotifySent.ToString());
            if(m_pHostEndPoint != null){
                retVal.Add("HostEndPoint",m_pHostEndPoint.ToString());
            }
            else{
                retVal.Add("HostEndPoint","");
            }

            return retVal.ToByteData();
        }