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