//Sign In Action
        public async Task <IActionResult> Index(LoginViewModel loginViewModel)
        {
            if (LoginInfoNotNullOrEmpty(loginViewModel))
            {
                var result = userDataStore.CheckUserCredential(loginViewModel.Username, loginViewModel.Password);

                LogUser.Token = userDataStore.LoginCredential(loginViewModel.Username, loginViewModel.Password);

                if (result != null)
                {
                    LogUser.ComunicationService = new ComunicationService();


                    Task.Run(async() =>
                    {
                        await LogUser.ComunicationService.Connect();
                    }).Wait();

                    LogUser.LoginUser = result;


                    LogUser.UsersConnected = new UsersConnected()
                    {
                        HubConnectionID = LogUser.ComunicationService.hubConnection.ConnectionId,
                        UserID          = result.UserId,
                        IsDisable       = false,
                        ConnecteDate    = DateTime.Now
                    };


                    bool isConnectionWasModify = await userConnectedDataStore.ModifyOldConnections(LogUser.UsersConnected);

                    var hub_connection_result = await userConnectedDataStore.AddItemAsync(LogUser.UsersConnected);


                    var stores = new List <Store>(result.Stores.Where(s => s.IsDisable == false));


                    LogUser.LoginUser.Stores = stores;
                    if (stores.Count() > 0)
                    {
                        SelectedStore.CurrentStore = stores[0];
                    }
                    else
                    {
                        return(RedirectToAction("RegisterControl", "Store"));
                    }

                    return(RedirectToAction("HomeStore", "Store", new { StoreId = SelectedStore.CurrentStore.StoreId }));
                }
                else
                {
                    ViewBag.ErrorMsg = "Error";
                    return(View());
                }
            }
            else
            {
                return(View());
            }
        }