퇴근5분전

이 프로그램은 SBS 전자자막의뢰 웹사이트 구축시 만들어 사용하던 프로그램으로

DB와 연동시켜 DB프로시져를 자동생성하고 생성된 프로시져를 통해서

비지니스레이어부분을 자동생성처리 하는 프로그램임.

장점 : 반복되는 비지니스 레이어를 손쉽게 1분안에 만들어낼수 있는 것으로 작업시간을 줄일수 있음.


사용자 삽입 이미지
                              << 테이블 정보를 가져와 프로시져를 생성한 모습 >>

사용자 삽입 이미지
                                          << 프로시져 정보를 가져온 모습 >>

1. 캡슐화 할 클래스명과 기능명을 입력 후
2. 코드 만들기를 누르면 비지니스처리 코드와 비지니스 코드를 실제 이용하는 로직에 대한
코드까지 가져옴.

<< 만들어진 코드 >>
/* BSL 구현에서 반복작업을 줄이기 위해 만들어내는 코드임( 버그 주의 ) */
using FrameWork.DB.DAC;
using System.Data.SqlClient;

namespace FrameWork.DB.BSL
{
 public class _TempClassName_ : ValidateQuery, IDisposable
 {

  public bool _TempMethodName_(params object[] objParams)
  {
   bool returnValue  = false;

   try
   {
    using (DataAccess dac = new DataAccess())
    {
     SqlParameter[] sqlparams = new SqlParameter[objParams.Length];
     sqlparams[0] = new SqlParameter("@Num", SqlDbType.Int);
     sqlparams[1] = new SqlParameter("@T1", SqlDbType.NChar,10);
     sqlparams[2] = new SqlParameter("@T2", SqlDbType.NChar,10);
     sqlparams[3] = new SqlParameter("@T3", SqlDbType.NChar,10);
     sqlparams[4] = new SqlParameter("@T4", SqlDbType.NChar,10);

     for(int cnt  = 0; cnt < objParams.Length ; cnt++)
     {
      this.Validate(sqlparams[cnt].SqlDbType, objParams[cnt]);
      sqlparams[cnt].Value = (objParams[cnt] == null ? DBNull.Value : objParams[cnt]);
     }

     returnValue = dac.TransactionProcedure("UP_Table_1_REGISTER", sqlparams);
    }
   }
   catch(Exception exception)
   {
    throw exception;
   }
   return returnValue;
  }

  public void Dispose()
  {
   // throw new Exception("The method or operation is not implemented.");
  }
 }
}

<< cs 에서 Bsl을 사용하는 코드 >>

/* .cs내에 사용하는 메서드 내부에서 사용하는 코드임.*/
public void _TempMethodName_()
{
 try
 {
  using(FrameWork.DB.BSL._TempClassName_ _tempclassname_1 = new FrameWork.DB.BSL._TempClassName_())
  {
   object[] UserParam = new object[5];

   UserParam[0] = DBNull.Value;  //@Num
   UserParam[1] = DBNull.Value;  //@T1
   UserParam[2] = DBNull.Value;  //@T2
   UserParam[3] = DBNull.Value;  //@T3
   UserParam[4] = DBNull.Value;  //@T4

   if (_tempclassname_1._TempMethodName_(UserParam) == false)
   {
    ErrorMessage = "실패했습니다.";
   }
   else
   {
    //성공후 이뤄지는 처리
   }
  }
 }
 catch(Exception ex)
 {
  ErrorMessage = ex.Message;
 }
}

}

'# 2) .Net ( Vs 2005 ) > WinForm' 카테고리의 다른 글

판넬 슬라이드 애니메이션  (0) 2009.05.01
데이타베이스 브라우져 ver3  (0) 2009.05.01
다각형 내부 클릭 체크.  (0) 2009.05.01
유저컨트롤-[도구모음]  (0) 2009.05.01
이미지뷰어!  (0) 2009.05.01