private int DeleteBoard() { try { Board_Tx_Dac oWS = new Board_Tx_Dac(); Board_NTx_Dac oWSN = new Board_NTx_Dac(); int RemoveIdx = IntegerUtil.intValid(WebUtil.SCRequestFormString("hdfIdx", string.Empty), 0); int ReturnValue = 0; DataSet ds = oWSN.TOTALBBS_BOARD_VIEW_FILE_INFO_SEL(RemoveIdx); int FileDelCnt = ds.Tables[0].Rows.Count; ReturnValue = oWS.TOTALBBS_BOARD_FILE_INFO_VIEW_DEL(RemoveIdx, FileDelCnt); if (ReturnValue > 0) { DataTable dt = ds.Tables[0]; foreach (DataRow dr in dt.Rows) { LocalFileControls.FileDelete(FileUploadPath, dr["strFileName"].ToString()); } } return(ReturnValue); } catch (Exception ex) { #region [Error Logger] 로그인을 한경우 //ErrorLogger_Tx_Dac.GetErrorLogger_Tx_Dac().TB_TOTABBS_ERROR_LOGGER_INFO_INS_SP(ex, admin.MemberId, admin.MemberNm); #endregion return(0); } }
protected void lbtnDelete_Click(object sender, EventArgs e) { try { string ChkBoxListData = string.Empty; if (Request.Form["ChkBoxList"] != null) { ChkBoxListData = Request.Form["ChkBoxList"]; } if (string.IsNullOrEmpty(ChkBoxListData)) { StringBuilder sbNoData = new StringBuilder(); sbNoData.Append("alert('삭제할 데이타가 없습니다.');"); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "NoData", sbNoData.ToString(), true); } else { Board_Tx_Dac oWS = new Board_Tx_Dac(); int ReturnValue = oWS.TOTALBBS_BOARD_INFO_MULTI_DEL(ChkBoxListData); //첨부파일 정보 DB 정상 삭제유무 확인 if (ReturnValue > 0) { //뷰스테이트 false 로 삭제 후 리스트 이동 StringBuilder sbDelete = new StringBuilder(); sbDelete.Append("alert('데이터가 삭제되었습니다.');"); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "ListInDel", sbDelete.ToString(), true); } else { StringBuilder sbDelError = new StringBuilder(); sbDelError.Append("alert('데이터 삭제에 실패하였습니다.');"); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "ListInDelError", sbDelError.ToString(), true); } } PagingHelper1.PageSize = PageSize; Page_Move(iPage, PagingHelper1); this.GetListInfo(PageSize, iPage, strBoardCategory, strSort, strField, strKey); } catch (Exception ex) { #region [Error Logger] 로그인을 한경우 //ErrorLogger_Tx_Dac.GetErrorLogger_Tx_Dac().TB_TOTABBS_ERROR_LOGGER_INFO_INS_SP(ex, admin.MemberId, admin.MemberNm); #endregion } }
private int UpdateBoard() { try { Board_Tx_Dac oWS = new Board_Tx_Dac(); Board_NTx_Dac oWSN = new Board_NTx_Dac(); int ModIdx = IntegerUtil.intValid(WebUtil.SCRequestFormString("hdfIdx", string.Empty), 0); int intBoardCategory = Convert.ToInt32(WebUtil.SCRequestFormString("ddlBoardCategory", "1")); int intWriteCategory = Convert.ToInt32(WebUtil.SCRequestFormString("ddlWriteCategory", "1")); string strUserId = WebUtil.SCRequestFormString("txtUserId", string.Empty); string strWriter = WebUtil.SCRequestFormString("txtWriter", string.Empty); string strSubject = WebUtil.SCRequestFormString("txtSubject", string.Empty); string strContent = WebUtil.SCRequestFormString("txtContent", string.Empty); string ChkBoxListData = string.Empty; DataSet ds = null; DataTable dt = null; // 삭제할 목록 조회 DataTable dt1 = null; // 삭제하지 않는 목록 조회 int NoDeleteFileCnt = 0; // 삭제하지 않는 파일 수 //파일 리스트 조회(삭제할 목록과 삭제 하지 않을 목록 분리하여 가져옴) //체크박스 선택 여부 if (ModIdx > 0 && Request.Form["chkAttached_" + ModIdx + ""] != null) { ChkBoxListData = Request.Form["chkAttached_" + ModIdx + ""].ToString(); ds = oWSN.TOTALBBS_BOARD_FILE_INFO_SEL(ModIdx, ChkBoxListData); } else { ChkBoxListData = "0"; ds = oWSN.TOTALBBS_BOARD_FILE_INFO_SEL(ModIdx, ChkBoxListData); } string OldFileName = string.Empty; string NewFileName = string.Empty; string FileUploadPath = string.Empty; if (ds != null) { dt = ds.Tables[0]; // 삭제할 목록 조회 dt1 = ds.Tables[1]; // 삭제하지 않는 목록 조회 if (dt1.Rows.Count > 0) { NoDeleteFileCnt = dt1.Rows.Count; } } int iData = 0; List <FileBean> GecAttachedList = new List <FileBean>(); if (ds != null) { //삭제 하지 않을 목록을 조회 하여 처리 foreach (DataRow dr in dt1.Rows) { if (iData == 0) { OldFileName = dr["strRealFileName"].ToString(); NewFileName = dr["strFileName"].ToString(); FileUploadPath = dr["strFilePath"].ToString(); } iData = iData + 1; FileBean AFBean = new FileBean(); AFBean.strRealFileName = dr["strRealFileName"].ToString(); // 파일 원본 이름 AFBean.strFileName = dr["strFileName"].ToString(); // 파일 업로드후 생성된 새이름 AFBean.strFilePath = dr["strFilePath"].ToString(); // 파일 업로드 경로 디비에 넣지 않는경우 /FileUpload/ + FileUploadPath경로 수동 입력 해도됨 AFBean.intFileSort = iData; GecAttachedList.Add(AFBean); } if (dt.Rows.Count > 0) { foreach (DataRow dr in dt.Rows) { for (int i = 0; i < 1; i++) { FileUploadPath = dr["strFilePath"].ToString(); } } } } HttpFileCollection files = HttpContext.Current.Request.Files; int FileTotalCnt = files.Count; int FileSort = 0; // 웹 취약성 추가 파일 첨부시 aspx 에서 검사 후 cs 단에서 한번 더 검사 string[] ContentType = null; // 첨부파일 타입 구분배열 변수 #region [파일 업로드 정보를 조회] if (FileTotalCnt > 0) { for (int i = 0; i < FileTotalCnt; i++) { HttpPostedFile postedFile = files[i]; FileBean AFBean = new FileBean(); FileSort = iData + i; string[] FilesInfo1 = new string[3]; ContentType = postedFile.ContentType.Split('/'); //빈파일일때 if (postedFile.ContentLength > 1) { FilesInfo1 = FileName(postedFile); if (FilesInfo1 != null) { if (FileSort == 0) { OldFileName = FilesInfo1[0]; NewFileName = FilesInfo1[1]; FileUploadPath = FilesInfo1[2]; } AFBean.strRealFileName = FilesInfo1[0]; // 파일 원본 이름 AFBean.strFileName = FilesInfo1[1]; // 파일 업로드후 생성된 새이름 AFBean.strFilePath = FilesInfo1[2]; // 파일 업로드 경로 디비에 넣지 않는경우 /FileUpload/ + FileUploadPath경로 수동 입력 해도됨 AFBean.intFileSort = FileSort + 1; GecAttachedList.Add(AFBean); } else { FileTotalCnt = 0; } } else { FileTotalCnt = 0; } } } #endregion int MasterReturnValue = 0; int ReturnValue = 0; MasterReturnValue = oWS.TOTALBBS_BOARD_INFO_UPD(ModIdx, intBoardCategory, intWriteCategory, strUserId, strWriter, strSubject, strContent); if (MasterReturnValue > 0) { if (GecAttachedList.Count > 0) { foreach (FileBean Item in GecAttachedList) { ReturnValue = oWS.TOTALBBS_BOARD_FILE_INFO_UPD(ModIdx, Item.strRealFileName, Item.strFileName, Item.strFilePath, Item.intFileSort); } } else { //전체 제크 및 한개만 있을때 체크 했을때 ReturnValue = oWS.TOTALBBS_BOARD_FILE_INFO_DEL_SELECTED(ChkBoxListData); } } //첨부파일 등록이 하나도 없을시 if (GecAttachedList.Count.Equals(0)) { ReturnValue = -10; } //체크박스 선택 파일 삭제 시키기 if (!ChkBoxListData.Equals("0")) { //삭제 foreach (DataRow dr in dt.Rows) { //경로를 넘기는데 \\ 수가 맞지 않아 메서드 추가함 수정시 삭제에 사용 LocalFileControls.FileDelete_New(FileUploadPath, dr["strFileName"].ToString()); } } return(ReturnValue); } catch (Exception ex) { #region [Error Logger] 로그인을 한경우 //ErrorLogger_Tx_Dac.GetErrorLogger_Tx_Dac().TB_TOTABBS_ERROR_LOGGER_INFO_INS_SP(ex, admin.MemberId, admin.MemberNm); #endregion return(0); } }
private int InsertBoard() { try { Board_Tx_Dac oWS = new Board_Tx_Dac(); int intBoardCategory = Convert.ToInt32(WebUtil.SCRequestFormString("ddlBoardCategory", "1")); int intWriteCategory = Convert.ToInt32(WebUtil.SCRequestFormString("ddlWriteCategory", "1")); string strUserId = WebUtil.SCRequestFormString("txtUserId", string.Empty); string strWriter = WebUtil.SCRequestFormString("txtWriter", string.Empty); string strSubject = WebUtil.SCRequestFormString("txtSubject", string.Empty); string strContent = WebUtil.SCRequestFormString("txtContent", string.Empty); string[] ContentType = null; // 첨부파일 타입 구분배열 변수 #region [첨부파일 등록] HttpFileCollection files = HttpContext.Current.Request.Files; int FileTotalCnt = files.Count; string[] OldFileName = new string[FileTotalCnt]; string[] NewFileName = new string[FileTotalCnt]; string[] FileUploadPath = new string[FileTotalCnt]; if (FileTotalCnt > 0) { for (int i = 0; i < FileTotalCnt; i++) { HttpPostedFile postedFile = files[i]; ContentType = postedFile.ContentType.Split('/'); // 빈파일일때 if (postedFile.ContentLength > 1) { string[] FilesInfo1 = new string[3]; FilesInfo1 = FileName(postedFile); // 첨부가 하나라도 선택이 되어 있다면 if (FilesInfo1 != null) { OldFileName[i] = FilesInfo1[0]; // 파일 원본 이름 NewFileName[i] = FilesInfo1[1]; // 파일 업로드후 생성된 새이름 FileUploadPath[i] = FilesInfo1[2]; // 파일 업로드 경로 디비에 넣지 않는경우 /FileUpload/ + FileUploadPath경로 수동 입력 해도됨 } else { //첨부가 없다면 카운트를 0으로 FileTotalCnt = 0; } } else { //첨부가 없다면 카운트를 0으로 FileTotalCnt = 0; } } } #endregion int MasterReturnValue = 0; int ReturnValue = 0; MasterReturnValue = oWS.TOTALBBS_BOARD_INFO_INS(intBoardCategory, intWriteCategory, strUserId, strWriter, strSubject, strContent); if (MasterReturnValue > 0) { //파일카운트가 1이상이면 첨부파일 테이블 등록 if (FileTotalCnt > 0) { for (int i = 0; i < FileTotalCnt; i++) { ReturnValue = oWS.TOTALBBS_BOARD_FILE_INFO_INS(MasterReturnValue, OldFileName[i], NewFileName[i], FileUploadPath[i], i + 1); } } else { //마스터 정상 등록이며 첨부파일이 없다면 -10 고정 ReturnValue = -10; } } else { //오류시 파일 삭제하기 } return(ReturnValue); } catch (Exception ex) { #region [Error Logger] 로그인을 한경우 //ErrorLogger_Tx_Dac.GetErrorLogger_Tx_Dac().TB_TOTABBS_ERROR_LOGGER_INFO_INS_SP(ex, admin.MemberId, admin.MemberNm); #endregion return(0); } }