Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }