public async void CreateData(UITextField tf_ChatMessage, UIViewController ViewController)
        {
            string Message = tf_ChatMessage.Text;

            if (Message.Trim() != "")
            {
                tf_ChatMessage.ResignFirstResponder();
                tf_ChatMessage.Text = "";

                var chatMessage = new ChatMessage();
                chatMessage.Message = Message;
                chatMessage.Isme    = true;
                chatMessage.Type    = 0;

                bool IsSuccess = chatMessageService.CreateChatMessage(chatMessage);
                if (IsSuccess)
                {
                    chatMessageList.Insert(0, chatMessage);
                    UpdateTableViewRow();
                }
                else
                {
                    SharedService.ShowErrorDialog("新增資料失敗", ViewController);
                    return;
                }

                AllRequestResult result = null;
                await Task.Run(async() =>
                {
                    result = await chatMessageService.CreateMessage(chatMessage.Message);
                });

                if (result.IsSuccess)
                {
                    string ResMessage = (string)result.Result;
                    ResMessage = ResMessage.Replace("\\n", "\n");
                    var ResChatMessage = new ChatMessage();
                    ResChatMessage.Message = ResMessage;
                    ResChatMessage.Isme    = false;
                    ResChatMessage.Type    = 0;

                    IsSuccess = chatMessageService.CreateChatMessage(ResChatMessage);

                    if (IsSuccess)
                    {
                        chatMessageList.Insert(0, ResChatMessage);
                        UpdateTableViewRow();
                    }
                    else
                    {
                        SharedService.ShowErrorDialog("新增資料失敗", ViewController);
                        return;
                    }
                }
                else
                {
                    SharedService.WebExceptionHandler((WebException)result.Result, ViewController);
                }
            }
        }
        private async void GetMyMarkers()
        {
            AllRequestResult result = null;
            await Task.Run(() =>
            {
                result = new MarkerService().GetMyMarkerList();
            });

            if (result.IsSuccess)
            {
                MyMarkers         myMarkers = (MyMarkers)result.Result;
                MKPointAnnotation annotation;
                foreach (MyMarker myMarker in myMarkers.MarkerList)
                {
                    annotation = new MKPointAnnotation()
                    {
                        Title      = myMarker.Title,
                        Subtitle   = myMarker.Content.Replace("\\n", "\n"),
                        Coordinate = new CLLocationCoordinate2D(myMarker.Latitude, myMarker.Longitude)
                    };
                    this.map.AddAnnotation(annotation);
                }
            }
            else
            {
                SharedService.WebExceptionHandler((WebException)result.Result, this);
            }
        }
        protected override async void OnActivityResult(int requestCode, Result resultCode, Intent data)
        {
            base.OnActivityResult(requestCode, resultCode, data);
            if (requestCode == CHOOSE_IMAGE_FILE && resultCode == Result.Ok)
            {
                tv_RMessage.Visibility = ViewStates.Gone;
                Android.Net.Uri uri = data.Data;

                //顯示圖片
                iv_Frog.Visibility = ViewStates.Visible;
                iv_Frog.SetImageURI(uri);

                AllRequestResult result = null;

                tv_LMessage.Text = "辨識中...";

                await Task.Run(() =>
                {
                    string FileName = CreateFileAndGetFileNameFromUri(uri);
                    result          = UploadImage(FilesDir.AbsolutePath + "/" + FileName);
                });

                if (result.IsSuccess)
                {
                    tv_LMessage.Text = (string)result.Result;
                }
                else
                {
                    tv_LMessage.Text = "辨識失敗";
                    WebExceptionHandler((WebException)result.Result);
                }
            }
        }
        public async void CreateImageData(string FileName, UIViewController ViewController)
        {
            var chatMessage = new ChatMessage();

            chatMessage.Message = FileName;
            chatMessage.Isme    = true;
            chatMessage.Type    = 1;

            bool IsSuccess = chatMessageService.CreateChatMessage(chatMessage);

            if (IsSuccess)
            {
                chatMessageList.Insert(0, chatMessage);
                UpdateTableViewRow();

                AllRequestResult result = null;
                var DocUrl = Environment.GetFolderPath(Environment.SpecialFolder.Personal);
                await Task.Run(async() =>
                {
                    result = await chatMessageService.UploadImage(DocUrl + "/" + FileName, "jpeg");
                });

                if (result.IsSuccess)
                {
                    chatMessage         = new ChatMessage();
                    chatMessage.Message = (string)result.Result;
                    chatMessage.Isme    = false;
                    chatMessage.Type    = 0;

                    IsSuccess = chatMessageService.CreateChatMessage(chatMessage);

                    if (IsSuccess)
                    {
                        chatMessageList.Insert(0, chatMessage);
                        UpdateTableViewRow();
                    }
                    else
                    {
                        SharedService.ShowErrorDialog("新增資料失敗", ViewController);
                        return;
                    }
                }
                else
                {
                    SharedService.WebExceptionHandler((WebException)result.Result, ViewController);
                }
            }
            else
            {
                SharedService.ShowErrorDialog("新增資料失敗", ViewController);
                return;
            }
        }
        public async void SendMessage()
        {
            HideKeyboard();
            Activity_Outer.RequestFocus();
            string Content = et_Message.Text;

            et_Message.Text = "";
            if (Content.Trim() == "")
            {
                Toast.MakeText(this, "請輸入內容", ToastLength.Short).Show();
                return;
            }

            tv_RMessage.Text       = Content;
            tv_RMessage.Visibility = ViewStates.Visible;
            iv_Frog.Visibility     = ViewStates.Gone;

            tv_LMessage.Text = "辨識中...";

            AllRequestResult result = null;
            await Task.Run(() =>
            {
                result = CreateMessage(Content);
            });

            if (result.IsSuccess)
            {
                string ResMessage = (string)result.Result;
                ResMessage       = ResMessage.Replace("\\n", "\n");
                tv_LMessage.Text = ResMessage;
            }
            else
            {
                tv_LMessage.Text = "辨識失敗";
                WebExceptionHandler((WebException)result.Result);
            }
        }
