public virtual bool Add(SystemUserRecord systemUserRecord)
        {
            if (UserIsNotValid(systemUserRecord))
                return false;

            string addUserString = PrepareAddString(systemUserRecord);

            return databaseManager.ExecuteInsert(addUserString);
        }
        public void add_system_user_return_false_when_system_user_is_not_valid()
        {
            mockDatabaseManager.Setup(mock => mock.ExecuteInsert(It.IsAny<string>())).Returns(true);

            sut.SetDatabaseManager(mockDatabaseManager.Object);

            SystemUserRecord systemUser = new SystemUserRecord { SystemUserName = USERNAME, SystemUserPassword = PASSWORD, Role = string.Empty };

            var result = sut.Add(systemUser);

            Assert.IsFalse(result);

            mockDatabaseManager.Verify(mock => mock.ExecuteInsert(It.IsAny<string>()),Times.Never());
        }
        public void add_system_user_returns_true_when_successfully_add_a_user()
        {
            mockDatabaseManager.Setup(mock => mock.ExecuteInsert(It.IsAny<string>())).Returns(true);

            sut.SetDatabaseManager(mockDatabaseManager.Object);

            SystemUserRecord systemUser = new SystemUserRecord {SystemUserName = USERNAME, SystemUserPassword = PASSWORD, Role = ROLE};

            var result = sut.Add(systemUser);

            Assert.IsTrue(result);

            mockDatabaseManager.Verify(mock => mock.ExecuteInsert("INSERT INTO SystemUserTable (username, userpassword, role) VALUES ( 'username','password','admin' )"), Times.Once());
        }
        private SystemUserRecord GetSystemUserWithDataGridViewSelectedRow(DataGridView view, int currentRow)
        {
            var systemUserRecord = new SystemUserRecord();

            systemUserRecord.ID =
                view.Rows[currentRow].Cells["Column_SystemUserID"].Value as string;
            systemUserRecord.SystemUserName =
                view.Rows[currentRow].Cells["Column_SystemUserName"].Value as string;
            systemUserRecord.SystemUserPassword =
                view.Rows[currentRow].Cells["Column_SystemUserPassword"].Value as string;
            systemUserRecord.Role =
                view.Rows[currentRow].Cells["Column_SystemUserRole"].Value as string;

            return systemUserRecord;
        }
        private void SystemUserView_UpdateSystemUser(object sender, EventArgs e)
        {
            SystemUserRecord systemUserRecord = new SystemUserRecord();

            systemUserRecord.ID = editSystemUserView.SystemUserID;
            systemUserRecord.SystemUserName = editSystemUserView.SystemUserName;
            systemUserRecord.SystemUserPassword = editSystemUserView.SystemUserPassword;
            systemUserRecord.Role = editSystemUserView.SystemUserRole;

            bool updateSystemUserResult = editSystemUserModel.Update(systemUserRecord);

            if (updateSystemUserResult)
            {
                classScheduleHelper.PopMessage(@"Update user success",
                                               @"Update user",
                                               MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                classScheduleHelper.PopMessage(@"Update user failed",
                                               @"Update user",
                                               MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
 private bool UserIsNotValid(SystemUserRecord systemUserRecord)
 {
     return string.IsNullOrEmpty(systemUserRecord.SystemUserName)
         || string.IsNullOrEmpty(systemUserRecord.SystemUserPassword)
         || string.IsNullOrEmpty(systemUserRecord.Role);
 }
 private string PrepareUpdateString(SystemUserRecord systemUserRecord)
 {
     return string.Format("UPDATE SystemUserTable " +
                          "SET username = \'{0}\' , " +
                          "userpassword = \'{1}\' , " +
                          "role = \'{2}\' " +
                          "WHERE ID = {3}",
                          systemUserRecord.SystemUserName, systemUserRecord.SystemUserPassword,
                          systemUserRecord.Role,systemUserRecord.ID);
 }
 private string PrepareAddString(SystemUserRecord systemUserRecord)
 {
     return string.Format("INSERT INTO SystemUserTable " +
                          "(username, userpassword, role) " +
                          "VALUES ( \'{0}\',\'{1}\',\'{2}\' )",
                          systemUserRecord.SystemUserName,
                          systemUserRecord.SystemUserPassword,
                          systemUserRecord.Role);
 }
        private List<SystemUserRecord> GetSystemUserListFromDataTable(DataTable systemUserTable)
        {
            var systemUserList = new List<SystemUserRecord>();

            if (systemUserTable == null)
                return systemUserList;

            foreach (DataRow dataRow in systemUserTable.Rows)
            {
                var systemUser = new SystemUserRecord();

                systemUser.ID = dataRow[0].ToString();
                systemUser.SystemUserName = dataRow[1].ToString();
                systemUser.SystemUserPassword = dataRow[2].ToString();
                systemUser.Role = dataRow[3].ToString();

                systemUserList.Add(systemUser);
            }

            return systemUserList;
        }
        public bool Update(SystemUserRecord systemUserRecord)
        {
            if (UserIsNotValid(systemUserRecord))
                return false;

            string updateUserString = PrepareUpdateString(systemUserRecord);

            return databaseManager.ExecuteUpdate(updateUserString);
        }
        private void SystemUserView_AddUser(object sender, EventArgs e)
        {
            SystemUserRecord systemUserRecord = new SystemUserRecord();
            systemUserRecord.SystemUserName = systemUserView.SystemUserName;
            systemUserRecord.SystemUserPassword = systemUserView.SystemUserPassword;
            systemUserRecord.Role = systemUserView.SystemUserRole;

            if (systemUserModel.Add(systemUserRecord))
            {
                classScheduleHelper.PopMessage("Add System User success");
            }else
            {
                classScheduleHelper.PopMessage("Add System User failed");
            }
        }
        public void update_system_user_return_true_when_successfully_update_a_user()
        {
            SystemUserRecord systemUser = new SystemUserRecord { ID = "1", SystemUserName = USERNAME, SystemUserPassword = PASSWORD, Role = ROLE };

            mockDatabaseManager.Setup(foo => foo.ExecuteUpdate(It.IsAny<string>())).Returns(true);
            sut.SetDatabaseManager(mockDatabaseManager.Object);

            var result = sut.Update(systemUser);
            Assert.IsTrue(result);

            mockDatabaseManager.Verify(foo => foo.ExecuteUpdate("UPDATE SystemUserTable SET username = \'username\' , userpassword = \'password\' , role = \'admin\' WHERE ID = 1"), Times.Once());
        }
        public void update_system_user_return_false_when_user_is_not_valid()
        {
            SystemUserRecord systemUser = new SystemUserRecord { ID = "1", SystemUserName = USERNAME, SystemUserPassword = PASSWORD, Role = string.Empty };

            mockDatabaseManager.Setup(foo => foo.ExecuteUpdate(It.IsAny<string>())).Returns(true);
            sut.SetDatabaseManager(mockDatabaseManager.Object);

            var result = sut.Update(systemUser);
            Assert.IsFalse(result);

            mockDatabaseManager.Verify(foo => foo.ExecuteUpdate(It.IsAny<string>()), Times.Never());
        }