/**
         * Establish Database Connectivity and check for validity of login fields
         * and return the initial parameters from Login table for initializing the application
         */
        public AppData getLoginData(String username, String password, DesktopAppSample3.ISQLConnector dbConnector)
        {
            String sqlQuery = "SELECT * FROM userlogin WHERE username='******'"; //and userpassword=password and
                                                                                           //active="Y"
            AppData dataObj = null;

            try
            {
                dbConnector.openConnection();
                object[] loginDataArr = dbConnector.executeQuery(sqlQuery);
                if (loginDataArr != null && loginDataArr.Length > 0)
                {
                    dataObj = new AppData();                                        //DB Mapping field names
                    dataObj.setUsername(loginDataArr[4].ToString());                //username
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, AppConstants.APP_NAME, MessageBoxButtons.OK, MessageBoxIcon.Error);

                //dbConnector.closeConnection();

                throw new ApplicationException(ex.Message, ex);
            }
            finally
            {
                dbConnector.closeConnection();
            }
            return(dataObj);
        }
Пример #2
0
 /**
  * Set DB Connector Object
  */
 public void setDBConnector(DesktopAppSample3.ISQLConnector connObj)
 {
     dbConnector = connObj;
 }
        /**
         * Validate Login fields for valid entries and against database entries
         * and call the MDI MAIN Screen.
         */
        private void login()
        {
            //Create an instance of application validator
            AppValidator appValidatorObj = AppValidator.getValidatorInstance();

            //Check if Username field is empty
            if (txtUsername.Text == string.Empty)
            {
                txtFieldFocus(txtUsername);
                return;
            }

            //Get value of username and password
            String username = txtUsername.Text.Trim();

            //Validate Username for alphanumeric characters

            /*if (appValidatorObj.isValidField(username, 7))
             * {
             *  txtFieldFocus(txtUsername);
             * }
             * else
             * {
             *  lblStatus.Text = "1. Can contain digit or alphanumeric characters" + "\n" +
             *                   "2. Length at least 3 characters and maximum of 15";
             *  return;
             * }*/

            //Check if password field is empty
            if (txtPassword.Text == string.Empty)
            {
                txtFieldFocus(txtPassword);
                return;
            }

            String password = txtPassword.Text.Trim();
            //Validate Password for alphanumeric and special characters

            /*if (appValidatorObj.isValidField(password, 8))
             * {
             *  txtFieldFocus(txtPassword);
             * }
             * else
             * {
             *  lblStatus.Text = "Password :"******"1. Must contain at least one digit" + "\n" +
             *                               "2. Must contain at least one uppercase character." + "\n" +
             *                               "3. Must contain at least one special symbol" + "\n" +
             *                               "4. Length at least 8 characters and maximum of 15";
             *  return;
             * }*/

            /**
             * Establish Database Connectivity Based on type of Database Server(MS SQL SERVER if default type)
             * If MY SQL, use IConnector dbConnector = connectionObj.connectToServer("MY SQL");
             * SQL specific methods are stored in interface ISQLConnector which is child of IConnector interface.
             * Similiarly for other types of Database Servers
             * DB Connection takes the database connection string identifier from DbConnection.config file.
             * When "default" is passed, default connection identifier from config file is choosen.
             * Another instance of DBConnection is to be created to connect to different database for
             * file handling.
             */
            DBConnection connectionObj = new DBConnection(AppConstants.DEFAULT_DBCONN_IDENTIFIER);

            DesktopAppSample3.ISQLConnector dbConnector = (DesktopAppSample3.ISQLConnector)connectionObj.connectToServer(AppConstants.MS_SQL_SERVER);

            /**
             * Initialization fields of the application
             * is stored in AppData object. Validate input Username and Password
             * with the values in Database.
             */
            AppData dataObj = getLoginData(username, password, dbConnector);

            if (dataObj != null)
            {
                dataObj.setDBConnector(dbConnector);

                FrmMDIMain mainForm = new FrmMDIMain(); //Pass Data Object to Main Form for using the stored username and other fields.
                this.Hide();
                mainForm.Show();
                txtPassword.Text.Trim();
            }
            else //Invalid entries provided
            {
                lblStatus.Text = "Invalid Username/Password.";
            }
        }