public async void LoginHandler()
        {
            try
            {
                _user.UserName = _user.UserName.Trim();
                string          hashedPassword = new SHA512Crypto().GetHashBase64String(_user.Password);
                LoggedUserModel loggedUser     = new LoggedUserModel();

                await Task.Run(() =>
                {
                    using (CoreContext context = new CoreContext())
                    {
                        User user = context.Users.FirstOrDefault(x => x.UserName.Equals(_user.UserName, StringComparison.InvariantCultureIgnoreCase) && x.PasswordHash.Equals(hashedPassword));
                        if (user != null)
                        {
                            loggedUser.ID              = user.ID;
                            loggedUser.UserName        = user.UserName;
                            loggedUser.FullName        = user.FullName;
                            loggedUser.Email           = user.Email;
                            loggedUser.IsAuthenticated = true;
                        }
                        else
                        {
                            loggedUser.IsAuthenticated = true;
                        }
                    }
                });

                GoToMainViewRequested?.Invoke(this, loggedUser);
            }
            catch (Exception ex)
            {
                LogHelper.LogException(new string[] { ex.ToString() });
            }
        }
        private async void RegisterHandler()
        {
            bool success = true;

            try
            {
                LoggedUserModel loggedUser = new LoggedUserModel();
                await Task.Run(() =>
                {
                    try
                    {
                        using (CoreContext context = new CoreContext())
                        {
                            User user = new User
                            {
                                UserName = UserRegisterModel.UserName,
                                Email    = UserRegisterModel.Email,
                                FullName = UserRegisterModel.FullName
                            };
                            user.PasswordHash = new SHA512Crypto().GetHashBase64String(UserRegisterModel.Password);
                            context.Users.Add(user);
                            int i   = context.SaveChanges();
                            success = i > 0;
                            if (success)
                            {
                                loggedUser.ID              = user.ID;
                                loggedUser.UserName        = user.UserName;
                                loggedUser.FullName        = user.FullName;
                                loggedUser.Email           = user.Email;
                                loggedUser.IsAuthenticated = true;
                            }
                            else
                            {
                                loggedUser.IsAuthenticated = false;
                            }
                        }
                    }
                    catch { }
                });

                GoToMainViewRequested?.Invoke(this, loggedUser);
            }
            catch (Exception ex)
            {
                LogHelper.LogException(new string[] { ex.ToString() });
            }
        }