async Task <ChatMessage> IChatMessageRestService.Create(ChatMessage chatMessage) { ChatMessageResponseResult rr = new ChatMessageResponseResult(); var url = Constants.host + "/api/chatmessage/create"; var uri = new Uri(url); try { var json = JsonConvert.SerializeObject(chatMessage); var content = new StringContent(json, System.Text.Encoding.UTF8, "application/json"); HttpResponseMessage response = null; response = await client.PostAsync(uri, content); if (response.IsSuccessStatusCode) { var result = await response.Content.ReadAsStringAsync(); rr = JsonConvert.DeserializeObject <ChatMessageResponseResult>(result); Debug.WriteLine(@" Chat Message successfully saved."); } } catch (Exception ex) { Debug.WriteLine(@" ERROR {0}", ex.Message); } return(rr.Result); }
async Task <ChatMessage> IChatMessageRestService.UploadPMVoice(byte[] audio, int senderUserID, int receiverUserID) { ChatMessageResponseResult rr = new ChatMessageResponseResult(); var url = Constants.host + "/api/chatmessage/uploadpmvoice"; var uri = new Uri(url); try { // Convert byte[] to Base64 String string base64String = Convert.ToBase64String(audio); //create new HttpClient and MultipartFormDataContent and add our file MultipartFormDataContent content = new MultipartFormDataContent(); StringContent scSenderUserID = new StringContent(senderUserID.ToString()); StringContent scReceiverUserID = new StringContent(receiverUserID.ToString()); StringContent scUploadVoice = new StringContent(base64String); content.Add(scSenderUserID, "sender_user_id"); content.Add(scReceiverUserID, "receiver_user_id"); content.Add(scUploadVoice, "str_voice"); var response = await client.PostAsync(uri, content); if (response.IsSuccessStatusCode) { var result = await response.Content.ReadAsStringAsync(); var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; rr = JsonConvert.DeserializeObject <ChatMessageResponseResult>(result); Debug.WriteLine(@" PM Voice successfully upload and saved."); //user = JsonConvert.DeserializeObject<User>(result, settings); } } catch (Exception ex) { Debug.WriteLine(@" ERROR {0}", ex.Message); } return(rr.Result); }
async Task <ChatMessage> IChatMessageRestService.UploadPMImage(MediaFile file, int senderUserID, int receiverUserID) { ChatMessageResponseResult rr = new ChatMessageResponseResult(); var url = Constants.host + "/api/chatmessage/uploadpmimage"; var uri = new Uri(url); try { // Get Orientation int rotate = 0; #if __ANDROID__ // Android-specific code var exifInterface = new ExifInterface(file.Path); int orientation = exifInterface.GetAttributeInt(ExifInterface.TagOrientation, 0); switch (orientation) { case (int)Orientation.Rotate270: rotate = 90; break; case (int)Orientation.Rotate180: rotate = 180; break; case (int)Orientation.Rotate90: rotate = 270; break; } #endif //read file into upfilebytes array byte[] upfilebytes = null; using (var memoryStream = new MemoryStream()) { file.GetStream().CopyTo(memoryStream); file.Dispose(); upfilebytes = memoryStream.ToArray(); } Debug.WriteLine(@" File Size: "+ upfilebytes.Length); // Convert byte[] to Base64 String string base64String = Convert.ToBase64String(upfilebytes); //create new HttpClient and MultipartFormDataContent and add our file MultipartFormDataContent content = new MultipartFormDataContent(); StringContent scSenderUserID = new StringContent(senderUserID.ToString()); StringContent scReceiverUserID = new StringContent(receiverUserID.ToString()); StringContent scUploadImage = new StringContent(base64String); StringContent scImageOrientation = new StringContent(rotate.ToString()); content.Add(scSenderUserID, "sender_user_id"); content.Add(scReceiverUserID, "receiver_user_id"); content.Add(scUploadImage, "str_image"); content.Add(scImageOrientation, "img_orientation"); var response = await client.PostAsync(uri, content); if (response.IsSuccessStatusCode) { var result = await response.Content.ReadAsStringAsync(); var settings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; rr = JsonConvert.DeserializeObject <ChatMessageResponseResult>(result); Debug.WriteLine(@" PM Image successfully upload and saved."); //user = JsonConvert.DeserializeObject<User>(result, settings); } } catch (Exception ex) { Debug.WriteLine(@" ERROR {0}", ex.Message); } return(rr.Result); }