Ejemplo n.º 1
0
        private void timerJop_Tick(object sender, EventArgs e)
        {
            timerJop.Enabled = false;

            Dosyalar();

            using (UnitOfWork wrk = new UnitOfWork())
            {
                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)
                {
                    Utility.WriteTrace(allfiles.Count + " adet dosya aktarılacak.");
                    using (OraHelper ora = new OraHelper())
                    {
                        foreach (PdfFileInfo f in allfiles)
                        {
                            int    relationId     = 0;
                            object objIds         = null;
                            int    relationObject = 0;

                            if (f.FileType == PdfFileType.Bilinmiyor)
                            {
                                List <object> arguman    = new List <object>();
                                string        koddosyasi = Application.StartupPath + "\\HidromasOzel.txt";
                                if (File.Exists(koddosyasi))
                                {
                                    string code = "";
                                    using (StreamReader reader = new StreamReader(new FileStream(koddosyasi, FileMode.Open, FileAccess.Read, FileShare.Read), Encoding.GetEncoding("windows-1254")))
                                    {
                                        code = reader.ReadToEnd().Trim();
                                    }
                                    Object[] requiredAssemblies = new Object[] { };
                                    dynamic  classRef;
                                    try
                                    {
                                        classRef = ReflectionHelper.FunctionExec(code, "HidromasOzel.HidromasDosya", requiredAssemblies);

                                        //-------------------
                                        // If the compilation process returned an error, then show to the user all errors
                                        if (classRef is CompilerErrorCollection)
                                        {
                                            StringBuilder sberror = new StringBuilder();

                                            foreach (CompilerError error in (CompilerErrorCollection)classRef)
                                            {
                                                sberror.AppendLine(string.Format("{0}:{1} {2} {3}", error.Line, error.Column, error.ErrorNumber, error.ErrorText));
                                            }

                                            Trace.WriteLine(sberror.ToString());

                                            return;
                                        }

                                        arguman = classRef.DosyaTuru(Path.GetFileNameWithoutExtension(f.FullName));
                                    }
                                    catch (Exception ex)
                                    {
                                        // If something very bad happened then throw it
                                        MessageBox.Show(ex.Message);
                                        throw;
                                    }
                                }
                                else
                                {
                                    //using (StreamWriter wr = new StreamWriter(new FileStream(koddosyasi, FileMode.Create, FileAccess.Write, FileShare.Write), Encoding.GetEncoding("windows-1254")))
                                    //{
                                    //    wr.Write(ReflectionHelper.DosyaIcerik("FileManager.HidromasOzel.txt"));
                                    //    wr.Flush();
                                    //    wr.Close();
                                    //}

                                    HidromasDosya ozel = new HidromasDosya();
                                    arguman = ozel.DosyaTuru(Path.GetFileNameWithoutExtension(f.FullName));
                                }
                                if (arguman != null)
                                {
                                    if (arguman.Count > 3)
                                    {
                                        if (Convert.ToInt32(arguman[3]) == 0)
                                        {
                                            f.FileType = PdfFileType.Bilinmiyor;
                                        }
                                        else if (Convert.ToInt32(arguman[3]) == 1)
                                        {
                                            f.FileType = PdfFileType.UrunAgacKod;
                                        }
                                        else if (Convert.ToInt32(arguman[3]) == 2)
                                        {
                                            f.FileType = PdfFileType.RotaKod;
                                        }
                                        else if (Convert.ToInt32(arguman[3]) == 3)
                                        {
                                            f.FileType = PdfFileType.IstasyonKod;
                                        }
                                        else if (Convert.ToInt32(arguman[3]) == 4)
                                        {
                                            f.FileType = PdfFileType.StokKod;
                                        }
                                        else
                                        {
                                            f.FileType = PdfFileType.Diger;
                                        }
                                    }
                                    if (arguman.Count > 0)
                                    {
                                        relationId = Convert.ToInt32(arguman[0]);
                                    }
                                    if (arguman.Count > 2)
                                    {
                                        relationObject = Convert.ToInt32(arguman[2]);
                                    }
                                    f.RelationId     = relationId;
                                    f.RelationObject = relationObject;
                                }
                            }

                            if (f.FileType == PdfFileType.Bilinmiyor)
                            {
                                Utility.WriteTrace("Dosya hatalı! Eksik parametre:" + f.Name);
                                f.UploadMsg = "Dosya türü bilinmiyor:" + f.Name;
                                f.Aktarim   = AktarimDurumu.RelationIdYok;
                                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 (relationId > 0)
                            {
                                try
                                {
                                    Utility.WriteTrace("Dosya kopyalanıyor:" + f.FullName + " to " + string.Concat(Properties.Settings.Default.hedefklasor, "\\", f.Name));

                                    SaveACopyfileToServer(f.FullName, string.Concat(Properties.Settings.Default.hedefklasor, "\\", f.Name));
                                }
                                catch (IOException io)
                                {
                                    Utility.WriteTrace("Dosya klasore kopyalanamadı:" + io.Message);
                                    f.UploadMsg = "Dosya klasore kopyalanamadı:" + io.Message;
                                    f.Aktarim   = AktarimDurumu.Kopyalanamadi;
                                    f.Save();
                                    continue;
                                }
                                catch (Exception exc)
                                {
                                    Utility.WriteTrace("Dosya klasore kopyalanamadı:" + exc.Message);
                                    f.UploadMsg = "Dosya klasore kopyalanamadı:" + exc.Message;
                                    f.Aktarim   = AktarimDurumu.Kopyalanamadi;
                                    f.Save();
                                    continue;
                                }

                                try
                                {
                                    Utility.WriteTrace("Dosya siliniyor:" + f.FullName);

                                    File.Delete(f.FullName);
                                }
                                catch (IOException io)
                                {
                                    Utility.WriteTrace("Dosya silinemedi:" + io.Message);
                                }
                                catch (Exception exc)
                                {
                                    Utility.WriteTrace("Dosya silinemedi:" + exc.Message);
                                }
                            }

                            if (File.Exists(string.Concat(Properties.Settings.Default.hedefklasor, "\\", f.Name)))
                            {
                                try
                                {
                                    OracleParameter[] delParameters = new OracleParameter[2];
                                    delParameters[0] = new OracleParameter(":RELATION_OBJECT", relationObject);
                                    delParameters[1] = new OracleParameter(":RELATION_ID", relationId);

                                    string delExtra = "";
                                    if (f.Name.IndexOf("UA") != -1)
                                    {
                                        delExtra = " AND SH0RT_FILE_NAME LIKE '%UA%' ";
                                    }
                                    if (f.Name.IndexOf("OG") != -1)
                                    {
                                        delExtra = " AND SH0RT_FILE_NAME LIKE '%OG%' ";
                                    }
                                    if (f.Name.IndexOf("UGTL") != -1)
                                    {
                                        delExtra = string.Format(" AND SH0RT_FILE_NAME = '{0}' ", f.Name);
                                    }

                                    ora.Exec("DELETE FROM GNLD_UPLOAD_FILE WHERE RELATION_OBJECT = :RELATION_OBJECT AND RELATION_ID = :RELATION_ID " + delExtra, delParameters);
                                }
                                catch (Exception delexception)
                                {
                                    Utility.WriteTrace("Öncei dökümanlar silinemedi! Hata:" + delexception.Message);
                                }
                            }

                            int uploadFileId = 1;
                            objIds = ora.ExecuteScalar("SELECT MAX(UPLOAD_FILE_ID) AS UPLOAD_FILE_ID FROM GNLD_UPLOAD_FILE", null);

                            if (objIds != null && object.ReferenceEquals(objIds, DBNull.Value) == false)
                            {
                                uploadFileId = Convert.ToInt32(objIds) + 1;
                            }
                            string            commandText   = "INSERT INTO GNLD_UPLOAD_FILE (UPLOAD_FILE_ID, RELATION_OBJECT, RELATION_ID, SH0RT_FILE_NAME, LONG_FILE_NAME, DOCUMENT_TYPE, DESCRIPTION, CREATE_DATE, CREATE_USER_ID) VALUES (:UPLOAD_FILE_ID, :RELATION_OBJECT, :RELATION_ID, :SH0RT_FILE_NAME, :LONG_FILE_NAME, :DOCUMENT_TYPE, :DESCRIPTION, :CREATE_DATE, :CREATE_USER_ID)";
                            OracleParameter[] oraParameters = new OracleParameter[9];
                            oraParameters[0] = new OracleParameter(":UPLOAD_FILE_ID", uploadFileId);
                            oraParameters[1] = new OracleParameter(":RELATION_OBJECT", relationObject);
                            oraParameters[2] = new OracleParameter(":RELATION_ID", relationId);
                            oraParameters[3] = new OracleParameter(":SH0RT_FILE_NAME", f.Name);
                            oraParameters[4] = new OracleParameter(":LONG_FILE_NAME", f.Name);
                            oraParameters[5] = new OracleParameter(":DOCUMENT_TYPE", StaticsVariable.DOCUMENT_TYPE);
                            oraParameters[6] = new OracleParameter(":DESCRIPTION", StaticsVariable.DESCRIPTION);
                            oraParameters[7] = new OracleParameter(":CREATE_DATE", DateTime.Now);
                            oraParameters[8] = new OracleParameter(":CREATE_USER_ID", Properties.Settings.Default.userid);
                            if (!ora.Exec(commandText, oraParameters))
                            {
                                Utility.WriteTrace("Veritabanına yazılamadı!" + f.Name);
                                f.UploadMsg = "Veritabanına yazılamadı!";
                                f.Aktarim   = AktarimDurumu.Kaydedilemedi;
                                f.Save();
                            }
                            else
                            {
                                OracleParameter[] selParameters = new OracleParameter[2];
                                selParameters[0] = new OracleParameter(":UPLOAD_FILE_ID", uploadFileId);
                                selParameters[1] = new OracleParameter(":SH0RT_FILE_NAME", f.Name);
                                objIds           = ora.ExecuteScalar("SELECT UPLOAD_FILE_ID FROM GNLD_UPLOAD_FILE WHERE UPLOAD_FILE_ID = :UPLOAD_FILE_ID OR SH0RT_FILE_NAME = :SH0RT_FILE_NAME", selParameters);

                                if (objIds != null && object.ReferenceEquals(objIds, DBNull.Value) == false)
                                {
                                    uploadFileId = Convert.ToInt32(objIds);
                                }

                                try
                                {
                                    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();
                            }
                        }
                    }
                    wrk.CommitChanges();
                    Dosyalar();
                }
                else
                {
                    Utility.WriteTrace("Aktarılacak dosya yok.");
                    //MailHelper.MailSend("TTTTTTTT");
                }
            }

            timerJop.Enabled = true;
        }
Ejemplo n.º 2
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;
        }