Exemple #1
0
 /// <summary>
 /// Konstruktor FtpUtility dla pojedynczych usług
 /// </summary>
 /// <param name="endpoint">Parametry serwera</param>
 /// <param name="window">Główne okno aplikacji</param>
 public FtpUtilityBase(FtpEndpointModel endpoint, MainWindow window)
 {
     m_mainWnd   = window;
     m_showError = window.m_showError;
     m_SyncMode  = eSyncFileMode.AllFiles;
     FromFtpEndpoint(endpoint);
 }
        /// <summary>
        /// Tworzenie, modyfikacja, usunięcie endpointu FTP
        /// </summary>
        /// <param name="endpoint">Definicja endpointu</param>
        /// <param name="mode">Rodzaj operacji</param>
        /// <returns>Komunikat o ewentualnym błędzie</returns>
        public static string ModifyEndpoint(FtpEndpointModel endpoint, eDbOperation mode)
        {
            SqlCommand cmd = guiConn.CreateCommand();

            cmd.CommandText = "exec [ftp].[sp_modify_endpoint] @mode,@xx,@ins_xx,@host,@userid,@passwd,@remdir,@locdir,@transprot,@transdir,@transmode";
            var par = cmd.Parameters;

            par.Add("mode", SqlDbType.Int).Value            = (int)mode;
            par.Add("xx", SqlDbType.Int).Value              = endpoint.xx;
            par.Add("ins_xx", SqlDbType.Int).Value          = endpoint.insXX;
            par.Add("host", SqlDbType.VarChar, 64).Value    = endpoint.host;
            par.Add("userid", SqlDbType.VarChar, 32).Value  = endpoint.uid;
            par.Add("passwd", SqlDbType.VarChar, 32).Value  = endpoint.pwd;
            par.Add("remdir", SqlDbType.VarChar, 256).Value = endpoint.remDir;
            par.Add("locdir", SqlDbType.VarChar, 256).Value = endpoint.locDir;
            par.Add("transprot", SqlDbType.TinyInt).Value   = endpoint.protocol;
            par.Add("transdir", SqlDbType.TinyInt).Value    = endpoint.direction;
            par.Add("transmode", SqlDbType.TinyInt).Value   = endpoint.mode;

            if (mode == eDbOperation.Insert)
            {
                return(ExecuteNonQueryStoreKey(cmd));
            }
            else
            {
                return(ExecuteNonQuery(cmd));
            }
        }
Exemple #3
0
        /// <summary>
        /// Tworzenie, modyfikacja, usunięcie endpointu FTP
        /// </summary>
        /// <param name="endpoint">Definicja endpointu</param>
        /// <param name="mode">Rodzaj operacji</param>
        /// <returns>Komunikat o ewentualnym błędzie</returns>
        public static string ModifyEndpoint(FtpEndpointModel endpoint, eDbOperation mode)
        {
            OracleCommand cmd = guiConn.CreateCommand();

            cmd.CommandText = "begin modify_endpoint(:mode,:xx,:ins_xx,:host,:userid,:passwd,:remdir,:locdir,:transprot,:transdir,:transmode); end;";
            var par = cmd.Parameters;

            par.Add("mode", OracleDbType.Int32).Value           = (int)mode;
            par.Add("xx", OracleDbType.Int32).Value             = endpoint.xx;
            par.Add("ins_xx", OracleDbType.Int32).Value         = endpoint.insXX;
            par.Add("host", OracleDbType.Varchar2, 64).Value    = endpoint.host;
            par.Add("userid", OracleDbType.Varchar2, 32).Value  = endpoint.uid;
            par.Add("passwd", OracleDbType.Varchar2, 32).Value  = endpoint.pwd;
            par.Add("remdir", OracleDbType.Varchar2, 256).Value = endpoint.remDir;
            par.Add("locdir", OracleDbType.Varchar2, 256).Value = endpoint.locDir;
            par.Add("transprot", OracleDbType.Byte).Value       = endpoint.protocol;
            par.Add("transdir", OracleDbType.Byte).Value        = endpoint.direction;
            par.Add("transmode", OracleDbType.Byte).Value       = endpoint.mode;

            if (mode == eDbOperation.Insert)
            {
                return(ExecuteNonQueryStoreKeyAsync(cmd, 1).Result);
            }
            else
            {
                return(ExecuteNonQueryAsync(cmd).Result);
            }
        }
Exemple #4
0
 /// <summary>
 /// Konstruktor FtpUtility sterowanego przez <see>FtpDispatcher</see>
 /// </summary>
 /// <param name="endpoint">Parametry serwera</param>
 /// <param name="dispatcher">Obiekt sterujący wątkami</param>
 /// <param name="mode">Algorytm kwalifikacji plików do transferu</param>
 public FtpUtilityBase(FtpEndpointModel endpoint, FtpDispatcher dispatcher, eSyncFileMode mode)
 {
     m_SyncMode  = mode;
     m_Disp      = dispatcher;
     m_mainWnd   = dispatcher.m_mainWnd;
     m_showError = m_mainWnd.m_showError;
     FromFtpEndpoint(endpoint);
 }
Exemple #5
0
 /// <summary>
 /// Konstruktor FtpUtility dla pojedynczych usług
 /// </summary>
 /// <param name="endpoint">Parametry serwera</param>
 /// <param name="window">Główne okno aplikacji</param>
 public FtpHotfolderWatcher(FtpEndpointModel endpoint, MainWindow window)
 {
     m_mainWnd       = window;
     m_ftpUtility    = IFtpUtility.Create(endpoint, window);
     m_log.xx        = -endpoint.xx;
     m_log.syncTime  = DateTime.Now;
     m_log.direction = eFtpDirection.HotfolderPut;
     RegisterWatcher();
 }
