using System; using System.Linq; using System.Web.UI; using Common; //20181109 - Hide Disabled Accounts by default - maanie public partial class AdminOperators : Page { protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) return; using (var db = new DataModel()) { //20181109 - Hide Disabled Accounts by default - maanie var operators = db.OperatorLogins.Where(o => o.OperatorLoginId > 1 && o.OperatorRoleId != 2).Select(s => new { s.OperatorLoginId, s.Username, s.OperatorRoleId, s.OperatorRole.RoleName }).ToList(); OperatorsTable.DataSource = operators; OperatorsTable.DataBind(); } } protected void NewOperator_Click(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(Username.Text) || Username.Text.Length < 4) throw new Exception("Username too short"); if (string.IsNullOrEmpty(Password.Text) || Password.Text.Length < 4) throw new Exception("Password too short"); using (var db = new DataModel()) { if (db.OperatorLogins.Any(o => o.Username == Username.Text)) throw new Exception("Username already exists"); db.OperatorLogins.Add(new OperatorLogin {Username = Username.Text, Password = Password.Text, OperatorRoleId = 2, OperatorShift = ""}); db.SaveChanges(); Response.RedirectToRoute("admin-operators"); } } catch (Exception ex) { ScriptManager.RegisterStartupScript(this, typeof (Page), "AlertMessage", string.Format("alert('{0}');", ex.Message), true); } } protected void chkShowDisabled_CheckedChanged(object sender, EventArgs e) { using (var db = new DataModel()) { if (chkShowDisabled.Checked == true) { var operators = db.OperatorLogins.Where(o => o.OperatorLoginId > 1).Select(s => new { s.OperatorLoginId, s.Username, s.OperatorRoleId, s.OperatorRole.RoleName }).ToList(); OperatorsTable.DataSource = operators; OperatorsTable.DataBind(); } else { var operators = db.OperatorLogins.Where(o => o.OperatorLoginId > 1 && o.OperatorRoleId != 2).Select(s => new { s.OperatorLoginId, s.Username, s.OperatorRoleId, s.OperatorRole.RoleName }).ToList(); OperatorsTable.DataSource = operators; OperatorsTable.DataBind(); } } } }