예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        public static FTPFactory NewInstince()
        {
            FTPFactory ftp = new FTPFactory(AppSettingHelper.Default.ftphost, AppSettingHelper.Default.ftpuser, AppSettingHelper.Default.ftppass, AppSettingHelper.Default.ftpport);

            return(ftp);
        }
예제 #4
0
        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;
        }