//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()); } }