Exemplo n.º 1
0
        private void DoUpdate()
        {
            string randomPassword = Core.Utils.GetRandomPassword();

            Core.Helpers.Database.ParameterBuilder paramBuilder = new Core.Helpers.Database.ParameterBuilder();
            paramBuilder.AddParameter(SqlDbType.Int, "@StaffId", this._staffId);
            paramBuilder.AddParameter(SqlDbType.VarChar, "@Password", randomPassword);

            using (SqlDataReader dataReader = Core.Helpers.Database.Provider.ExecuteReader("/Sql/Specific/Staff/Modify/Update/Teaching/accountreset.sql", paramBuilder.Parameters)) {
                dataReader.Read();

                switch ((int)dataReader["Status"])
                {
                case 0:
                    Core.WebServer.PleaseTakes.Redirect("/staff/unknownteaching/#Teaching");
                    break;

                case 1:
                    Core.Utils.SetTemporaryStorageObject("StaffTeachingAccountAlert", "resetnoaccount");
                    Core.WebServer.PleaseTakes.Redirect("/staff/modify/teaching/" + this._staffId + "/#Account");
                    break;

                case 2:
                    if (Core.WebServer.PleaseTakes.Session.CurrentInstance.Account.IsTeachingAccount)
                    {
                        Accounts.TeachingAccount account = (Accounts.TeachingAccount)Core.WebServer.PleaseTakes.Session.CurrentInstance.Account;

                        if (account.StaffId.Equals(this._staffId))
                        {
                            account.Password = randomPassword;
                        }
                    }

                    Core.Utils.SetTemporaryStorageObject("StaffTeachingAccountPassword", randomPassword);
                    Core.Utils.SetTemporaryStorageObject("StaffTeachingAccountAlert", "created");

                    Core.Utils.SetTemporaryStorageObject("StaffTeachingAccountAlert", "resetsuccess");
                    Core.WebServer.PleaseTakes.Redirect("/staff/modify/teaching/" + this._staffId + "/#Account");
                    break;
                }
            }
        }
Exemplo n.º 2
0
        private void DoUpdate()
        {
            string randomPassword = Core.Utils.GetRandomPassword();

            Core.Helpers.Database.ParameterBuilder paramBuilder = new Core.Helpers.Database.ParameterBuilder();
            paramBuilder.AddParameter(SqlDbType.Int, "@StaffId", this._staffId);
            paramBuilder.AddParameter(SqlDbType.Bit, "@HasAccount", this._hasAccount);

            if (Core.WebServer.PleaseTakes.Session.CurrentInstance.Account.IsTeachingAccount)
            {
                Accounts.TeachingAccount account = (Accounts.TeachingAccount)Core.WebServer.PleaseTakes.Session.CurrentInstance.Account;
                paramBuilder.AddParameter(SqlDbType.Int, "@CurrentStaffId", account.StaffId);
            }
            else
            {
                paramBuilder.AddParameter(SqlDbType.Int, "@CurrentStaffId", null);
            }

            if (this._hasAccount)
            {
                if (this.HasUsername() && this.HasAccountType() && this.HasAccountStatus())
                {
                    paramBuilder.AddParameter(SqlDbType.VarChar, "@Username", this._username);
                    paramBuilder.AddParameter(SqlDbType.VarChar, "@Password", randomPassword);
                    paramBuilder.AddParameter(SqlDbType.Bit, "@IsAdmin", this._isAdmin);
                    paramBuilder.AddParameter(SqlDbType.Bit, "@IsActive", this._isActive);
                }
                else
                {
                    Core.Utils.SetTemporaryStorageObject("StaffTeachingAccountAlert", "missing");
                    Core.WebServer.PleaseTakes.Redirect("/staff/modify/teaching/" + this._staffId + "/#Account");
                }
            }
            else
            {
                paramBuilder.AddParameter(SqlDbType.VarChar, "@Username", "");
                paramBuilder.AddParameter(SqlDbType.VarChar, "@Password", "");
                paramBuilder.AddParameter(SqlDbType.Bit, "@IsAdmin", false);
                paramBuilder.AddParameter(SqlDbType.Bit, "@IsActive", false);
                Core.WebServer.Response.Write("No account");
            }

            if (Core.WebServer.PleaseTakes.Session.CurrentInstance.School.Settings.NonTeachingAccounts.Exists(this._username))
            {
                Core.Utils.SetTemporaryStorageObject("StaffTeachingAccountAlert", "exists");
                Core.WebServer.PleaseTakes.Redirect("/staff/modify/teaching/" + this._staffId + "/#Account");
            }
            else
            {
                using (SqlDataReader dataReader = Core.Helpers.Database.Provider.ExecuteReader("/Sql/Specific/Staff/Modify/Update/Teaching/account.sql", paramBuilder.Parameters)) {
                    dataReader.Read();

                    switch ((int)dataReader["Status"])
                    {
                    case 0:
                        Core.WebServer.PleaseTakes.Redirect("/staff/unknownteaching/#Teaching");
                        break;

                    case 1:
                        Core.Utils.SetTemporaryStorageObject("StaffTeachingAccountAlert", "exists");
                        Core.WebServer.PleaseTakes.Redirect("/staff/modify/teaching/" + this._staffId + "/#Account");
                        break;

                    case 2:
                        if (Core.WebServer.PleaseTakes.Session.CurrentInstance.Account.IsTeachingAccount)
                        {
                            Accounts.TeachingAccount account = (Accounts.TeachingAccount)Core.WebServer.PleaseTakes.Session.CurrentInstance.Account;

                            if (account.StaffId.Equals(this._staffId))
                            {
                                account.Password = randomPassword;
                            }
                        }

                        Core.Utils.SetTemporaryStorageObject("StaffTeachingAccountAlert", "updated");
                        Core.WebServer.PleaseTakes.Redirect("/staff/modify/teaching/" + this._staffId + "/#Account");
                        break;

                    case 3:
                        if (Core.WebServer.PleaseTakes.Session.CurrentInstance.Account.IsTeachingAccount)
                        {
                            Accounts.TeachingAccount account = (Accounts.TeachingAccount)Core.WebServer.PleaseTakes.Session.CurrentInstance.Account;

                            if (account.StaffId.Equals(this._staffId))
                            {
                                account.Password = randomPassword;
                            }
                        }

                        Core.Utils.SetTemporaryStorageObject("StaffTeachingAccountPassword", randomPassword);
                        Core.Utils.SetTemporaryStorageObject("StaffTeachingAccountAlert", "created");
                        Core.WebServer.PleaseTakes.Redirect("/staff/modify/teaching/" + this._staffId + "/#Account");
                        break;

                    case 4:
                        Core.Utils.SetTemporaryStorageObject("StaffTeachingAccountAlert", "deleted");
                        Core.WebServer.PleaseTakes.Redirect("/staff/modify/teaching/" + this._staffId + "/#Account");
                        break;

                    case 5:
                        Core.WebServer.PleaseTakes.Redirect("/staff/modify/teaching/" + this._staffId + "/#Account");
                        break;

                    case 6:
                        Core.Utils.SetTemporaryStorageObject("StaffTeachingAccountAlert", "loggedin");
                        Core.WebServer.PleaseTakes.Redirect("/staff/modify/teaching/" + this._staffId + "/#Account");
                        break;
                    }
                }
            }
        }