public EditAccountViewModel(int id)
        {
            Config  config         = Config.getInstance();
            Account currentAccount = config.accounts[id];

            SteamLink           = "https://steamcommunity.com/profiles/" + currentAccount.steamId64 + "/";
            SteamLogin          = currentAccount.login;
            SteamPassword       = currentAccount.password;
            ErrorMessage        = "";
            AccountsViewCommand = new RelayCommand(o =>
            {
                MainViewModel.AccountsViewCommand.Execute(null);
            });
            EditAccountAsyncCommand = new AsyncRelayCommand(async(o) => await editAccount(id, currentAccount.steamId64));
            EditAccountCommand      = new RelayCommand(o =>
            {
                SteamLinkValidation slv = new SteamLinkValidation(_steamLink);
                if (slv.getSteamLinkType() == SteamLinkValidation.steamLinkTypes.errorType)
                {
                    ErrorMessage = (string)Application.Current.FindResource("error_invalid_steamlink");
                }
                else if (SteamLogin == "" || SteamLogin.Contains(" "))
                {
                    if (SteamLogin == "")
                    {
                        ErrorMessage = (string)Application.Current.FindResource("error_empty_login");
                    }
                    else
                    {
                        ErrorMessage = (string)Application.Current.FindResource("error_invalid_login");
                    }
                }
                else if (SteamPassword == "")
                {
                    ErrorMessage = (string)Application.Current.FindResource("error_empty_password");
                }
                else
                {
                    if (SteamLink != "https://steamcommunity.com/profiles/" + currentAccount.steamId64 + "/")
                    {
                        config.accounts.RemoveAt(id);
                        config.accounts.Insert(id, new Model.Account(slv.getSteamId64(), SteamLogin, SteamPassword));
                    }
                    else
                    {
                        config.accounts[id].login    = SteamLogin;
                        config.accounts[id].password = SteamPassword;
                    }
                    config.saveChanges();
                    MainViewModel.AccountsViewCommand.Execute(null);
                }
            });
        }
Exemple #2
0
        private void OnConnected(SteamClient.ConnectedCallback callback)
        {
            if (callback == null)
            {
                return;
            }

            if (callback.Result != EResult.OK)
            {
                Logging.LogGenericError(BotName, "Unable to connect to Steam: " + callback.Result);
                return;
            }

            Logging.LogGenericInfo(BotName, "Connected to Steam!");

            byte[] sentryHash = null;
            if (File.Exists(SentryFile))
            {
                byte[] sentryFileContent = File.ReadAllBytes(SentryFile);
                sentryHash = CryptoHelper.SHAHash(sentryFileContent);
            }

            if (SteamLogin.Equals("null"))
            {
                SteamLogin = Program.GetUserInput(BotName, Program.EUserInputType.Login);
            }

            if (SteamPassword.Equals("null"))
            {
                SteamPassword = Program.GetUserInput(BotName, Program.EUserInputType.Password);
            }

            SteamUser.LogOn(new SteamUser.LogOnDetails {
                Username       = SteamLogin,
                Password       = SteamPassword,
                AuthCode       = AuthCode,
                TwoFactorCode  = TwoFactorAuth,
                SentryFileHash = sentryHash
            });
        }
        private async Task editAccount(int id, string steamId64)
        {
            Config config = Config.getInstance();

            if (CheckForInternetConnection())
            {
                var task = Task.Factory.StartNew(() =>
                {
                    SteamLinkValidation slv = new SteamLinkValidation(_steamLink);
                    if (slv.getSteamLinkType() == SteamLinkValidation.steamLinkTypes.errorType)
                    {
                        ErrorMessage = (string)Application.Current.FindResource("error_invalid_steamlink");
                    }
                    else if (SteamLogin == "" || SteamLogin.Contains(" "))
                    {
                        if (SteamLogin == "")
                        {
                            ErrorMessage = (string)Application.Current.FindResource("error_empty_login");
                        }
                        else
                        {
                            ErrorMessage = (string)Application.Current.FindResource("error_invalid_login");
                        }
                    }
                    else if (SteamPassword == "")
                    {
                        ErrorMessage = (string)Application.Current.FindResource("error_empty_password");
                    }
                    else
                    {
                        if (SteamLink != "https://steamcommunity.com/profiles/" + steamId64 + "/")
                        {
                            MainViewModel.AddOrEditAccountGridVisible = true;
                            MainViewModel.AddOrEditAccountTitle       = (string)Application.Current.FindResource("mw_account_editing");
                            config.accounts.RemoveAt(id);
                            string steamNickname, steamPicture;
                            int vacCount;
                            D2Rank d2Rank;
                            CSRank cSRank;
                            SteamParser steamParser = new SteamParser(slv.getSteamId64());
                            MainViewModel.AddOrEditAccountProgress = (string)Application.Current.FindResource("mw_account_steam_data");
                            steamParser.parseAccInfo();
                            steamParser.parseVacs();
                            steamNickname = steamParser.getNickname();
                            steamPicture  = steamParser.getSteamPicture();
                            vacCount      = steamParser.getVacCount();
                            Dota2RankParser d2RankParser           = new Dota2RankParser(slv.getSteamId64());
                            MainViewModel.AddOrEditAccountProgress = (string)Application.Current.FindResource("mw_account_dota2_data");
                            d2RankParser.parseDota2Rank();
                            d2Rank = d2RankParser.getD2Rank();
                            CSGORankParser cSRankParser            = new CSGORankParser(slv.getSteamId64());
                            MainViewModel.AddOrEditAccountProgress = (string)Application.Current.FindResource("mw_account_csgo_data");
                            cSRankParser.parseCSGORank();
                            cSRank = cSRankParser.getCSRank();
                            config.accounts.Insert(id, new Model.Account(slv.getSteamId64(), SteamLogin, SteamPassword,
                                                                         steamNickname, steamPicture, vacCount, d2Rank, cSRank));
                            MainViewModel.AddOrEditAccountGridVisible = false;
                            MainViewModel.AddOrEditAccountTitle       = "";
                            MainViewModel.AddOrEditAccountProgress    = "";
                        }
                        else
                        {
                            config.accounts[id].login    = SteamLogin;
                            config.accounts[id].password = SteamPassword;
                        }
                        config.saveChanges();
                        MainViewModel.AccountsViewCommand.Execute(null);
                    }
                });
                await task;
            }
            else
            {
                if (SteamLink == "https://steamcommunity.com/profiles/" + steamId64 + "/")
                {
                    config.accounts[id].login    = SteamLogin;
                    config.accounts[id].password = SteamPassword;
                    config.saveChanges();
                    MainViewModel.AccountsViewCommand.Execute(null);
                }
                else
                {
                    CustomMessageBox.show((string)Application.Current.FindResource("mb_no_internet_connection"));
                }
            }
        }
