Пример #1
0
        private void DoUpload(BackgroundWorker bk)
        {
            PgMng.Grow(Resources.Messages.CONNECTING_SERVER);

            if (_ftp == null)
            {
                _ftp = new FtpClient(Principal.GetHipatiaFTPHost(), Principal.GetHipatiaFTPUser(), Principal.GetHipatiaFTPPwd(), Principal.GetHipatiaFTPRootPath());
                HipatiaCtl.InitHipatia(_ftp, Principal.GetHipatiaFTPRootPath(), Principal.GetHipatiaFTPHost());
            }
            PgMng.Grow();

            if (HipatiaCtl.ExistsDirectory(_ftp, CurrentDocumento.Ruta))
            {
                PgMng.Message = Resources.Messages.UPLOADING_FILE;
                PgMng.Grow();
                HipatiaCtl.Copy(_ftp, TempFile, CurrentDocumento.Ruta);
                PgMng.Message = Resources.Messages.CLOSING_SERVER;
                PgMng.Grow();
                PgMng.Result = BGResult.OK;
            }
            else
            {
                PgMng.Result = BGResult.Error;
                throw new iQException(Resources.Messages.OPERATION_ERROR);
            }
        }
Пример #2
0
        public override void DownloadAction()
        {
            PgMng.Reset(5, 1, Resources.Messages.CONNECTING_SERVER, this);

            HipatiaCtl.InitHipatia(_ftp, Principal.GetHipatiaFTPRootPath(), Principal.GetHipatiaFTPHost());
            PgMng.Grow();

            if (HipatiaCtl.ExistsDirectory(_ftp, ActiveItem.Ruta))
            {
                if (Browser.ShowDialog() == DialogResult.OK)
                {
                    string destinationPath = Browser.SelectedPath;
                    string tempFile        = destinationPath + "\\" + System.Web.HttpUtility.UrlEncode(ActiveItem.Nombre);

                    PgMng.Message = Resources.Messages.DOWNLOADING_FILE;
                    PgMng.Grow();
                    _ftp.DownloadFile(Path.GetDirectoryName(ActiveItem.Ruta), destinationPath, Path.GetFileName(ActiveItem.Nombre));
                    PgMng.Message = Resources.Messages.CLOSING_SERVER;
                    PgMng.Grow();
                    PgMng.Result = BGResult.OK;
                }
            }
            else
            {
                PgMng.Result = BGResult.Error;
                throw new iQException(Resources.Errors.FILE_NOT_FOUND);
            }

            PgMng.FillUp();
        }
Пример #3
0
        private void DoDownload(BackgroundWorker bk)
        {
            PgMng.Grow(Resources.Messages.CONNECTING_SERVER);

            if (_ftp == null)
            {
                _ftp = new FtpClient(Principal.GetHipatiaFTPHost(), Principal.GetHipatiaFTPUser(), Principal.GetHipatiaFTPPwd(), Principal.GetHipatiaFTPRootPath());
                HipatiaCtl.InitHipatia(_ftp, Principal.GetHipatiaFTPRootPath(), Principal.GetHipatiaFTPHost());
            }
            PgMng.Grow();

            if (HipatiaCtl.ExistsDirectory(_ftp, CurrentDocumento.Ruta))
            {
                PgMng.Message = Resources.Messages.DOWNLOADING_FILE;
                PgMng.Grow();
                _ftp.DownloadFile(Path.GetDirectoryName(CurrentDocumento.Ruta), DestinationPath, Path.GetFileName(CurrentDocumento.Nombre));
                PgMng.Message = Resources.Messages.CLOSING_SERVER;
                PgMng.Grow();
                PgMng.Result = BGResult.OK;
            }
            else
            {
                PgMng.Result = BGResult.Error;
                throw new iQException(Resources.Errors.FILE_NOT_FOUND);
            }
        }
        private void DoUpdate()
        {
            PgMng.Result = BGResult.OK;

            PgMng.Message = Resources.Messages.CONNECTING_SERVER;

            if (Nombre_TB.Text == string.Empty)
            {
                throw new iQException(Resources.Messages.NO_NAME);
            }
            PgMng.Grow();

            if (_doc != null)
            {
                //Los nombres de los ficheros deben coincidir
                if (_doc.Nombre != Nombre_TB.Text)
                {
                    throw new iQException(Resources.Messages.NOT_EQUAL_DOC_NAME);
                }
            }
            else if (HipatiaCtl.CheckDuplicate(_agente, _entity))
            {
                throw new iQException(Resources.Messages.DOC_REPEATED);
            }
            PgMng.Grow();

            FtpClient ftp = new FtpClient(Principal.GetHipatiaFTPHost(), Principal.GetHipatiaFTPUser(), Principal.GetHipatiaFTPPwd(), Principal.GetHipatiaFTPRootPath());

            HipatiaCtl.InitHipatia(ftp, Principal.GetHipatiaFTPRootPath(), Principal.GetHipatiaFTPHost());
            PgMng.Grow();

            PgMng.Message = Resources.Messages.UPLOADING_FILE;

            AgenteInfo _ag_info = _agente.GetInfo(false);

            if (!HipatiaCtl.ExistsAgentDirectory(ftp, _ag_info))
            {
                HipatiaCtl.CreateAgentDirectory(ftp, _ag_info);
            }
            PgMng.Grow();

            try
            {
                //Estamos añadiendo uno nuevo
                if (_doc == null)
                {
                    if (HipatiaCtl.ExistsFile(ftp, _ag_info, _entity.GetInfo(false)))
                    {
                        if (ProgressInfoMng.ShowQuestion(Resources.Messages.OVERWRITE_FILE) == DialogResult.Yes)
                        {
                            HipatiaCtl.Copy(ftp, _ag_info, _entity.Ruta);
                        }
                    }
                    else
                    {
                        HipatiaCtl.Copy(ftp, _ag_info, _entity.Ruta);
                    }
                }
                //Estamos reemplazando uno existente
                else
                {
                    HipatiaCtl.ExistsDirectory(ftp, _doc.Ruta);
                    HipatiaCtl.Copy(ftp, _ag_info, _entity.Ruta);
                }
            }
            catch (Exception ex)
            {
                PgMng.Result = BGResult.Error;
                throw new iQException(Resources.Messages.OPERATION_ERROR + Environment.NewLine + ex.Message);
            }

            _entity.Ruta = HipatiaCtl.GetAgenteDirectory(ftp, _ag_info) + "/" + _entity.Nombre;
            PgMng.Grow();

            PgMng.Message = Resources.Messages.CLOSING_SERVER;
            PgMng.Grow();

            _entity.ApplyEdit();
            _entity.Save();
            PgMng.Grow();
        }