예제 #1
0
        /// <summary>
        /// Загружает значения элементов прав пользователя из базы данных.
        /// </summary>
        /// <param name="objProfile">Профиль пользователя.</param>
        /// <param name="nSQLUserID">Идентификатор пользователя.</param>
        public override System.Boolean LoadState(UniXP.Common.CProfile objProfile, System.Int32 nSQLUserID)
        {
            System.Data.SqlClient.SqlConnection db;
            System.Data.SqlClient.SqlCommand    cmd;
            System.Data.SqlClient.SqlDataReader rs;
            System.Boolean bRetCode = false;

            try
            {
                db              = objProfile.GetDBSource();
                cmd             = new System.Data.SqlClient.SqlCommand();
                cmd.Connection  = db;
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.CommandText = System.String.Format("[{0}].[dbo].[GetRightsFromID]", GetDBName());

                cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@UniXPUserID", System.Data.SqlDbType.Int, 4)).Value = nSQLUserID;
                cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@RightName", System.Data.DbType.String)).Value      = "";

                rs = cmd.ExecuteReader();
                if (rs.HasRows == true)
                {
                    while (rs.Read())
                    {
                        if (rs["ulUserID"] != System.DBNull.Value)
                        {
                            m_arRightsInfo[System.Convert.ToString(rs["strName"])] = new RIGHTINFO()
                            {
                                strName        = System.Convert.ToString(rs["strName"]),
                                strDescription = System.Convert.ToString(rs["strDescription"]),
                                bState         = System.Convert.ToBoolean(rs["bState"])
                            };
                        }
                    }
                }
                rs.Close();
                db.Close();
                bRetCode = true;
            }
            catch (System.Exception e)
            {
                // При работе с базой данных произошла ошибка
                System.Windows.Forms.MessageBox.Show(null, "LoadState\n" + e.Message,
                                                     "Ошибка", System.Windows.Forms.MessageBoxButtons.OK,
                                                     System.Windows.Forms.MessageBoxIcon.Error);
            }

            return(bRetCode);
        }
예제 #2
0
        /// <summary>
        /// Сохраняет состояния элементов прав пользователя.
        /// </summary>
        /// <param name="objProfile">Профиль пользователя.</param>
        /// <param name="nSQLUserID">Идентификатор пользователя.</param>
        public override System.Boolean SaveState(UniXP.Common.CProfile objProfile, System.Int32 nSQLUserID)
        {
            System.Data.SqlClient.SqlConnection db;
            System.Data.SqlClient.SqlCommand    cmd;
            System.Boolean bRetCode = false;
            System.Int32   res      = 0;

            try
            {
                db              = objProfile.GetDBSource();
                cmd             = new System.Data.SqlClient.SqlCommand();
                cmd.Connection  = db;
                cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.CommandText = System.String.Format("[{0}].[dbo].[SaveStateFromID]", GetDBName());
                cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((System.Byte)(0)), ((System.Byte)(0)), "", System.Data.DataRowVersion.Current, null));
                cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@UniXPUserID", System.Data.SqlDbType.Int, 4));
                cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@RightName", System.Data.DbType.String));
                cmd.Parameters.Add(new System.Data.SqlClient.SqlParameter("@bState", System.Data.SqlDbType.Bit));

                MoveFirst();
                for (System.Int32 ii = 0; ii < m_arRightsInfo.Count; ii++)
                {
                    cmd.Parameters["@UniXPUserID"].Value = nSQLUserID;
                    cmd.Parameters["@RightName"].Value   = m_strRightName;
                    cmd.Parameters["@bState"].Value      = m_bRightState;
                    cmd.ExecuteNonQuery();
                    res = (System.Int32)cmd.Parameters["@RETURN_VALUE"].Value;
                    if (res != 0)
                    {
                        //Нужно будет написать что-нибудь злобное.
                    }
                    MoveNext();
                }
                db.Close();
                bRetCode = true;
            }
            catch
            {
                // При работе с базой данных произошла ошибка
                bRetCode = false;
            }

            return(bRetCode);
        }
예제 #3
0
 /// <summary>
 /// Производит действия по обновлению при установке новой версии подключаемого модуля.
 /// </summary>
 /// <param name="objProfile">Профиль пользователя.</param>
 public override System.Boolean Update(UniXP.Common.CProfile objProfile)
 {
     return(true);
 }
예제 #4
0
 /// <summary>
 /// Выполняет операции по установке модуля в систему.
 /// </summary>
 /// <param name="objProfile">Профиль пользователя.</param>
 public override System.Boolean Install(UniXP.Common.CProfile objProfile)
 {
     return(true);
 }