IList <ManagerUser> IManagerUserStorage.ListManagerUser(
            QueryManagerUser pQueryManagerUser)
        {
            List <ManagerUser> managerUserList = null;
            SqlConnection      conn;
            IDataReader        reader;

            try
            {
                Verify.ArgumentNotNull(pQueryManagerUser, "pQueryManagerUser");

                conn = new SqlConnection(
                    ConfigurationManager
                    .ConnectionStrings["DEFAULT"].ToString());

                conn.Open();

                reader = ManagerUserSelectWrapper.ExecuteReader(
                    conn,
                    pQueryManagerUser);

                if (reader != null)
                {
                    managerUserList = new List <ManagerUser>();

                    while (reader.Read())
                    {
                        ManagerUser myManagerUser = DAUtil.ReadManagerUser(
                            reader);

                        managerUserList.Add(myManagerUser);
                    }
                }

                conn.Close();
            }
            catch (Exception ex)
            {
                switch (ex.GetType().FullName)
                {
                case "System.ArgumentNullException":
                {
                    throw new ArgumentNullException(ex.Message);
                }

                case "System.ArgumentException":
                {
                    throw new ArgumentException(ex.Message);
                }

                default:
                    throw new Exception(ex.Message);
                }
            }

            return(managerUserList);
        }
        ManagerUser IManagerUserStorage.ReadManagerUser(int pUserId)
        {
            ManagerUser   myManagerUser = null;
            SqlConnection conn          = null;
            IDataReader   reader        = null;

            try
            {
                Verify.ArgumentNotNull(pUserId);

                myManagerUser = new ManagerUser();

                conn = new SqlConnection(
                    ConfigurationManager
                    .ConnectionStrings["DEFAULT"].ToString());

                conn.Open();

                reader = ManagerUserByUserIdSelectWrapper.ExecuteReader(
                    conn,
                    pUserId);

                if (!reader.Read())
                {
                    throw new Exception("ManagerUser read failure!");
                }

                myManagerUser = DAUtil.ReadManagerUser(reader);

                conn.Close();
            }
            catch (Exception ex)
            {
                switch (ex.GetType().FullName)
                {
                case "System.ArgumentNullException":
                {
                    throw new ArgumentNullException(ex.Message);
                }

                case "System.ArgumentException":
                {
                    throw new ArgumentException(ex.Message);
                }

                default:
                    throw new Exception(ex.Message);
                }
            }

            #region Dispose

            finally
            {
                if (reader != null)
                {
                    reader.Dispose();
                }

                if (conn != null)
                {
                    conn.Dispose();
                }
            }

            #endregion

            return(myManagerUser);
        }