internal static bool SQLBindColumn(ODBCHStatement statementHandle, ODBCData column) { var result = ODBCNativeMethods.SQLBindCol(statementHandle, column.ColumnNumber, column.ColumnType, column.ColumnData, column.ColumnDataLength, out column.ColumnDataRealLength); if ((result != ODBCResult.Success) & (result != ODBCResult.SuccessWithInfo)) { throw GetException(statementHandle, "Error binding columns"); } return(true); }
static void Main(string[] args) { Logger.LogWrite("MSG", "Start: " + DateTime.Now.ToString()); // Declare and defaults int odbcCnt = 0; int insertCnt = 0; int importCnt = 0; #region FromSTRATIX ODBCData objODBC = new ODBCData(); List <IPTPSH> lstIPTPSH = new List <IPTPSH>(); // Get data from Straix try { lstIPTPSH = objODBC.Get_IPTPSH(); } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return"); return; } #endregion #region ToSQL SQLData objSQL = new SQLData(); // Only work in SQL database, if records were retreived from Stratix if (lstIPTPSH.Count != 0) { odbcCnt = lstIPTPSH.Count; // Put Stratix data in lstIPTPSH into IMPORT IPTPSH table try { importCnt = objSQL.Write_IPTPSH_IMPORT(lstIPTPSH); } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return"); return; } // Call SP to put IMPORT IPTPSH table data into WIP IPTPSH table try { insertCnt = objSQL.Write_IMPORT_to_IPTPSH(); } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return"); return; } Logger.LogWrite("MSG", "ODBC/IMPORT/INSERT=" + odbcCnt.ToString() + ":" + importCnt.ToString() + ":" + insertCnt.ToString()); } else { Logger.LogWrite("MSG", "No data"); } Logger.LogWrite("MSG", "End: " + DateTime.Now.ToString()); #endregion // Testing //Console.WriteLine("Press key to exit"); //Console.ReadKey(); }
static void Main(string[] args) { Logger.LogWrite("MSG", "Start: " + DateTime.Now.ToString()); // Args will change based on STXtoSQL program goal string date1 = ""; string date2 = ""; int odbcCnt = 0; int insertCnt = 0; int importCnt = 0; // Get args try { if (args.Length > 0) { /* * Must be in format mm/dd/yyyy. No time part */ date1 = args[0].ToString(); date2 = args[1].ToString(); } else { /* * No args * Date range will be 1st of month to yesterday */ DateTime dtToday = DateTime.Today; DateTime dtFirst = new DateTime(dtToday.Year, dtToday.Month, 1); /* * Need one date part of datetime. * Time and date are separated by a space, so split the string * and only use the 1st element. */ string[] date1Split = dtFirst.ToString().Split(' '); string[] date2Split = dtToday.AddDays(-1).ToString().Split(' '); date1 = date1Split[0]; date2 = date2Split[0]; } } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return"); return; //Console.WriteLine(ex.Message.ToString()); } #region FromSTRATIX ODBCData objODBC = new ODBCData(); List <IPJRAN> lstIPJRAN = new List <IPJRAN>(); // Get data from Straix by date range try { lstIPJRAN = objODBC.Get_IPJRAN(date1, date2); } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return"); return; //Console.WriteLine(ex.Message.ToString()); } #endregion #region ToSQL SQLData objSQL = new SQLData(); // Only work in SQL database, if records were retreived from Stratix if (lstIPJRAN.Count != 0) { odbcCnt = lstIPJRAN.Count; // Put Stratix data in lstIPJRAN into IMPORT IPJRAN table try { importCnt = objSQL.Write_IPJRAN_IMPORT(lstIPJRAN); } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return"); return; //Console.WriteLine(ex.Message.ToString()); } // Call SP to put IMPORT IPJRAN table data into WIP IPJRAN table try { //insertCnt = objSQL.Write_IMPORT_to_IPJRAN(date1, date2); } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return"); return; //Console.WriteLine(ex.Message.ToString()); } Logger.LogWrite("MSG", "Range=" + date1 + ":" + date2 + " ODBC/IMPORT/INSERT=" + odbcCnt.ToString() + ":" + importCnt.ToString() + ":" + insertCnt.ToString()); } else { Logger.LogWrite("MSG", "No data"); } Logger.LogWrite("MSG", "End: " + DateTime.Now.ToString()); #endregion // Testing Console.WriteLine("Press key to exit"); Console.ReadKey(); }
static void Main(string[] args) { Logger.LogWrite("MSG", "Start: " + DateTime.Now.ToString()); // Declare and defaults int odbcCnt = 0; int insertCnt = 0; int importCnt = 0; int arborCnt = 0; #region FromSTRATIX ODBCData objODBC = new ODBCData(); List <IPTFRA> lstIPTFRA = new List <IPTFRA>(); try { lstIPTFRA = objODBC.Get_IPTFRA(); } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return"); return; } #endregion #region ToSQL SQLData objSQL = new SQLData(); // Only work in SQL database, if records were retreived from Stratix if (lstIPTFRA.Count != 0) { odbcCnt = lstIPTFRA.Count; // Put Stratix data in lstIPTFRA into IMPORT IPTFRA table try { importCnt = objSQL.Write_IPTFRA_IMPORT(lstIPTFRA); } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return"); return; } /* * Build a more useful arbor from the Stratix data for each job * Build Arbor from IMPORT and into Arbor table */ try { arborCnt = objSQL.Build_Arbor(); } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return"); return; } // Call SP to put IMPORT IPTFRA table data into WIP IPTFRA table try { insertCnt = objSQL.Write_IMPORT_to_IPTFRA(); } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return"); return; } Logger.LogWrite("MSG", "ODBC/IMPORT/ARBOR/INSERT=" + odbcCnt.ToString() + ":" + importCnt.ToString() + ":" + arborCnt.ToString() + ":" + insertCnt.ToString()); } else { Logger.LogWrite("MSG", "No data"); } Logger.LogWrite("MSG", "End: " + DateTime.Now.ToString()); #endregion // Testing //Console.WriteLine("Press key to exit"); //Console.ReadKey(); }
static void Main(string[] args) { Logger.LogWrite("MSG", "Start: " + DateTime.Now.ToString()); string date1 = ""; string date2 = ""; // Declare and defaults int odbcCnt = 0; int insertCnt = 0; int importCnt = 0; int dupCnt = 0; // Get args try { if (args.Length > 0) { /* * Must be in format mm/dd/yyyy. No time part */ date1 = args[0].ToString(); date2 = args[1].ToString(); } else { // No args = current month to yesterday DateTime dtToday = DateTime.Today; DateTime dtFirst; /* * If 1st day of month, start from the last day of previous month * or that day will be missed in the report * ex: Today os 8/1, dtFirst should be 7/31 */ if (DateTime.Today.Day == 1) { // Get number of days in previous month int dtDaysInMonth = DateTime.DaysInMonth(dtToday.Year, dtToday.Month - 1); // Create new DateTime using last month and last day of last month dtFirst = new DateTime(dtToday.Year, dtToday.Month - 1, dtDaysInMonth); } else { dtFirst = new DateTime(dtToday.Year, dtToday.Month, 1); } /* * Need one date part of datetime. * Time and date are separated by a space, so split the string * and only use the 1st element. */ string[] date1Split = dtFirst.ToString().Split(' '); string[] date2Split = dtToday.AddDays(-1).ToString().Split(' '); date1 = date1Split[0]; date2 = date2Split[0]; } } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return"); return; } #region FromSTRATIX ODBCData objODBC = new ODBCData(); List <IPJRAN> lstIPJRAN = new List <IPJRAN>(); // Get data from Straix by date range try { lstIPJRAN = objODBC.Get_IPJRAN(date1, date2); } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return"); return; } #endregion #region ToSQL SQLData objSQL = new SQLData(); // Only work in SQL database, if records were retreived from Stratix if (lstIPJRAN.Count != 0) { odbcCnt = lstIPJRAN.Count; // Put Stratix data in lstIPJRAN into IMPORT IPJRAN table try { importCnt = objSQL.Write_IPJRAN_IMPORT(lstIPJRAN); } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return"); return; } /* * Jobs that contain more than one item to consume will have duplicate Jobs in IPJRAN. * Need to Sum(Lbs) of duplicate jobs into one row and delete the other rows. */ try { dupCnt = objSQL.Clean_Dup_Jobs_IMPORT(); } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return"); return; } // Call SP to put IMPORT IPJRAN table data into WIP IPJRAN table try { insertCnt = objSQL.Write_IMPORT_to_IPJRAN(date1, date2); } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return"); return; } Logger.LogWrite("MSG", "Range=" + date1 + ":" + date2 + " ODBC/IMPORT/DUPS/INSERT=" + odbcCnt.ToString() + ":" + importCnt.ToString() + ":" + dupCnt.ToString() + ":" + insertCnt.ToString()); } else { Logger.LogWrite("MSG", "No data"); } Logger.LogWrite("MSG", "End: " + DateTime.Now.ToString()); #endregion // Testing //Console.WriteLine("Press key to exit"); //Console.ReadKey(); }
static void Main(string[] args) { // Args will change based on STXtoSQL program goal //List<string> lstArgs = new List<string>(); string date1 = ""; string date2 = ""; try { if (args.Length > 0) { // args = date range date1 = args[0].ToString(); date2 = args[1].ToString(); } else { // No args = yesterday // Yesterday = -1. testing = -2 or more DateTime dtYst = DateTime.Now.AddDays(-3); date1 = dtYst.Month.ToString() + "/" + dtYst.Day.ToString() + "/" + dtYst.Year.ToString(); date2 = date1; } } catch (Exception ex) { Console.WriteLine(ex.Message.ToString()); } // Testing Console.WriteLine(date1 + " / " + date2); #region FromSTRATIX ODBCData objODBC = new ODBCData(); List <Sales> lstSales = new List <Sales>(); try { lstSales = objODBC.Get_Sales(date1, date2); } catch (Exception ex) { Console.WriteLine(ex.Message.ToString()); } // Testing Console.WriteLine("Retrieve records: " + lstSales.Count.ToString()); //foreach (Sales b in lstSales) //{ // Console.WriteLine(b.qlf + " / " + b.brh + " / " + b.pep + " / " + b.wgt + " / " + b.val + " / " + b.avg_val + " / " + b.inv_dt + " / " + b.mn.ToString() + " / " + b.dy.ToString() + " / " + b.yr.ToString()); //} #endregion #region ToSQL int rowCnt = 0; SQLData objSQL = new SQLData(); // Only work in SQL database, if records were retreived from Stratix if (lstSales.Count != 0) { // Put lstSales into TMP Sales table try { rowCnt = objSQL.Write_Sales_TMP(lstSales); Console.WriteLine("TMP inserted: " + rowCnt.ToString()); } catch (Exception ex) { Console.WriteLine(ex.Message.ToString()); } // Call SP to put TMP Sales into Sales table try { rowCnt = objSQL.Write_TMP_to_Sales(); Console.WriteLine("Sales inserted: " + rowCnt.ToString()); } catch (Exception ex) { Console.WriteLine(ex.Message.ToString()); } } #endregion // Testing Console.WriteLine("Press key to exit"); Console.ReadKey(); }
static void Main(string[] args) { Logger.LogWrite("MSG", "Start: " + DateTime.Now.ToString()); // Args initialization bool emailIt = false; /* * Copy empty File from templates to destination folder * Create a full path to pass to Excel methods */ string fileName = ConfigurationManager.AppSettings.Get("FileName"); string templatePath = ConfigurationManager.AppSettings.Get("TemplatePath"); string destPath = ConfigurationManager.AppSettings.Get("DestPath"); File.Copy(Path.Combine(templatePath, fileName), Path.Combine(destPath, fileName), true); // Pass to Excel methods to be used in OleDb connection string string fullPath = Path.Combine(destPath, fileName); #region Args /* * arg options: * 1. Email = true or false */ try { // More than 1 arg[] is invalid, else get Email value from arg[0] if ((args.Length != 1)) { Logger.LogWrite("MSG", "Invalid number of args[]"); Logger.LogWrite("MSG", "Return on args[]"); return; } else { emailIt = Convert.ToBoolean(args[0]); } } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return on Args"); return; } #endregion #region ODBCData ODBCData objQDS = new ODBCData(); List <QDSDataModel> lstLogData = new List <QDSDataModel>(); try { lstLogData = objQDS.Get_QDSNotAppv(); } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return on LogData"); return; } #endregion #region Excel /* * Export each List<object> to correct XLS tab */ ExcelExport objXLS = new ExcelExport(); // Log - Tab try { objXLS.WriteQDSNotAppv(lstLogData, fullPath); } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return on Bookings XLS"); return; } #endregion #region Email /* * Emailing the file is optoinal * emailIt = true or false */ if (emailIt) { List <EmployeesReportsModel> lstEmpReports = new List <EmployeesReportsModel>(); SQLData objSQL_Rpts = new SQLData(); try { lstEmpReports = objSQL_Rpts.Get_Emp_Reports("QDSDaily"); } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return on Emp Rpts"); return; } try { string emailTo = ConfigurationManager.AppSettings.Get("EmailTo"); string pwd365 = Environment.GetEnvironmentVariable("sysOffice365PWD"); MailMessage mail = new MailMessage(); SmtpClient SmtpServer = new SmtpClient("smtp.office365.com"); mail.From = new MailAddress("*****@*****.**"); mail.Subject = "QDS - Daily"; mail.Body = "Report attached"; //Build To: line from emails in list of EmployeesReportsModel foreach (EmployeesReportsModel e in lstEmpReports) { Logger.LogWrite("MSG", "Email: " + e.email.ToString()); mail.To.Add(e.email.ToString()); } // Add attachment Attachment attach; attach = new Attachment(fullPath); mail.Attachments.Add(attach); SmtpServer.Port = 587; SmtpServer.Credentials = new System.Net.NetworkCredential("*****@*****.**", pwd365); SmtpServer.EnableSsl = true; SmtpServer.Send(mail); Logger.LogWrite("MSG", "Email: " + emailTo); } catch (Exception ex) { Logger.LogWrite("EXC", ex); Logger.LogWrite("MSG", "Return on Email"); return; } } else { Logger.LogWrite("MSG", "No email"); } #endregion // Made it to the end Logger.LogWrite("MSG", "End: " + DateTime.Now.ToString()); // Testing //Console.WriteLine("Press key to exit"); //Console.ReadKey(); }