public void updateAdminInfo()
 {
     List<Admin> adminList = DataServices.GetAdmins();
     foreach (Admin admin in adminList)
     {
         if (admin.username == a.username)
         {
             a = admin;
         }
     }
 }
 public void loadAdminInfo()
 {
     if (adminView == false)
     {
         a = mf.a;
         tbFullName.Text = a.fullname;
         tbAddress.Text = a.address;
         tbBirthdate.Text = a.birthdate;
         tbEmail.Text = a.email;
         tbContact.Text = a.contact;
     }
 }
 public MainForm(AdminLoginForm al, Admin a)
 {
     InitializeComponent();
     trayMenu = new ContextMenu();
     trayMenu.MenuItems.Add("Exit", OnExit);
     trayIcon = new NotifyIcon();
     trayIcon.Icon = new Icon(SystemIcons.Application, 40, 40);
     trayIcon.ContextMenu = trayMenu;
     trayIcon.Visible = true;
     trayIcon.Text = "The application is running...";
     try
     {
         f = new FileTransferForm(trayIcon);
         f.Show();
         f.Visible = false;
     }
     catch (Exception x)
     {
         MessageBox.Show("Error in Setting File Transfer: " + x.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     this.al = al;
     this.a = a;
 }
 private void btnAdd_Click(object sender, EventArgs e)
 {
     if (tbUsername.Text.Trim() == "" || tbPassword.Text == "" || tbConfirmPassword.Text == "")
     {
         MessageBox.Show("Please enter a username and password correctly.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
     }
     else
     {
         if (tbPassword.Text == tbConfirmPassword.Text)
         {
             if (admin)
             {
                 Admin a = new Admin(0, tbUsername.Text, tbPassword.Text, tbFullName.Text,
                     tbAddress.Text, tbBirthdate.Text, tbEmail.Text, tbContact.Text);
                 try
                 {
                     Result r = DataServices.SaveAdmin(a, false);
                     if (r.success == true)
                     {
                         MessageBox.Show(r.message, "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         uf.updateUsers();
                         this.Dispose();
                     }
                     else
                     {
                         MessageBox.Show(r.message, "Result", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                     }
                 }
                 catch (Exception x)
                 {
                     MessageBox.Show("Error in adding admin: " + x.Message, "Client Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
             }
             else
             {
                 User u = new User(0, tbUsername.Text, tbPassword.Text, tbFullName.Text,
             tbAddress.Text, tbBirthdate.Text, tbEmail.Text, tbContact.Text, DateTime.Today, 0, 0);
                 try
                 {
                     Result r = DataServices.SaveUser(u, false);
                     if (r.success == true)
                     {
                         MessageBox.Show(r.message, "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         uf.updateUsers();
                         this.Dispose();
                     }
                     else
                     {
                         MessageBox.Show(r.message, "Result", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                     }
                 }
                 catch (Exception x)
                 {
                     MessageBox.Show("Error in adding user: "******"Client Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
             }
         }
         else
         {
             MessageBox.Show("Password did match!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
         }
     }
 }
        internal static Result SaveAdmin(Admin a, bool update)
        {
            Result r = new Result();

            if (update)
            {
                cmd = new OleDbCommand("UPDATE Admins SET Fullname = ?, Address = ?, Birthdate = ?, Email = ?, Contact = ? WHERE ID = ?;", conn);

                try
                {
                    cmd.Parameters.Add("Fullname", OleDbType.VarChar).Value = a.fullname;
                    cmd.Parameters.Add("Address", OleDbType.VarChar).Value = a.address;
                    cmd.Parameters.Add("Birthdate", OleDbType.VarChar).Value = a.birthdate;
                    cmd.Parameters.Add("Email", OleDbType.VarChar).Value = a.email;
                    cmd.Parameters.Add("Contact", OleDbType.VarChar).Value = a.contact;
                    cmd.Parameters.Add("ID", OleDbType.Integer).Value = a.id;

                    cmd.ExecuteNonQuery();
                    r.success = true;
                    r.message = "Updating Admin Information Successful!";
                }
                catch (Exception e)
                {
                    MessageBox.Show("Error Occured: " + e.Message + " : " + e.Source, "Server Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    r.success = false;
                    r.message = "Updating Admin Information Failed!";
                }
            }
            else
            {
                List<Admin> adminList = GetAdmins();
                foreach (Admin admin in adminList)
                {
                    if (admin.username == a.username)
                    {
                        r.success = false;
                        r.message = "Username is already taken.";
                        return r;
                    }
                }
                cmd = new OleDbCommand("INSERT INTO Admins (Username, [Password], Fullname, Address, Birthdate, Email, Contact) VALUES(?, ?, ?, ?, ?, ?, ?)", conn);

                try
                {
                    cmd.Parameters.Add("Username", OleDbType.VarChar).Value = a.username;
                    cmd.Parameters.Add("Password", OleDbType.VarChar).Value = a.password;
                    cmd.Parameters.Add("Fullname", OleDbType.VarChar).Value = a.fullname;
                    cmd.Parameters.Add("Address", OleDbType.VarChar).Value = a.address;
                    cmd.Parameters.Add("Birthdate", OleDbType.VarChar).Value = a.birthdate;
                    cmd.Parameters.Add("Email", OleDbType.VarChar).Value = a.email;
                    cmd.Parameters.Add("Contact", OleDbType.VarChar).Value = a.contact;

                    cmd.ExecuteNonQuery();
                    r.success = true;
                    r.message = "Adding Admin Successful!";

                }
                catch (Exception e)
                {
                    MessageBox.Show("Error Occured: " + e.Message + " : " + e.Source, "Server Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

                    r.success = false;
                    r.message = "Adding Admin Failed!";
                }
            }
            return r;
        }
 internal static List<Admin> GetAdmins()
 {
     List<Admin> adminList = new List<Admin>();
     try
     {
         cmd = new OleDbCommand("SELECT * FROM Admins ORDER BY ID", conn);
         reader = cmd.ExecuteReader();
         while (reader.Read())
         {
             Admin a = new Admin(reader.GetInt32(0), reader.GetString(1), reader.GetString(2), reader.GetString(3),
                 reader.GetString(4), reader.GetString(5), reader.GetString(6), reader.GetString(7));
             adminList.Add(a);
         }
         reader.Close();
         return adminList;
     }
     catch (Exception e)
     {
         MessageBox.Show("Error getting admin list: " + e.Message, "Server Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
         return null;
     }
 }
        private void btnSaveInfo_Click(object sender, EventArgs e)
        {
            a = mf.a;
            a.fullname = tbFullName.Text;
            a.address = tbAddress.Text;
            a.birthdate = tbBirthdate.Text;
            a.email = tbEmail.Text;
            a.contact = tbContact.Text;

            Result r = DataServices.SaveAdmin(a, true);
            if (r.success)
            {
                MessageBox.Show(r.message, "Result", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show(r.message, "Result", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }