Пример #1
0
        private void DoUpdate()
        {
            Core.Helpers.Database.ParameterBuilder paramBuilder = new Core.Helpers.Database.ParameterBuilder();
            paramBuilder.AddParameter(SqlDbType.Int, "@StaffId", this._staffId);
            paramBuilder.AddParameter(SqlDbType.VarChar, "@Title", this._name.Title);
            paramBuilder.AddParameter(SqlDbType.VarChar, "@Forename", this._name.Forename);
            paramBuilder.AddParameter(SqlDbType.VarChar, "@Surname", this._name.Surname);
            paramBuilder.AddParameter(SqlDbType.VarChar, "@HoldingName", this._name.HoldingName);

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

                if ((bool)dataReader["Status"])
                {
                    if (Core.WebServer.PleaseTakes.Session.CurrentInstance.Account.IsTeachingAccount)
                    {
                        UserManagement.Accounts.TeachingAccount account = (UserManagement.Accounts.TeachingAccount)Core.WebServer.PleaseTakes.Session.CurrentInstance.Account;

                        if (account.StaffId.Equals(this._staffId))
                        {
                            account.Title       = this._name.Title;
                            account.Forename    = this._name.Forename;
                            account.Surname     = this._name.Surname;
                            account.HoldingName = this._name.HoldingName;
                        }
                    }

                    Core.WebServer.PleaseTakes.Redirect("/staff/modify/teaching/" + this._staffId + "/namesuccess/");
                }
                else
                {
                    Core.WebServer.PleaseTakes.Redirect("/staff/unknownteaching/#Teaching");
                }
            }
        }
Пример #2
0
        public override string ToString()
        {
            switch (this._type)
            {
            case Types.Login:
                Constructor login = new Constructor("/Templates/Elements/Topright/login.html");
                login.SetVariable("SchoolId", WebServer.PleaseTakes.Session.CurrentInstance.School.SchoolID);

                if (string.IsNullOrEmpty(WebServer.PleaseTakes.Session.CurrentInstance.School.Authority))
                {
                    login.DeleteVariable("Authority");
                }
                else
                {
                    login.SetVariable("Authority", "<br />" + WebServer.PleaseTakes.Session.CurrentInstance.School.Authority);
                }

                return(login.ToString());

            case Types.Standard:
                Constructor standard = new Constructor("/Templates/Elements/Topright/standard.html");

                if (WebServer.PleaseTakes.Session.CurrentInstance.Account.IsTeachingAccount)
                {
                    UserManagement.Accounts.TeachingAccount account = (UserManagement.Accounts.TeachingAccount)WebServer.PleaseTakes.Session.CurrentInstance.Account;
                    string replacement = "<span class=\"Teaching\"><strong>";

                    if (!((string.IsNullOrEmpty(account.Forename)) || (string.IsNullOrEmpty(account.Surname))))
                    {
                        replacement += account.Forename + " " + account.Surname;
                    }

                    replacement += "</strong>";

                    if (!string.IsNullOrEmpty(account.HoldingName))
                    {
                        replacement += " (" + account.HoldingName + ")";
                    }

                    replacement += "</span>";

                    standard.SetVariable("CurrentUser", replacement);
                }
                else
                {
                    standard.SetVariable("CurrentUser", "<strong class=\"NonTeaching\">" + WebServer.PleaseTakes.Session.CurrentInstance.Account.Forename + " " + WebServer.PleaseTakes.Session.CurrentInstance.Account.Surname + "</strong>");
                }

                // sort out "teaching" name. then get to work on cover :)


                return(standard.ToString());
            }

            return("");
        }
Пример #3
0
        private void SetPassword()
        {
            Core.WebServer.PleaseTakes.Session.CurrentInstance.Account.Password = this._new;

            if (Core.WebServer.PleaseTakes.Session.CurrentInstance.Account.IsTeachingAccount)
            {
                Helpers.Database.ParameterBuilder       paramBuilder = new Helpers.Database.ParameterBuilder();
                UserManagement.Accounts.TeachingAccount account      = (UserManagement.Accounts.TeachingAccount)Core.WebServer.PleaseTakes.Session.CurrentInstance.Account;

                paramBuilder.AddParameter(SqlDbType.Int, "@StaffId", account.StaffId);
                paramBuilder.AddParameter(SqlDbType.VarChar, "@NewPassword", account.Password);

                using (TransactionScope transactionScope = new TransactionScope()) {
                    Helpers.Database.Provider.ExecuteNonQuery("/Sql/Specific/Account/password.sql", paramBuilder.Parameters);
                    transactionScope.Complete();
                }
            }

            Core.WebServer.PleaseTakes.Redirect("/account/passwordsuccess/#Password");
        }
Пример #4
0
        private static void Checks(bool inDatabase)
        {
            if (inDatabase)
            {
                Helpers.Database.ParameterBuilder paramBuilder = new Helpers.Database.ParameterBuilder();
                paramBuilder.AddParameter(SqlDbType.VarChar, "@Username", Action.Username);
                paramBuilder.AddParameter(SqlDbType.VarChar, "@Password", Action.Password);

                using (SqlDataReader dataReader = Helpers.Database.Provider.ExecuteReader("/Sql/Specific/Login/retrieve.sql", paramBuilder.Parameters)) {
                    int timetableId;

                    if (dataReader.Read())
                    {
                        if (!int.TryParse(dataReader["TimetableId"].ToString(), out timetableId))
                        {
                            Redirects.MissingTimetableId();
                        }
                        else
                        if ((bool)dataReader["IsActive"])
                        {
                            // Temporary
                            if ((bool)dataReader["IsAdmin"])
                            {
                                UserManagement.Accounts.TeachingAccount account = new UserManagement.Accounts.TeachingAccount(
                                    dataReader["Username"] as string,
                                    dataReader["Password"] as string,
                                    dataReader["Title"] as string,
                                    dataReader["Forename"] as string,
                                    dataReader["Surname"] as string,
                                    dataReader["HoldingName"] as string,
                                    (int)dataReader["StaffId"],
                                    (int)dataReader["TimetableId"],
                                    (bool)dataReader["IsActive"],
                                    (bool)dataReader["IsAdmin"]);

                                Action.LoginUser(account);
                            }
                            // Temporary
                            else
                            {
                                Action.Redirects.NonAdmin();
                            }
                        }
                        else
                        {
                            Action.Redirects.Disabled();
                        }
                    }
                    else
                    {
                        Action.Redirects.Invalid();
                    }
                }
            }
            else
            {
                UserManagement.Accounts.Account account = WebServer.PleaseTakes.Session.CurrentInstance.School.Settings.NonTeachingAccounts[Action.Username];

                if (account.Password.Equals(Action.Password))
                {
                    if (account.IsActive)
                    {
                        Action.LoginUser(account);
                    }
                    else
                    {
                        Action.Redirects.Disabled();
                    }
                }
                else
                {
                    Action.Redirects.Invalid();
                }
            }
        }