/// <summary>
        /// Sprawdza, czy z danej instancji FtpGetWorkera pobrano już dany plik
        /// </summary>
        /// <param name="file">Dane pliku</param>
        /// <returns>Komunikat o ewentualnym błędzie</returns>
        public static (bool, string) VerifyFile(FtpFileModel file)
        {
            SqlConnection conn = new SqlConnection(IFtpDiligentDatabaseClient.connStr);
            SqlCommand    cmd  = conn.CreateCommand();

            cmd.CommandText = "exec [ftp].[sp_check_file] @ins_xx,@file_name,@file_size,@file_date";
            var par = cmd.Parameters;

            par.Add("ins_xx", SqlDbType.Int).Value             = file.Instance;
            par.Add("file_name", SqlDbType.VarChar, 256).Value = file.FileName;
            par.Add("file_size", SqlDbType.BigInt).Value       = file.FileSize;
            par.Add("file_date", SqlDbType.DateTime2).Value    = file.FileDate;

            var(status, msg) = ExecuteScalar <int>(cmd);
            return(status > 0, msg);
        }
Beispiel #2
0
        /// <summary>
        /// Sprawdza, czy z danej instancji FtpGetWorkera pobrano już dany plik
        /// </summary>
        /// <param name="file">Dane pliku</param>
        /// <returns>Komunikat o ewentualnym błędzie</returns>
        public static (bool, string) VerifyFile(FtpFileModel file)
        {
            OracleConnection conn = new OracleConnection(IFtpDiligentDatabaseClient.connStr);
            OracleCommand    cmd  = conn.CreateCommand();

            cmd.CommandText = "select check_file(:ins_xx,:file_name,:file_size,:file_date) from dual";
            var par = cmd.Parameters;

            par.Add("ins_xx", OracleDbType.Int32).Value            = file.Instance;
            par.Add("file_name", OracleDbType.Varchar2, 256).Value = file.FileName;
            par.Add("file_size", OracleDbType.Int64).Value         = file.FileSize;
            par.Add("file_date", OracleDbType.Date).Value          = file.FileDate;

            var(status, msg) = ExecuteScalarAsync <decimal>(cmd).Result;
            return(status > 0, msg);
        }
Beispiel #3
0
        /// <summary>
        /// U¿ywana w trybie: UniqueDateAndSizeInDatabase. Sprawdza, czy z danej instancji FtpGetWorkera pobrano ju¿ dany plik
        /// </summary>
        /// <param name="sFileName">Nazwa liku</param>
        /// <param name="lLength">D³ugoœæ pliku</param>
        /// <param name="dtDate">Data ostatniej modyfikacji pliku</param>
        /// <returns>Czy z danej instancji FtpGetWorkera pobrano ju¿ dany plik</returns>
        public bool CheckDatabase(string sFileName, long lLength, DateTime dtDate)
        {
            var file = new FtpFileModel()
            {
                Instance = m_mainWnd.m_instance,
                FileName = sFileName,
                FileSize = lLength,
                FileDate = dtDate
            };

            var(status, errmsg) = FtpDiligentDatabaseClient.VerifyFile(file);
            if (!string.IsNullOrEmpty(errmsg))
            {
                m_mainWnd.ShowErrorInfo(eSeverityCode.Error, errmsg);
                return(false);
            }

            return(status);
        }