private static void SaveACopyfileToServer(string filePath, string saveName) { Logger.I(saveName + ", Aktarılıyor ..."); FTPFactory ftp = FTPFactory.NewInstince(); ftp.upload(filePath, true); //var directory = Path.GetDirectoryName(savePath).Trim(); //var username = "******"; //var password = "******"; //var filenameToSave = Path.GetFileName(savePath); //if (!directory.EndsWith("\\")) // filenameToSave = "\\" + filenameToSave; //var command = "NET USE " + directory + " /delete"; //ExecuteCommand(command, 5000); //command = "NET USE " + directory + " /user:"******" " + password; //ExecuteCommand(command, 5000); //command = " copy \"" + filePath + "\" \"" + directory + filenameToSave + "\" /Z /Y"; //ExecuteCommand(command, 5000); //command = "NET USE " + directory + " /delete"; //ExecuteCommand(command, 5000); }
private static bool CheckileFromServer(string fileName) { try { FTPFactory ftp = FTPFactory.NewInstince(); if (ftp != null) { long size = ftp.getFileSize(fileName); return(size > 0); } //var directory = Path.GetDirectoryName(savePath).Trim(); //var username = "******"; //var password = "******"; //var filenameToSave = Path.GetFileName(savePath); //if (!directory.EndsWith("\\")) // filenameToSave = "\\" + filenameToSave; //var command = "NET USE " + directory + " /delete"; //ExecuteCommand(command, 5000); //command = "NET USE " + directory + " /user:"******" " + password; //ExecuteCommand(command, 5000); //command = " copy \"" + filePath + "\" \"" + directory + filenameToSave + "\" /Z /Y"; //ExecuteCommand(command, 5000); //command = "NET USE " + directory + " /delete"; //ExecuteCommand(command, 5000); } catch (Exception exc) { Logger.E("Dosya kontrol hatası:" + exc.Message + ", Detay:" + exc.StackTrace); } return(false); }
public static FTPFactory NewInstince() { FTPFactory ftp = new FTPFactory(AppSettingHelper.Default.ftphost, AppSettingHelper.Default.ftpuser, AppSettingHelper.Default.ftppass, AppSettingHelper.Default.ftpport); return(ftp); }
private void timerJop_Tick(object sender, EventArgs e) { timerJop.Enabled = false; btnGonder.Enabled = false; Dosyalar(); using (UnitOfWork wrk = new UnitOfWork()) { bool mailsend = AppSettingHelper.Default.SendMail; XPCollection <PdfFileInfo> allfiles = new XPCollection <PdfFileInfo>(wrk, CriteriaOperator.Parse("Aktarim=?", 0), new SortProperty[] { new SortProperty() { Property = "OID", PropertyName = "Oid", Direction = DevExpress.Xpo.DB.SortingDirection.Descending } }); allfiles.TopReturnedObjects = 100; if (allfiles.Count > 0) { FTPFactory ftp = FTPFactory.NewInstince(); Logger.I(allfiles.Count + " adet dosya aktarılacak."); using (OraHelper ora = new OraHelper()) { foreach (PdfFileInfo f in allfiles) { object objIds = null; if (f.FileType == PdfFileType.Bilinmiyor) { FileParser ozel = new FileParser(Path.GetFileNameWithoutExtension(f.FullName), AppSettingHelper.GetConnectionString()); f.FileType = ozel.FileType; f.RelationId = ozel.RelationId; f.RelationObject = ozel.RelationObject; } if (f.FileType == PdfFileType.Bilinmiyor || f.FileType == PdfFileType.Diger) { Logger.I("Dosya hatalı! Eksik parametre:" + f.Name); f.UploadMsg = "Dosya türü bilinmiyor:" + f.Name; f.Aktarim = AktarimDurumu.Bekliyor; f.Save(); continue; } #region İptal /*else if (f.FileType == PdfFileType.UrunAgacKod) * { * f.UrunAgacRevizyonKodu = PDFExpression.RevizyonNumarasi(f.Name); * * objIds = ora.ExecuteScalar(string.Format("SELECT U.BOM_M_ID FROM UYUMSOFT.INVD_BRANCH_ITEM B INNER JOIN UYUMSOFT.INVD_ITEM M ON B.ITEM_ID = M.ITEM_ID INNER JOIN UYUMSOFT.PRDD_BOM_M U ON B.ITEM_ID = U.ITEM_ID WHERE B.BRANCH_ID = '{0}' AND B.CO_ID = '{1}' AND M.ITEM_CODE = '{2}' AND replace(replace(U.ALTERNATIVE_NO, '-', ''),'_','') = '{3}'", Properties.Settings.Default.branchid, Properties.Settings.Default.coid, f.StokKodu, f.UrunAgacRevizyonKodu), null); * if (objIds != null) * { * relationId = Convert.ToInt32(objIds); * } * else * { * Utility.WriteTrace("Ürün ağaç kodu bulunamadı:" + f.StokKodu + "," + f.UrunAgacRevizyonKodu); * f.UploadMsg = "Ürün ağaç kodu bulunamadı:" + f.StokKodu + "," + f.UrunAgacRevizyonKodu; * f.Aktarim = AktarimDurumu.RelationIdYok; * f.Save(); * continue; * } * } * else if (f.FileType == PdfFileType.RotaKod) * { * f.UrunAgacRevizyonKodu = PDFExpression.RevizyonNumarasi(f.Name); * f.OperasyonNo = PDFExpression.OperasyonSiraNo(f.Name); * f.OperasyonKodu = PDFExpression.OperasyonKod(f.Name); * * if (f.OperasyonNo > 0) * { * objIds = ora.ExecuteScalar(string.Format("SELECT D.PRODUCT_ROUTE_D_ID FROM UYUMSOFT.INVD_BRANCH_ITEM B INNER JOIN UYUMSOFT.INVD_ITEM M ON B.ITEM_ID = M.ITEM_ID INNER JOIN UYUMSOFT.PRDD_PRODUCT_ROUTE_M R ON R.ITEM_ID = M.ITEM_ID INNER JOIN UYUMSOFT.PRDD_PRODUCT_ROUTE_D D ON R.PRODUCT_ROUTE_M_ID = D.PRODUCT_ROUTE_M_ID INNER JOIN UYUMSOFT.PRDD_OPERATION O ON D.OPERATION_ID = O.OPERATION_ID WHERE B.BRANCH_ID = '{0}' AND B.CO_ID = '{1}' AND M.ITEM_CODE = '{2}' AND replace(replace(R.ALTERNATIVE_NO, '-', ''),'_','') = '{3}' AND O.OPERATION_CODE = '{4}' AND D.OPERATION_NO = {5} AND ROWNUM = 1", Properties.Settings.Default.branchid, Properties.Settings.Default.coid, f.StokKodu, f.UrunAgacRevizyonKodu, f.OperasyonKodu, f.OperasyonNo), null); * } * else * { * f.UrunAgacRevizyonKodu = PDFExpression.RotaRevizyonNumarasi(f.Name); * objIds = ora.ExecuteScalar(string.Format("SELECT R.PRODUCT_ROUTE_M_ID FROM UYUMSOFT.INVD_BRANCH_ITEM B INNER JOIN UYUMSOFT.INVD_ITEM M ON B.ITEM_ID = M.ITEM_ID INNER JOIN UYUMSOFT.PRDD_PRODUCT_ROUTE_M R ON R.ITEM_ID = M.ITEM_ID WHERE B.BRANCH_ID = '{0}' AND B.CO_ID = '{1}' AND M.ITEM_CODE = '{2}' AND replace(replace(R.ALTERNATIVE_NO, '-', ''),'_','') = '{3}' AND ROWNUM = 1", Properties.Settings.Default.branchid, Properties.Settings.Default.coid, f.StokKodu, f.UrunAgacRevizyonKodu), null); * } * if (objIds != null) * { * relationId = Convert.ToInt32(objIds); * } * else * { * Utility.WriteTrace("Ürün rota kodu bulunamadı:" + f.StokKodu + "," + f.UrunAgacRevizyonKodu); * f.UploadMsg = "Ürün rota kodu bulunamadı:" + f.StokKodu + "," + f.UrunAgacRevizyonKodu; * f.Aktarim = AktarimDurumu.RelationIdYok; * f.Save(); * continue; * } * } * else if (f.FileType == PdfFileType.IstasyonKod) * { * objIds = ora.ExecuteScalar(string.Format("SELECT WSTATION_ID FROM UYUMSOFT.PRDD_WSTATION WHERE BRANCH_ID = '{0}' AND CO_ID = '{1}' AND WSTATION_CODE = '{2}'", Properties.Settings.Default.branchid, Properties.Settings.Default.coid, f.StokKodu), null); * if (objIds != null) * { * relationId = Convert.ToInt32(objIds); * } * else * { * Utility.WriteTrace("Ürün ağaç kodu bulunamadı:" + f.StokKodu + "," + f.UrunAgacRevizyonKodu); * f.UploadMsg = "Ürün ağaç kodu bulunamadı:" + f.StokKodu + "," + f.UrunAgacRevizyonKodu; * f.Aktarim = AktarimDurumu.RelationIdYok; * f.Save(); * continue; * } * }*/ #endregion if (f.RelationId > 0) { try { Logger.I("Dosya kopyalanıyor:" + f.FullName + " to " + f.Name); //SaveACopyfileToServer(f.FullName, string.Concat(Properties.Settings.Default.hedefklasor, "\\", f.Name)); //SaveACopyfileToServer(f.FullName, f.Name); //ftp.uploadwithupdate(f.FullName); //long size = ftp.getFileSize(f.Name); //if (size > 0) // ftp.deleteRemoteFile(f.Name); var fx = new FileInfo(f.FullName); fx.Attributes = FileAttributes.Normal; fx.IsReadOnly = false; if (!ftp.upload(f.FullName)) { Logger.I("Dosya klasore kopyalanamadı:" + f.FullName); f.UploadMsg = "Dosya klasore kopyalanamadı"; f.Aktarim = AktarimDurumu.Kopyalanamadi; f.Save(); continue; } //try //{ // File.Copy(f.FullName, string.Concat(Properties.Settings.Default.hedefklasor, "\\", f.Name), true); //} //catch (IOException _ioexc) //{ // Logger.I("Dosya klasore kopyalanamadı:" + _ioexc.Message); // f.UploadMsg = "Dosya klasore kopyalanamadı:" + _ioexc.Message; // f.Aktarim = AktarimDurumu.Kopyalanamadi; // f.Save(); // continue; //} } catch (IOException io) { Logger.I("Dosya klasore kopyalanamadı:" + io.Message + ",detay" + io.StackTrace); f.UploadMsg = "Dosya klasore kopyalanamadı:" + io.Message; f.Aktarim = AktarimDurumu.Kopyalanamadi; f.Save(); continue; } catch (Exception exc) { Logger.I("Dosya klasore kopyalanamadı:" + exc.Message + ",detay" + exc.StackTrace); f.UploadMsg = "Dosya klasore kopyalanamadı:" + exc.Message; f.Aktarim = AktarimDurumu.Kopyalanamadi; f.Save(); continue; } try { Logger.I("Dosya siliniyor:" + f.FullName); File.Delete(f.FullName); f.IsDelete = true; } catch (IOException io) { f.IsDelete = false; Logger.E("Dosya silinemedi:" + io.Message); } catch (Exception exc) { f.IsDelete = false; Logger.E("Dosya silinemedi:" + exc.Message); } } //if (File.Exists(string.Concat(Properties.Settings.Default.hedefklasor, "\\", f.Name))) if (ftp.getFileSize(f.Name) > 0) { ora.DeleteRecord(f); } int uploadFileId = ora.InsertRecord(f); if (uploadFileId <= 0) { Logger.W("Veritabanına yazılamadı!" + f.Name); f.UploadMsg = "Veritabanına yazılamadı!"; f.Aktarim = AktarimDurumu.Kaydedilemedi; f.Save(); } else { try { if (mailsend) { MailHelper.MailSend(f.Name); f.IsMailSend = true; } } catch (Exception exc) { f.IsMailSend = false; f.MailMsg = exc.Message; } f.IsUploaded = true; f.UploadFileId = uploadFileId; f.UploadMsg = string.Format("{0} aktarıldı.", uploadFileId); f.Aktarim = AktarimDurumu.Aktarildi; f.Save(); } } } ftp.close(); ftp = null; wrk.CommitChanges(); Dosyalar(); } else { Logger.I("Aktarılacak dosya yok."); //MailHelper.MailSend("TTTTTTTT"); } } btnGonder.Enabled = true; timerJop.Enabled = true; }