public void TransmissionReceived([FromBody]long transmissionId)
        {
            SecretUserId userId = UserIdExtractor.ReadSecretUserIdFromRequest(this.Request);
            using (TransmitContext context = new TransmitContext())
            {
                UserIdValidator validator = new UserIdValidator(context);
                validator.RequireSignedUserIdValid(userId);

                TransmissionsManager transmissionsManager = new TransmissionsManager(context);
                Transmission transmission = transmissionsManager.TransmissionReceived(userId.UserId, transmissionId);

                User sender = PushNotificationManager.GetUserById(transmission.Sender.UserId);
                if (sender != null)
                {
                    sender.SendPushNotification(new PushNotification(new PushMessage()
                    {
                        Method = "TransmissionReceivedConfirmed",
                        Data = new
                        {
                            Id = transmission.TransmissionId,
                            To = transmission.Receiver.UserId,
                            TimeReceived = transmission.TimeReceived
                        }
                    }));
                }
            }
        }
        public object SendTextTransmission(TextTransmissionModel textTransmission)
        {
            if (textTransmission == null) throw new ArgumentNullException("textTransmission");

            string partnerId = textTransmission.PartnerId;
            string text = textTransmission.Text;

            Transmission transmission;

            SecretUserId userId = UserIdExtractor.ReadSecretUserIdFromRequest(this.Request);
            using (TransmitContext context = new TransmitContext())
            {
                UserIdValidator validator = new UserIdValidator(context);
                validator.RequireSignedUserIdValid(userId);

                TransmissionsManager transmissionsManager = new TransmissionsManager(context);
                transmission = transmissionsManager.SendTextTransmission(userId.UserId, partnerId, text);
            }

            TextTransmissionData transmissionData = (TextTransmissionData)transmission.TransmissionData;

            User partner = PushNotificationManager.GetUserById(partnerId);
            if (partner != null)
            {
                partner.SendPushNotification(new PushNotification(new PushMessage()
                {
                    Method = "TextTransmissionReceived",
                    Data = new
                    {
                        Id = transmission.TransmissionId,
                        From = transmission.Sender.UserId,
                        TimeSend = transmission.TimeSend,
                        Text = text,
                        Format = Enum.GetName(typeof(TextDataFormat), transmissionData.DataFormat)
                    }
                }));

                return new
                {
                    Message = "ok",
                    ErrorCode = 0
                };
            }
            else
            {
                return new
                {
                    Message = "Partner not connected",
                    ErrorCode = 1
                };
            }
        }