Exemple #4
0
        public static void Open(SteamLogin login = null, bool cache = true, string script = null, bool silent = false, bool bigpicture = false)
        {
            String arguments = String.Empty;

            if (login != null)
            {
                arguments += " -login " + login.User + " " + login.Password;
            }

            if (script != null)
            {
                arguments += " -script " + script;
            }

            if (!cache) arguments += " -nocache";
            if (silent) arguments += " -silent";
            if (bigpicture) arguments += " -tenfoot";

            arguments = arguments.Trim();

            if (!SteamClient.IsRunning())
            {
                if (arguments != String.Empty)
                    Process.Start(SteamClient.ProgramPath, arguments);
                else
                    Process.Start(SteamClient.ProgramPath);
            }
        }
 private async Task addAccount(object o)
 {
     var task = Task.Factory.StartNew(() =>
     {
         if (CheckForInternetConnection())
         {
             SteamLinkValidation slv = new SteamLinkValidation(_steamLink);
             if (slv.getSteamLinkType() == SteamLinkValidation.steamLinkTypes.errorType)
             {
                 ErrorMessage =
                     (string)Application.Current.FindResource(
                         "error_invalid_steamlink"); //"Некорректная ссылка на аккаунт стим.";
             }
             else if (SteamLogin == "" || SteamLogin.Contains(" "))
             {
                 if (SteamLogin == "")
                 {
                     ErrorMessage =
                         (string)Application.Current.FindResource(
                             "error_empty_login"); //"Поле с логином пустое.";
                 }
                 else
                 {
                     ErrorMessage =
                         (string)Application.Current.FindResource(
                             "error_invalid_login"); //"Некорректное поле с логином.";
                 }
             }
             else if (SteamPassword == "")
             {
                 ErrorMessage =
                     (string)Application.Current.FindResource(
                         "error_empty_password"); //"Поле с паролем пустое.";
             }
             else
             {
                 MainViewModel.AddOrEditAccountGridVisible = true;
                 MainViewModel.AddOrEditAccountTitle       =
                     (string)Application.Current.FindResource("mw_account_adding");
                 Config config = Config.getInstance();
                 string steamNickname, steamPicture;
                 int vacCount;
                 D2Rank d2Rank;
                 CSRank cSRank;
                 SteamParser steamParser = new SteamParser(slv.getSteamId64());
                 MainViewModel.AddOrEditAccountProgress =
                     (string)Application.Current.FindResource("mw_account_steam_data");
                 steamParser.parseAccInfo();
                 steamParser.parseVacs();
                 steamNickname = steamParser.getNickname();
                 steamPicture  = steamParser.getSteamPicture();
                 vacCount      = steamParser.getVacCount();
                 Dota2RankParser d2RankParser           = new Dota2RankParser(slv.getSteamId64());
                 MainViewModel.AddOrEditAccountProgress =
                     (string)Application.Current.FindResource("mw_account_dota2_data");
                 d2RankParser.parseDota2Rank();
                 d2Rank = d2RankParser.getD2Rank();
                 CSGORankParser cSRankParser            = new CSGORankParser(slv.getSteamId64());
                 MainViewModel.AddOrEditAccountProgress =
                     (string)Application.Current.FindResource("mw_account_csgo_data");
                 cSRankParser.parseCSGORank();
                 cSRank = cSRankParser.getCSRank();
                 config.accounts.Add(new Model.Account(slv.getSteamId64(), SteamLogin, SteamPassword,
                                                       steamNickname, steamPicture, vacCount, d2Rank, cSRank));
                 config.saveChanges();
                 MainViewModel.AccountsViewCommand.Execute(null);
                 MainViewModel.AddOrEditAccountGridVisible = false;
                 MainViewModel.AddOrEditAccountTitle       = "";
                 MainViewModel.AddOrEditAccountProgress    = "";
             }
         }
         else
         {
             CustomMessageBox.show((string)Application.Current.FindResource("mb_no_internet_connection"));
         }
     });
     await task;
 }