Exemplo n.º 1
0
        private SignalDbRecord CreateSignalDbRecord()
        {
            SignalDbRecord dbRecord      = null;
            int            retryCount    = 5;
            Exception      lastException = null;

            while (dbRecord == null && retryCount > 0)
            {
                try
                {
                    string         messageId = Utils.GenerateId();
                    SignalDbRecord signal    = new SignalDbRecord
                    {
                        Id = messageId
                    };
                    dbRecord = DbEngine.Create(signal, true);
                }
                catch (Exception e)
                {
                    lastException = e;
                    retryCount--;
                    if (retryCount > 0)
                    {
                        Thread.Sleep(1000);
                    }
                }
            }

            if (dbRecord == null)
            {
                throw lastException;
            }

            return(dbRecord);
        }