Exemple #6
0
 /// <summary>
 /// Inicjalizuje własności zależne od endpointu
 /// </summary>
 /// <param name="endpoint">Dane endpointu</param>
 private void FromFtpEndpoint(FtpEndpointModel endpoint)
 {
     m_sHost         = endpoint.host;
     m_sUser         = endpoint.uid;
     m_sPass         = endpoint.pwd;
     m_sRemoteDir    = endpoint.remDir;
     m_sLocalDir     = endpoint.locDir;
     m_dtLastRefresh = endpoint.lastSync;
     m_TransferMode  = endpoint.mode;
 }
Exemple #7
0
        /// <summary>
        /// Pobiera informację o parametrach serwera do bieżącego zadania do wykonania
        /// </summary>
        /// <param name="schedule">Identyfikator pozycji harmonogramu</param>
        /// <returns>
        /// Informacje o endpoincie, napis "0", gdy nie ma endpointu dla harmonogramu
        /// lub komunikat o błędzie z bazy danych
        /// </returns>
        public static async Task <(FtpEndpointModel, string)> SelectEndpoint(int schedule)
        {
            var ret = new FtpEndpointModel();
            OracleConnection conn = new OracleConnection(IFtpDiligentDatabaseClient.connStr);
            OracleCommand    cmd  = conn.CreateCommand();

            cmd.Parameters.Add("sch_xx", OracleDbType.Int32).Value         = schedule;
            cmd.Parameters.Add("refCur", OracleDbType.RefCursor).Direction = ParameterDirection.Output;
            cmd.CommandText = "begin endpoint_for_schedule(:sch_xx,:refCur); end;";

            try {
                await conn.OpenAsync();

                var odr = await cmd.ExecuteReaderAsync(CommandBehavior.SingleRow);

                if (!odr.Read())
                {
                    return(ret, "0");
                }

                ret.host      = odr.GetString(0);
                ret.uid       = odr.GetString(1);
                ret.pwd       = odr.GetString(2);
                ret.remDir    = odr.GetString(3);
                ret.locDir    = odr.GetString(4);
                ret.lastSync  = odr.GetDateTime(5);
                ret.nextSync  = odr.GetDateTime(6);
                ret.protocol  = (eFtpProtocol)odr.GetByte(7);
                ret.direction = (eFtpDirection)odr.GetByte(8);
                ret.mode      = (eFtpTransferMode)odr.GetByte(9);
                odr.Close();
            } catch (OracleException oex) {
                return(ret, OracleMessageFormatter.FirstLine(oex.Message));
            } catch (Exception sex) {
                return(ret, sex.Message);
            } finally {
                conn.Close();
            }

            return(ret, string.Empty);
        }
        /// <summary>
        /// Pobiera informację o parametrach serwera do bieżącego zadania do wykonania
        /// </summary>
        /// <param name="schedule">Identyfikator pozycji harmonogramu</param>
        /// <returns>
        /// Informacje o endpoincie, napis "0", gdy nie ma endpointu dla harmonogramu
        /// lub komunikat o błędzie z bazy danych
        /// </returns>
        public static async Task <(FtpEndpointModel, string)> SelectEndpoint(int schedule)
        {
            var           ret  = new FtpEndpointModel();
            SqlConnection conn = new SqlConnection(IFtpDiligentDatabaseClient.connStr);
            SqlCommand    cmd  = conn.CreateCommand();

            cmd.Parameters.Add("sch_xx", SqlDbType.Int).Value = schedule;
            cmd.CommandText = "exec [ftp].[sp_endpoint_for_schedule] @sch_xx";

            try {
                await conn.OpenAsync();

                var sdr = await cmd.ExecuteReaderAsync(CommandBehavior.SingleRow);

                if (!sdr.Read())
                {
                    return(ret, "0");
                }
                ret.host      = sdr.GetString(0);
                ret.uid       = sdr.GetString(1);
                ret.pwd       = sdr.GetString(2);
                ret.remDir    = sdr.GetString(3);
                ret.locDir    = sdr.GetString(4);
                ret.lastSync  = sdr.GetDateTime(5);
                ret.nextSync  = DateTime.Now;
                ret.protocol  = (eFtpProtocol)sdr.GetByte(6);
                ret.direction = (eFtpDirection)sdr.GetByte(7);
                ret.mode      = (eFtpTransferMode)sdr.GetByte(8);
                sdr.Close();
            } catch (SqlException oex) {
                return(ret, oex.Message);
            } catch (Exception sex) {
                return(ret, sex.Message);
            } finally {
                conn.Close();
            }

            return(ret, string.Empty);
        }
Exemple #9
0
 /// <summary>
 /// Konstruktor FtpUtility dla pojedynczych us³ug
 /// </summary>
 /// <param name="endpoint">Parametry serwera</param>
 /// <param name="window">G³ówne okno aplikacji</param>
 public FtpsUtility(FtpEndpointModel endpoint, MainWindow window)
     : base(endpoint, window)
 {
 }
Exemple #10
0
 /// <summary>
 /// Konstruktor FtpUtility sterowanego przez <see>FtpDispatcher</see>
 /// </summary>
 /// <param name="endpoint">Parametry serwera</param>
 /// <param name="dispatcher">Obiekt steruj¹cy w¹tkami</param>
 /// <param name="mode">Algorytm kwalifikacji plików do transferu</param>
 public FtpsUtility(FtpEndpointModel endpoint, FtpDispatcher dispatcher, eSyncFileMode mode)
     : base(endpoint, dispatcher, mode)
 {
 }