Ejemplo n.º 1
0
        public bool InsertMessage(string clientId, DateTime timeReceived, Stream messageStream, IDictionary<string, string> headers)
        {
            var gatewayMessage = new GatewayMessage
                                     {
                                         Id = EscapeClientId(clientId),
                                         TimeReceived = timeReceived,
                                         Headers = headers,
                                         OriginalMessage = new byte[messageStream.Length],
                                         Acknowledged = false
                                     };

            messageStream.Read(gatewayMessage.OriginalMessage, 0, (int)messageStream.Length);
            using (var session = OpenSession())
            {
                session.Advanced.UseOptimisticConcurrency = true;
                session.Store(gatewayMessage);

                try
                {
                    session.SaveChanges();
                }
                catch (ConcurrencyException)
                {
                    return false;
                }

            }
            return true;
        }
Ejemplo n.º 2
0
        public bool InsertMessage(string clientId, DateTime timeReceived, Stream messageStream, IDictionary <string, string> headers)
        {
            var gatewayMessage = new GatewayMessage
            {
                Id              = EscapeClientId(clientId),
                TimeReceived    = timeReceived,
                Headers         = headers,
                OriginalMessage = new byte[messageStream.Length],
                Acknowledged    = false
            };

            messageStream.Read(gatewayMessage.OriginalMessage, 0, (int)messageStream.Length);
            using (var session = store.OpenSession())
            {
                session.Advanced.UseOptimisticConcurrency = true;
                session.Store(gatewayMessage);

                try
                {
                    session.SaveChanges();
                }
                catch (ConcurrencyException)
                {
                    return(false);
                }
            }
            return(true);
        }
Ejemplo n.º 3
0
        public bool InsertMessage(string clientId, DateTime timeReceived, Stream messageStream, IDictionary <string, string> headers)
        {
            var gatewayMessage = new GatewayMessage
            {
                Id              = EscapeClientId(clientId),
                TimeReceived    = timeReceived,
                Headers         = headers,
                OriginalMessage = new byte[messageStream.Length],
                Acknowledged    = false
            };

            messageStream.Read(gatewayMessage.OriginalMessage, 0, (int)messageStream.Length);
            using (var session = store.OpenSession())
            {
                session.Advanced.UseOptimisticConcurrency = true;
                session.Store(gatewayMessage);

                //todo
                //documentSession.Advanced.DatabaseCommands.PutAttachment("calls/" + message.CallId, null, mp3, new Raven.Json.Linq.RavenJObject());
                //var attachment = session.Advanced.DatabaseCommands.GetAttachment(id);

                try
                {
                    session.SaveChanges();
                }
                catch (ConcurrencyException)
                {
                    return(false);
                }
            }
            return(true);
        }