private async void SaveMessage()
        {
            if (!string.IsNullOrWhiteSpace(this.OutText))
            {
                var connection = await this.apiService.CheckConnection();

                if (!connection.IsSuccess)
                {
                    await Application.Current.MainPage.DisplayAlert(
                        Languages.Error,
                        connection.Message,
                        Languages.AcceptDisplay);

                    return;
                }

                var loggerUser = MainViewModel.GetInstance().UserASP;
                var message    = new Message
                {
                    Sender         = loggerUser.Id,
                    Date           = DateTime.Now,
                    ConversationId = this.Conversation.ConversationId,
                    Text           = this.OutText,
                };

                var url        = Application.Current.Resources["APIMovilidad"].ToString();
                var prefix     = Application.Current.Resources["APIprefix"].ToString();
                var controller = Application.Current.Resources["MessagesController"].ToString();
                var response   = await this.apiService.PostAsync(
                    url, prefix, controller, message, Settings.TokenType, Settings.AccessToken);

                if (!response.IsSuccess)
                {
                    await Application.Current.MainPage.DisplayAlert(
                        Languages.Error,
                        response.Message,
                        Languages.AcceptDisplay);

                    return;
                }

                var mess       = (Message)response.Result;
                var newMessage = new MessageItemViewModel()
                {
                    Message = mess.Text,
                    Date    = mess.Date,
                    Sender  = mess.Sender,
                };

                var newMessageRT = new ChatMessage()
                {
                    Message = mess.Text,
                    User    = mess.Sender,
                };

                this.Messages.Add(newMessage);
                this.MessagesRT.Add(newMessageRT);
                this.OutText = string.Empty;
            }
        }
        public MyConversationsViewModel(RouteItemViewModel routeView)
        {
            instance        = this;
            this.apiService = new ApiService();
            this.route      = routeView;

            #region RealTime Section
            ChatMessage   = new MessageItemViewModel();
            ChatMessageRT = new ChatMessage();

            SendMessageCommand = new Command(async() => await SendMessage());
            ConnectCommand     = new Command(async() => await Connect());
            DisconnectCommand  = new Command(async() => await Disconnect());
            random             = new Random();
            #endregion

            LoadMessages();

            #if DEBUG
            var ip = "localhost";
            if (Device.RuntimePlatform == Device.Android)
            {
                ip = "10.0.2.2";
            }

            hubConnection = new HubConnectionBuilder()
                            .WithUrl($"http://{ip}:5000/chatHub")
                            .Build();
            #else
            hubConnection = new HubConnectionBuilder()
                            .WithUrl("http://movilidaducarealtime.azurewebsites.net/chatHub")
                            .Build();
            #endif

            hubConnection.Closed += async(error) =>
            {
                IsConnected = false;
                SendLocalMessage("Connection Closed...");
                await Task.Delay(random.Next(0, 5) * 1000);
                await Connect();
            };

            hubConnection.On <string, string>("ReceiveMessage", (user, message) =>
            {
                var finalMessage = new MessageItemViewModel
                {
                    Sender      = user,
                    Message     = message,
                    Date        = DateTime.Now,
                    ConectionId = this.Conversation.ConnectionId
                };

                if (user != MainViewModel.GetInstance().UserASP.Email)
                {
                    Messages.Add(finalMessage);
                }

                var finMessage = $"{user} says {message}";
                SendLocalMessage(finMessage);
            });

            hubConnection.On <string>("EnteredOrLeft", (message) =>
            {
                SendLocalMessage(message);
            });
        }