Imports System.IO
Imports System.Threading
Imports System.Data

Module Mod_DeleteR


    Public Sub DeleteFileR(winhide As Boolean)    '//실제로 파일을 삭제합니다. 삭제시 성공여부를 기록합니다
        Dim FI As FileInfo
        Dim Err As Boolean = False

        MDiMain.MSG("파일삭제 준비중")

        Dim index As Integer = 0
        Dim endcnt As Integer = MDiMain.DataSet1.WorkList.Rows.Count - 1

        '//ftp 여부 확인
        Dim isFTP As Boolean = False
        If GetWorkDIr.StartsWith("ftp:/") Then isFTP = True


        If MDiMain.DataSet1.WorkList Is Nothing Then
            MsgBox("작업파일목록이 존재하지않습니다." & vbCrLf & "진행할 수 없습니다", MsgBoxStyle.Information, "확인")
            Return
        End If

        For Each Dr As ireaDataSet.WorkListRow In MDiMain.DataSet1.WorkList.Rows
            index += 1
            MDiMain.ShowCnt1(index, endcnt, "파일삭제")
            Application.DoEvents()

            If Dr.오류 <> "" Then
                Errlog("선오류감지되어서 넘어갑니다(" & Dr.오류 & ")")
            Else
                If isFTP Then
                    Dim SrcFIp As String = CStr(Dr.원본경로 & "\" & Dr.원본파일명).Replace("\\", "\").Replace("\", "/")
                    Try
                        '//실제 파일의 삭제작업을 진행한다
                        Dim result As Boolean = FTP_0.FtpDelete(SrcFIp)
                        If result Then
                            Dr.성공 = "O"
                            Dr.오류 = ""
                        Else
                            Dr.성공 = "X"
                            Dr.오류 = "FTP서버로부터의 삭제 실패 메세지 반환(파일이 없는 경우에도 이메세지가 반환 됨)"
                        End If
                    Catch ex As Exception
                        Err = True
                        Dr.성공 = "X"
                        Dr.오류 = ex.Message
                        Errlog("FTP Delete File " + SrcFIp & ex.Message.ToString)
                    End Try

                Else
                    Try
                        FI = New FileInfo(CStr(Dr.원본경로 & "\" & Dr.원본파일명).Replace("\\", "\"))
                        Check_Backup(FI, BakTag)
                        If FI.Exists = False Then Dr.오류 = "파일없음"
                        Try
                            FI.Delete()
                            Dr.성공 = "O"
                            Dr.오류 = ""
                        Catch ex As Exception
                            Err = True
                            Dr.성공 = "X"
                            Dr.오류 = ex.Message.ToString()
                        End Try
                    Catch ex As Exception
                        Err = True
                        Dr.성공 = "X"
                        Dr.오류 = ex.Message
                        Errlog("FI = New FileInfo(CStr(Dr.원본경로 &)" & ex.Message.ToString)
                    End Try
                End If


            End If
        Next
        MDiMain.MSG("파일 [삭제] 완료" & IIf(Err, "(일부파일에 오류가 발생하였습니다", ""))
    End Sub


End Module
