Beispiel #1
0
        /// <summary>
        /// AddLink : 링크 저장, EL를 사용한 저장(Insert) 패턴
        /// </summary>
        public int AddLink(LinkModel link)
        {
            // SQL 구문
            string sql = "Insert Into Links(Title, Url, ViewOrder, Description) Values(@Title, @Url, @ViewOrder, @Description)";
            // 커넥션
            Database db = (new DatabaseProviderFactory()).Create("ConnectionString");
            // 커멘드
            DbCommand cmd = db.GetSqlStringCommand(sql);

            // 파라미터 추가
            db.AddInParameter(cmd, "@Title", DbType.String, link.Title);
            db.AddInParameter(cmd, "@Url", DbType.String, link.Url);
            db.AddInParameter(cmd, "@ViewOrder", DbType.Int32, link.ViewOrder);
            db.AddInParameter(cmd, "@Description", DbType.String, link.Description);
            // 실행
            int result = db.ExecuteNonQuery(cmd);

            // 결과값 반환
            return(result);
        }
Beispiel #2
0
        /// <summary>
        /// 단일 링크에 대한 정보를 반환
        /// </summary>
        /// <param name="id">LinkId</param>
        /// <returns>LinkModel 타입</returns>
        public LinkModel GetLink(int id)
        {
            LinkModel link = new LinkModel();

            // SQL 구문
            string sql = "Select * From Links Where Id = @Id";

            // Database 클래스의 인스턴스 생성
            Database db = (new DatabaseProviderFactory()).Create("ConnectionString");

            // DbCommand 생성
            DbCommand cmd = db.GetSqlStringCommand(sql);

            // 파라미터 추가
            db.AddInParameter(cmd, "@Id", DbType.Int32, id);

            // 실행 후 결과값 받기
            bool isnull = true;

            using (IDataReader objReader = db.ExecuteReader(cmd))
            {
                while (objReader.Read())
                {
                    isnull           = false;
                    link.Id          = objReader["Id"] != DBNull.Value ? Convert.ToInt32(objReader["Id"]) : 0;
                    link.PortalId    = objReader["PortalId"] != DBNull.Value ? Convert.ToInt32(objReader["PortalId"]) : 0;
                    link.CreatedDate = objReader["CreatedDate"] != DBNull.Value ? Convert.ToDateTime(objReader["CreatedDate"]) : DateTime.MinValue;
                    link.Title       = objReader["Title"] != DBNull.Value ? Convert.ToString(objReader["Title"]) : null;
                    link.Url         = objReader["Url"] != DBNull.Value ? Convert.ToString(objReader["Url"]) : null;
                    link.ViewOrder   = objReader["ViewOrder"] != DBNull.Value ? Convert.ToInt32(objReader["ViewOrder"]) : 0;
                    link.Description = objReader["Description"] != DBNull.Value ? Convert.ToString(objReader["Description"]) : null;
                }
            }

            if (isnull)
            {
                return(null);
            }

            return(link);
        }
Beispiel #3
0
        /// <summary>
        /// 링크 정보 업데이트
        /// </summary>
        /// <param name="link"></param>
        /// <returns></returns>
        public LinkModel UpdateLink(LinkModel link)
        {
            // SQL 구문
            string sql = "Update Links Set Title = @Title, Url = @Url, ViewOrder = @ViewOrder, Description = @Description Where Id = @Id";
            // 커넥션
            Database db = (new DatabaseProviderFactory()).Create("ConnectionString");
            // 커멘드
            DbCommand cmd = db.GetSqlStringCommand(sql);

            // 파라미터 추가
            db.AddInParameter(cmd, "@Title", DbType.String, link.Title);
            db.AddInParameter(cmd, "@Url", DbType.String, link.Url);
            db.AddInParameter(cmd, "@ViewOrder", DbType.Int32, link.ViewOrder);
            db.AddInParameter(cmd, "@Description", DbType.String, link.Description);

            db.AddInParameter(cmd, "@Id", DbType.Int32, link.Id);

            // 실행
            db.ExecuteNonQuery(cmd);

            return(link);
        }