// #region Import Jobs -- public static bool ImportJobs(int _importID) List estimateImports = null; JobImportProvider jip = JobImportProvider.Instance(); estimateImports = jip.GetEstimateImportFromAccess(lastUpdateTime); if (estimateImports == null) { return false; } jdp.ImportEstimateImportToSql(estimateImports); // Access Provider ---------------------------------------------- public override List GetEstimateImportFromAccess(DateTime lastImportDateTime) { List estimateImports = new List(); bool importAllRecords = DBVTConfiguration.GetConfig().ImportAllRecords; string sqlFilter = importAllRecords ? string.Empty : " where (DateAdded > #" + lastImportDateTime + "# or DateChanged > #" + lastImportDateTime + "#)"; using (OleDbConnection cn = GetOleDbConnection()) { string sql = "select" + sqlFilter; OleDbCommand cmd = new OleDbCommand(sql, cn); try { cn.Open(); } catch (OleDbException ex) { new CSException(CSExceptionType.JobsImportFromAccess, "Access tblEstimateImport Database Locked when trying to perform export.", ex).Log(); return null; } OleDbDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection); EstimateImport _estimateImport = null; while (dr.Read()) { _estimateImport = new EstimateImport(); PopulateEstimateImport(dr, _estimateImport); estimateImports.Add(_estimateImport); } dr.Close(); cn.Close(); } return estimateImports; } public abstract List GetEstimateImportFromAccess(DateTime lastImportDateTime); public static void PopulateEstimateImport(IDataReader dr, EstimateImport _estimateImport) { _estimateImport.JobNo = dr["jobno"] as string; _estimateImport.PhaseNo = dr["phaseno"] as string; _estimateImport.EstHoursLabor = (decimal)dr["esthourslabor"]; _estimateImport.CounterKey = (int)dr["counterkey"]; _estimateImport.ChangeOrderType = dr["changeordertype"] as string; } // JobDataSqlProvider ---------------------------------------------------------------------- public abstract void ImportEstimateImportToSql(List estimateImports); public override void ImportEstimateImportToSql(List estimateImports) { foreach (EstimateImport estimateImport in estimateImports) { using (SqlConnection cn = GetSqlConnection()) { using (SqlCommand cmd = new SqlCommand(databaseOwner + ".dbvt_import_estimateimport", cn)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@JobNo",SqlDbType.NVarChar,10).Value = estimateImport.JobNo; cmd.Parameters.Add("@PhaseNo",SqlDbType.NVarChar,3).Value = estimateImport.PhaseNo; cmd.Parameters.Add("@EstHoursLabor",SqlDbType.Decimal,5).Value = estimateImport.EstHoursLabor; cmd.Parameters.Add("@CounterKey",SqlDbType.Int,4).Value = estimateImport.CounterKey; cmd.Parameters.Add("@ChangeOrderType",SqlDbType.NVarChar,3).Value = DataHelper.StringOrNull(estimateImport.ChangeOrderType); cn.Open(); cmd.ExecuteNonQuery(); cn.Close(); } } } }