private void ProcessTransaction() { string fields = ""; string user = ""; if (FSTI.AmalgammaFSTI_Initialization()) { if (FSTI.AmalgammaFSTI_Logon()) { #region Processing for (int i = 0; i < dataGridView1.Rows.Count; i++) { switch (dataGridView1.Rows[0].Cells[1].Value.ToString()) { case "MORV": { #region DoMorv fields = dataGridView1.Rows[i].Cells[2].Value.ToString(); user = dataGridView1.Rows[i].Cells[3].Value.ToString(); if (FSTI.AmalgammaFSTI_MORV00(fields, user)) { listBox1.Items.Add(""); listBox1.Items.Add(">>" + DateTime.Now.ToString("MM/dd/yy hh:mm") + " Transaction precessed correctly - " + FSTI.CDFResponse.ToString()); string query = "UPDATE Amal_FSTI_Transactions " + " SET TransactionProcessedYN = 1 " + " ,FSResponse = '" + FSTI.CDFResponse.ToString() + "'" + " ,FSError = 0" + " ,DateStampOut = GetDate()" + " WHERE (FSTI_Transaction_key=" + dataGridView1.Rows[i].Cells[0].Value.ToString() + ")"; DBMNG.Execute_Command(query); } else { listBox1.Items.Add(""); listBox1.Items.Add(">>" + DateTime.Now.ToString("MM/dd/yy hh:mm") + " Transaction Failed - Error:" + FSTI.Trans_Error_Msg + " Fields: " + fields); listBox1.Items.AddRange(FSTI.DetailError.ToArray()); string error = FSTI.Trans_Error_Msg.Replace('\'', '"'); string query = "UPDATE Amal_FSTI_Transactions " + " SET TransactionProcessedYN = 1 " + " ,FSResponse = '" + error + "'" + " ,FSError = 1" + " ,DateStampOut = GetDate()" + " WHERE (FSTI_Transaction_key=" + dataGridView1.Rows[i].Cells[0].Value.ToString() + ")"; DBMNG.Execute_Command(query); } #endregion break; } default: { break; } } } #endregion FSTI.AmalgammaFSTI_Stop(); } else { listBox1.Items.Add(""); listBox1.Items.Add(">>" + DateTime.Now.ToString("MM/dd/yy hh:mm") + " Error during Logon - " + FSTI.FSTI_ErrorMsg); FSTI.AmalgammaFSTI_Stop(); } } else { listBox1.Items.Add(""); listBox1.Items.Add(">>" + DateTime.Now.ToString("MM/dd/yy hh:mm") + " Error during Initialization - " + FSTI.FSTI_ErrorMsg); FSTI.AmalgammaFSTI_Stop(); } //FSTI.AmalgammaFSTI_Stop(); }
/* * bool FS_Initialize_Client() * { * if (!FSTI_initialized) * { * try * { * _fstiClient = new FSTIClient(); * * // call InitializeByConfigFile * // second parameter == true is to participate in unified logon * // third parameter == false, no support for impersonation is needed * * _fstiClient.InitializeByConfigFile(textConfig.Text, true, false); * * FSTI_initialized = true; * * // Since this program is participating in unified logon, need to * // check if a logon is required. * * if (_fstiClient.IsLogonRequired) * { * // Logon is required, enable the logon button * FSTI_Login.Enabled = true; * FSTI_Login.Focus(); * } * else * { * // Logon is not required (because of unified logon), enable the SubmitItem button * //FSTI_Logout.Enabled = true; * //FSTI_Logout.Focus(); * * Server_Start.Enabled = true; * FSTI_CloseClient.Enabled = true; * * } * // Disable the Initialize button * FSTI_Ini.Enabled = false; * return true; * * } * catch (FSTIApplicationException exception) * { * //MessageBox.Show(exception.Message, "FSTIApplication Exception"); * * * string EmailTo = "*****@*****.**"; * string Subject = "FS Movements Error " + DateTime.Now.ToString("MM-dd-yyy hh-mm"); ; * * //AlternateView body= * string Body = "Server Error: " + exception.Message; * mail.CreateMessage(EmailTo, Subject, Body); * mail.SendEmail(); * * _fstiClient.Terminate(); * _fstiClient = null; * return false; * } * } * * return true; * } * private void FS_Login_Client() * { * string message = null; // used to hold a return message, from the logon * int status; // receives the return value from the logon call * if (!FSTI_loged) * { * status = _fstiClient.Logon(FS_User.Text, FS_Pass.Text, ref message); * if (status > 0) * { * MessageBox.Show("Invalid user id or password"); * } * else * { * FSTI_Login.Enabled = false; * Server_Start.Enabled = true; * FSTI_CloseClient.Enabled = true; * FSTI_loged = true; * } * } * } * private void FS_Close_Client() * { * if (!HangFS.Checked) * { * timer1.Stop(); * Server_Start.Enabled = true; * Server_Stop.Enabled = false; * * if (_fstiClient != null) * { * _fstiClient.Terminate(); * _fstiClient = null; * } * FSTI_Ini.Enabled = true; * FSTI_CloseClient.Enabled = false; * FSTI_initialized = false; * FSTI_loged = false; * } * } */ #endregion #region Eventos Server Configuration private void timer1_Tick(object sender, EventArgs e) { timer1.Stop(); string update = ""; string query = "SELECT _CAP_Shipment_Header.ShipmentNumber, _CAP_Shipment_Header.ShipmentType, _CAP_Shipment_Header.ShipmentStatus " + ", _CAP_Shipment_Line.ItemNumber, _CAP_Shipment_Line.StockRoomFrom, _CAP_Shipment_Line.BinFrom, _CAP_Shipment_Line.ItemUM " + ", _CAP_Shipment_Line.InventoryCat, _CAP_Shipment_Line.InventoryQTY, _CAP_Shipment_Line.FSTI_TransactionStatus " + ", _CAP_Shipment_Line.FSTI_TransactionMessage, _CAP_Shipment_Line.StockRoomTo, _CAP_Shipment_Line.BinTo " + ", _CAP_Shipment_Line.CapShipmentLineKey, _CAP_Shipment_Line.CapShipmentHeaderKey, _CAP_Shipment_Line.ItemKey, _CAP_Shipment_Line.LotNo " + "FROM _CAP_Shipment_Header INNER JOIN _CAP_Shipment_Line ON _CAP_Shipment_Header.CapShipmentHeadertKey = " + "_CAP_Shipment_Line.CapShipmentHeaderKey " + "WHERE (_CAP_Shipment_Line.FSTI_TransactionStatus = 0) AND (_CAP_Shipment_Header.ShipmentType = 'Close') " + "AND (_CAP_Shipment_Header.ShipmentStatus = 'Shipped') AND (_CAP_Shipment_Line.IsFSExternal = 0)"; //string query = "SELECT * FROM _CAP_Shipment_Line"; //string query2 = "SELECT _CAP_Shipment_Line.CapShipmentHeaderKey, _CAP_Shipment_Line.ItemNumber, _CAP_Shipment_Line.InventoryQTY, _CAP_Shipment_Line.StockRoomFrom, "+ // " _CAP_Shipment_Line.BinFrom, _CAP_Shipment_Line.InventoryCat, _CAP_Shipment_Line.StockRoomTo, _CAP_Shipment_Line.BinTo, "+ // " _CAP_Shipment_Line.IsFSExternal, _CAP_Shipment_Line.FSTI_Error, _CAP_Shipment_Line.FSTI_TransactionStatus, "+ // " _CAP_Shipment_Line.FSTI_TransactionMessage, _CAP_Shipment_Line.ItemKey " + // " FROM _CAP_Shipment_Header INNER JOIN "+ // " _CAP_Shipment_Line ON _CAP_Shipment_Header.CapShipmentHeadertKey = _CAP_Shipment_Line.CapShipmentHeaderKey "+ // " WHERE (_CAP_Shipment_Header.ShipmentNumber = N'PRIMERA-072213') AND (_CAP_Shipment_Line.IsFSExternal = 0) AND (_CAP_Shipment_Line.FSTI_Error = 0)"; table = new DataTable(); table = Cliente_SQL.Execute_Query(query); if (table.Rows.Count != dataGridView1.Rows.Count) { dataGridView1.DataSource = table; } else { DataTable DGV = (DataTable)dataGridView1.DataSource; for (int i = 0; i < table.Rows.Count; i++) { for (int j = 0; j < table.Columns.Count; j++) { if (table.Rows[i][j].ToString() == DGV.Rows[i][j].ToString()) { //MessageBox.Show("Prueba"); } else { i = table.Rows.Count; j = table.Columns.Count; dataGridView1.DataSource = table; } } } } //dataGridView1.Rows[0]; bool ServerError = false; FSTI_Proceed = true; if (table.Rows.Count != 0) { try { if (Proceed_trans == true) { if (FSTI_Proceed == true) { //if (FS_Initialize_Client()) #region Initialization if (FSTI.AmalgammaFSTI_Initialization()) { #region FSTI Login if (FSTI.AmalgammaFSTI_Logon()) { #region FSTI Transaccion errors.Clear(); counterBad = 0; couterGood = 0; for (int i = 0; i < table.Rows.Count; i++) { //if (!ServerError) //{ // proceed(i); // //ServerError = FSTI.; //} if (proceed(i)) { ProcessingLog("Transaction ended Susccesfully: " + FSTI.CDFResponse, "info"); update = "UPDATE _CAP_Shipment_Line SET [FSTI_TransactionStatus] = 1,[FSTI_Error] = 0" + ",[FSTI_TransactionMessage] = '" + FSTI.CDFResponse + "' WHERE CapShipmentLineKey=" + table.Rows[i]["CapShipmentLineKey"].ToString(); Cliente_SQL.Execute_Command(update); couterGood++; } else { if (DB_IN_USE != FSTI.Trans_Error_Msg) { ProcessingLog("Transaction Fail: Error Message:" + FSTI.Trans_Error_Msg + " CDF: " + FSTI.CDFResponse, "error"); update = "UPDATE _CAP_Shipment_Line SET [FSTI_TransactionStatus] = 1" + ",[FSTI_Error] = 1" + ",[FSTI_TransactionMessage] = 'Error: " + FSTI.Trans_Error_Msg.Replace("'", "\"") +// " Transaction: "+myItem.GetString(TransactionStringFormat.fsCDF)+ "' WHERE CapShipmentLineKey=" + table.Rows[i]["CapShipmentLineKey"].ToString(); Cliente_SQL.Execute_Command(update); counterBad++; errors.Add("Part Number: " + table.Rows[i]["ItemNumber"].ToString() + " Error Message: " + FSTI.Trans_Error_Msg); } else { ProcessingLog("Transaction Fail: " + table.Rows[i]["ItemNumber"].ToString() + " - " + FSTI.Trans_Error_Msg, "warning"); } } } string EmailTo = "[email protected],[email protected]"; string Subject = "FS Movements " + DateTime.Now.ToString("MM-dd-yyy hh-mm");; //AlternateView body= string Body = ""; string Header = "Succesful: " + couterGood + " Fail: " + counterBad + Environment.NewLine + Environment.NewLine; for (int k = 0; k < errors.Count; k++) { Body = Body + errors[k] + Environment.NewLine; } //AlternateView HTMLbody = AlternateView.CreateAlternateViewFromString(Header + Body); //mail = null; //mail = new TOOLS.Email(); //mail.CreateMessageHTML(EmailTo, Subject, HTMLbody); //mail.SendEmail(); #endregion } else { //MessageBox.Show(FSTI.ErrorMsg, "Error During Login"); ProcessingLog("FSTI-Error During Login - " + FSTI.FSTI_ErrorMsg, "error"); FSTI_Error_Flag = true; } } #endregion else { //MessageBox.Show(FSTI.ErrorMsg, "Error During FSTI Inicialitation"); ProcessingLog("FSTI-Error During FSTI Inicialitation - " + FSTI.FSTI_ErrorMsg, "error"); FSTI_Error_Flag = true; } //FS_Close_Client(); FSTI.AmalgammaFSTI_Stop(); #endregion } } } catch (Exception ex) { ProcessingLog("FSTI-Error Exeption - " + ex.Message, "error"); //MessageBox.Show(ex.Message, "Error FSTI Exeption"); FSTI.AmalgammaFSTI_Stop(); } } timer1.Start(); }