제목 : [5] Business Layer : Controller Class : MemoController.cs
    
    
        
            
                | 글번호: |  | 303 | 
            
                | 작성자: |  | 레드플러스 | 
            
                | 작성일: |  | 2008/07/16 오전 10:47:00 | 
            
            
                | 조회수: |  | 6193 | 
            
        
     
 
    
	
	
    
	using System;
using System.Data;
using System.Collections.Generic;//
namespace RedPlus.Modules.Memo
{
    public class MemoController
    {
        public static void AddMemo(MemoInfo objMemo)
        {
            DataProvider.Instance().AddMemo(objMemo.Name, objMemo.Email, objMemo.Title, objMemo.PostIP);
        }
        public static List<MemoInfo> GetMemos(int page)
        {
            //[1] Input : MemoInfo 타입의 List 제네릭 클래스 선언
            List<MemoInfo> lstMemo = new List<MemoInfo>();
            //[2] Process : 넘겨온 데이터만큼 lstMemo에 행 추가
            using (IDataReader objDr = // using구문이 끝나면 objDr닫힘
                DataProvider.Instance().GetMemos(page))
            {
                while (objDr.Read())
                {
                    MemoInfo objMemo = new MemoInfo();//레코드 하나씩 받기
                    objMemo.Num = Convert.ToInt32(objDr["Num"]);
                    objMemo.Name = objDr.GetString(1);
                    objMemo.Email = objDr["Email"].ToString();
                    objMemo.Title = objDr["Title"].ToString();
                    objMemo.PostDate = Convert.ToDateTime(objDr["PostDate"]);
                    objMemo.PostIP = objDr["PostIP"].ToString();
                    lstMemo.Add(objMemo);// 레코드 하나씩 저장
                }
            }
            //[3] Output
            return lstMemo; // List<T> 형태로 반환
        }
        public static int GetTotalMemo()
        {
            return DataProvider.Instance().GetTotalMemo();
        }
        public static int GetTotalFindMemo(string searchField, string searchQuery)
        {
            return DataProvider.Instance().GetTotalFindMemo(searchField, searchQuery);
        }
        public static List<MemoInfo> FindMemos(
            string strSearchField, string strSearchQuery)
        {
            //[1] Input : MemoInfo 타입의 List 제네릭 클래스 선언
            List<MemoInfo> lstMemo = new List<MemoInfo>();
            //[2] Process : 넘겨온 데이터만큼 lstMemo에 행 추가
            using (IDataReader objDr = // using구문이 끝나면 objDr닫힘
                DataProvider.Instance().FindMemos(strSearchField, strSearchQuery))
            {
                while (objDr.Read())
                {
                    MemoInfo objMemo = new MemoInfo();//레코드 하나씩 받기
                    objMemo.Num = Convert.ToInt32(objDr["Num"]);
                    objMemo.Name = objDr.GetString(1);
                    objMemo.Email = objDr["Email"].ToString();
                    objMemo.Title = objDr["Title"].ToString();
                    objMemo.PostDate = Convert.ToDateTime(objDr["PostDate"]);
                    objMemo.PostIP = objDr["PostIP"].ToString();
                    lstMemo.Add(objMemo);// 레코드 하나씩 저장
                }
            }
            //[3] Output
            return lstMemo; // List<T> 형태로 반환        }
        }
        public static List<MemoInfo> GetFindMemos(
            int intPage, string strSearchField, string strSearchQuery)
        {
            //[1] Input : MemoInfo 타입의 List 제네릭 클래스 선언
            List<MemoInfo> lstMemo = new List<MemoInfo>();
            //[2] Process : 넘겨온 데이터만큼 lstMemo에 행 추가
            using (IDataReader objDr = // using구문이 끝나면 objDr닫힘
                DataProvider.Instance().GetFindMemos(intPage, strSearchField, strSearchQuery))
            {
                while (objDr.Read())
                {
                    MemoInfo objMemo = new MemoInfo();//레코드 하나씩 받기
                    objMemo.Num = Convert.ToInt32(objDr["Num"]);
                    objMemo.Name = objDr.GetString(1);
                    objMemo.Email = objDr["Email"].ToString();
                    objMemo.Title = objDr["Title"].ToString();
                    objMemo.PostDate = Convert.ToDateTime(objDr["PostDate"]);
                    objMemo.PostIP = objDr["PostIP"].ToString();
                    lstMemo.Add(objMemo);// 레코드 하나씩 저장
                }
            }
            //[3] Output
            return lstMemo; // List<T> 형태로 반환        }
        }
    }
}