//This function is used to check the folder is exist or not private string CheckForFolders() { string ls_Date = DateTime.Now.ToString("yyyy-MM-dd"); Process winscp = new Process(); winscp.StartInfo.FileName = @"C:\Program Files\WinSCP\WinSCP.com"; winscp.StartInfo.RedirectStandardInput = true; winscp.StartInfo.RedirectStandardOutput = true; winscp.StartInfo.UseShellExecute = false; winscp.StartInfo.CreateNoWindow = true; winscp.Start(); ProcessId = winscp.Id; winscp.StandardInput.WriteLine("option batch abort"); winscp.StandardInput.WriteLine("option confirm off"); winscp.StandardInput.WriteLine("open my ftp Address -passive=on"); winscp.StandardInput.WriteLine("ls /Dictation/" + ls_Date); winscp.StandardInput.WriteLine("exit"); winscp.StandardInput.Close(); winscp.StartInfo.RedirectStandardOutput = true; string output = winscp.StandardOutput.ReadToEnd(); winscp.WaitForExit(); ProcessId = 0; if (winscp.ExitCode != 0) return DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"); else return DateTime.Now.ToString("yyyy-MM-dd"); } //This method used for sync process private void MedDownload(string DownloadDate) { try { string ls_LocalDate = DateTime.Now.ToString("yyyy-MM-dd"); if (ls_LocalDate == DownloadDate) { if (Convert.ToInt32(DateTime.Now.Hour.ToString()) < 15) ls_LocalDate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"); else ls_LocalDate = DateTime.Now.ToString("yyyy-MM-dd"); } else ls_LocalDate = DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd"); if (!Directory.Exists(@"D:\san1\voice\medlite\" + ls_LocalDate)) Directory.CreateDirectory(@"D:\san1\voice\medlite\" + ls_LocalDate); Process winscp = new Process(); winscp.StartInfo.FileName = @"C:\Program Files\WinSCP\WinSCP.com"; winscp.StartInfo.RedirectStandardInput = true; winscp.StartInfo.RedirectStandardOutput = true; winscp.StartInfo.UseShellExecute = false; winscp.StartInfo.CreateNoWindow = true; winscp.Start(); winscp.StandardInput.WriteLine("option batch abort"); winscp.StandardInput.WriteLine("option confirm off"); winscp.StandardInput.WriteLine("open my FTP Address -passive=on"); winscp.StandardInput.WriteLine("synchronize local -mirror D:\\san1\\voice\\medlite\\" + ls_LocalDate + " /Dictation/" + DownloadDate); winscp.StandardInput.WriteLine("exit"); winscp.StandardInput.Close(); winscp.StartInfo.RedirectStandardOutput = true; string output = winscp.StandardOutput.ReadToEnd(); winscp.WaitForExit(); ProcessId = 0; if (winscp.ExitCode != 0) { //MessageBox.Show("Error Occured in Medlite Download..."); MedDownload(DownloadDate); } else { string Date = CheckForFolders(); MedDownload(Date); } } catch (Win32Exception ex) { MessageBox.Show(ex.Message); Exception e = ex.GetBaseException(); MedDownload(DownloadDate); } catch { MessageBox.Show("Error Occur"); } }