Beispiel #6
0
        public async void UploadWav(string AbsolutePath)
        {
            AllRequestResult result = null;
            await Task.Run(async() =>
            {
                result = await new SoundRecognitionService().SoundRecognition(AbsolutePath);
            });

            if (result.IsSuccess)
            {
                string FrogName = (string)result.Result;
                l_Result.Text = FrogName;
                if (FrogName == "台北樹蛙")
                {
                    iv_ResultFrogImage.Image = UIImage.FromBundle("tptreefrog");
                }
                else if (FrogName == "面天樹蛙")
                {
                    iv_ResultFrogImage.Image = UIImage.FromBundle("facefrog");
                }
                else if (FrogName == "澤蛙")
                {
                    iv_ResultFrogImage.Image = UIImage.FromBundle("waterfrog");
                }
                else if (FrogName == "小雨蛙")
                {
                    iv_ResultFrogImage.Image = UIImage.FromBundle("rainfrog");
                }
                else if (FrogName == "艾氏樹蛙")
                {
                    iv_ResultFrogImage.Image = UIImage.FromBundle("aistreefrog");
                }
                else if (FrogName == "拉都希氏赤蛙")
                {
                    iv_ResultFrogImage.Image = UIImage.FromBundle("ladofrog");
                }
                else if (FrogName == "虎皮蛙")
                {
                    iv_ResultFrogImage.Image = UIImage.FromBundle("lionskinfrog");
                }
                else if (FrogName == "豎琴蛙")
                {
                    iv_ResultFrogImage.Image = UIImage.FromBundle("harpfrog");
                }
                else if (FrogName == "布氏樹蛙")
                {
                    iv_ResultFrogImage.Image = UIImage.FromBundle("boostreefrog");
                }
                else if (FrogName == "貢德氏赤蛙")
                {
                    iv_ResultFrogImage.Image = UIImage.FromBundle("gondesfrog");
                }
                else
                {
                    iv_ResultFrogImage.Image = UIImage.FromBundle("people");
                }
            }
            else
            {
                SharedService.WebExceptionHandler((WebException)result.Result, this);
            }
        }