public Int32 Logon(string UsrNam, string UsrPwd)
    {
        Int32 UserId = 0;
        ClassEncrypt oEnc = new ClassEncrypt();
        DataSet oDs;

        oDs = Db.SqlQuery(string.Format("SELECT UserId FROM tblUsers WHERE (UserName = '******') AND (Password = '******')", UsrNam, oEnc.Encrypt(UsrPwd)));

        if (Db.HasRecord(oDs) == true)
        {
            //	User has been found.

            UserId = Convert.ToInt32(oDs.Tables[0].Rows[0]["UserId"].ToString());
        }

        return UserId;
    }
    public int Save(int UsrId)
    {
        int nRetVal = 0;

        try
        {
            ClassEncrypt oEnc = new ClassEncrypt();

            nRetVal = Db.SaveUser(UsrId, this.m_TeamId, this.m_UserGroupId, this.m_UserName,
                oEnc.Encrypt(this.m_Password), this.m_Surname, this.m_Forename,
                this.m_EmailAddress, this.m_HourlyRate);

            nRetVal = Load(nRetVal);
        }

        catch (Exception ex)
        {
            Log.LogMsg(ex.Message);
            nRetVal = -1;
        }

        return nRetVal;
    }
    public int Load(int UsrId)
    {
        int nRetVal = 0;

        try
        {
            Init();

            string SqlStr = string.Format("SELECT *, (SELECT UserGroupPermissions FROM tblUserGroups AS B " +
                "WHERE (B.UserGroupId = A.UserGroupId)) " +
                "AS Permissions FROM tblUsers AS A WHERE UserId = {0}", UsrId);
            DataSet oDs = Db.SqlQuery(SqlStr);

            if (Db.HasRecord(oDs) == true)
            {
                DataRow oDr = oDs.Tables[0].Rows[0];
                ClassEncrypt oEnc = new ClassEncrypt();

                this.m_UserId = (oDr["UserId"] == System.DBNull.Value) ? 0 : Convert.ToInt32(oDr["UserId"]);
                this.m_TeamId = (oDr["TeamId"] == System.DBNull.Value) ? 0 : Convert.ToInt32(oDr["TeamId"]);
                this.m_UserGroupId = (oDr["UserGroupId"] == System.DBNull.Value) ? 0 : Convert.ToInt32(oDr["UserGroupId"]);
                this.m_UserName = (oDr["UserName"] == System.DBNull.Value) ? "" : oDr["UserName"].ToString();

                if (oDr["Password"] == System.DBNull.Value)
                {
                    this.m_Password = "";
                }
                else
                {
                    this.m_Password = oEnc.Decrypt(oDr["Password"].ToString());
                }

                this.m_Surname = (oDr["Surname"] == System.DBNull.Value) ? "" : oDr["Surname"].ToString();
                this.m_Forename = (oDr["Forename"] == System.DBNull.Value) ? "" : oDr["Forename"].ToString();
                this.m_EmailAddress = (oDr["EmailAddress"] == System.DBNull.Value) ? "" : oDr["EmailAddress"].ToString();
                this.m_HourlyRate = (oDr["HourlyRate"] == System.DBNull.Value) ? 0 : (float)Math.Round(Convert.ToDouble(oDr["HourlyRate"].ToString()), 2);
                this.m_Permissions = (oDr["Permissions"] == System.DBNull.Value) ? 0 : Convert.ToInt32(oDr["Permissions"]);

                nRetVal = this.m_UserId;
            }
        }

        catch (Exception ex)
        {
            Log.LogMsg(ex.Message);
            nRetVal = -1;
        }

        return nRetVal;
    }