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; }
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); }
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); }