Example #1
0
        void impostaarticolo()
        {
            Caricamento carica = new Caricamento();

            carica.Show();
            Application.DoEvents();
            iDB2Connection DBCONN = new iDB2Connection(Program.myConnString);

            DBCONN.Open();

            iDB2Command myCommand = new iDB2Command();

            myCommand.Connection = DBCONN;

            myCommand.CommandText = "SELECT ararti, ardsar" +
                                    " FROM $emiedati.art00f a " +
                                    " order by ardsar";

            iDB2DataReader myReader = myCommand.ExecuteReader();

            DataTable dt = new DataTable();

            dt.Load(myReader);

            CMB_Articolo.DataSource    = dt;
            CMB_Articolo.DisplayMember = "ardsar";
            CMB_Articolo.ValueMember   = "ararti";
            carica.Close();
            DBCONN.Close();
        }
        /// <summary>
        /// Runs a command on the IBM i.
        /// </summary>
        /// <param name="cmdText">The command text.</param>
        /// <param name="cn">The connection object.</param>
        /// <returns></returns>
        public static bool RunCmd(string cmdText, iDB2Connection cn)
        {
            bool rc = true;

            // Construct a string which contains the call to QCMDEXC.
            string pgmParm = String.Format("CALL QSYS.QCMDEXC('{0}', {1})", cmdText.Replace("'", "''").Trim(), cmdText.Trim().Length.ToString("0000000000.00000"));

            using (cn)
            {
                using (iDB2Command cmd = new iDB2Command(pgmParm, cn))
                {
                    try
                    {
                        cmd.ExecuteNonQuery();
                    }
                    catch (Exception e)
                    {
                        rc = false;
                    }
                }
            }

            // Return success or failure
            return rc;
        }
Example #3
0
        private int PrimoNumeroLibero()
        {
            iDB2Connection DBCONN = new iDB2Connection(Program.myConnString);

            DBCONN.Open();

            iDB2Command myCommand = new iDB2Command();

            myCommand.Connection = DBCONN;

            myCommand.CommandText = "SELECT max(o.prog) " +
                                    " FROM $EMIEDATI.oda200f o " +
                                    " where NORD = " + _n;

            iDB2DataReader myReader = myCommand.ExecuteReader();

            if (myReader.HasRows)
            {
                while (myReader.Read())
                {
                    try
                    { return(myReader.GetInt32(0)); }
                    catch
                    { return(0); }
                }
            }
            else
            {
                return(0);
            }
            DBCONN.Close();
            return(0);
        }
        private void SceltaFornitore_Load(object sender, EventArgs e)
        {
            Caricamento carica = new Caricamento();

            carica.Show();
            Application.DoEvents();
            iDB2Connection DBCONN = new iDB2Connection(Program.myConnString);

            DBCONN.Open();

            iDB2Command myCommand = new iDB2Command();

            myCommand.Connection = DBCONN;

            myCommand.CommandText = "SELECT acscon, acrag1" +
                                    " FROM $d_emil.acf00f a " +
                                    " where actpcd = 'F'" +
                                    " order by acrag1";

            iDB2DataReader myReader = myCommand.ExecuteReader();

            DataTable dt = new DataTable();

            dt.Load(myReader);

            Cmb_Fornitore.DataSource    = dt;
            Cmb_Fornitore.DisplayMember = "acrag1";
            Cmb_Fornitore.ValueMember   = "acscon";
            carica.Close();
            DBCONN.Close();

            //primo numero libero
            lbl_ordine.Text = Convert.ToString(PrimoNumeroLibero() + 1);
        }
        private void getGroupIds()
        {
            //remove all preexisting data from the list
            groupIds.Clear();

            //Create connection to the iSeries
            iDB2Connection cn = new iDB2Connection();
            cn.ConnectionString = connectionString;

            //Create query
            iDB2Command cmd = new iDB2Command();
            cmd.CommandText = "Select group_id from ISSYSDTA.SHORETELINBOUNDGROUPS";

            cmd.Connection = cn;

            cn.Open();

            //Execute the sql statement. Get a Data Reader object 
            iDB2DataReader readFile = cmd.ExecuteReader();

            //Read each row from the table and output the results
            while (readFile.Read())
            {
                groupIds.Add(readFile.GetiDB2Integer(0));
            }

            //Clean up - Close connections
            readFile.Close();
            cmd.Dispose();
            cn.Close();
        }
        private void SubmitBtn_Click(object sender, EventArgs e)
        {
            if (AnDText.Text.Length > 0 && AnDText.Text != null)
            {
                AnDBox.Items.Clear();
                AnDBox.Items.Add("FLIGHTS");
                try
                {
                    SQL = "select f.FTRTID, r.rtardepart,r.rtararrivl,f.flightno  from flight2019.flight f inner join flight2019.route r on f.FTRTID = r.RTID where f.FLIGHTNO='";

                    SQL       += AnDText.Text + "'";
                    connection = new iDB2Connection("datasource=deathstar.gtc.edu");
                    command    = new iDB2Command(SQL, connection);


                    connection.Open();

                    dataReader = command.ExecuteReader();
                    while (dataReader.Read())
                    {
                        String departcity  = "ERROR IF UNCHANGED";
                        String arrivalcity = "ERROR IF UNCHANGED";
                        arcodes.TryGetValue(dataReader.GetString(1), out departcity);
                        arcodes.TryGetValue(dataReader.GetString(2), out arrivalcity);
                        AnDBox.Items.Add("Flight ID: " + dataReader.GetString(0) + " Departing: " + departcity.Trim() + " Arriving at: " + arrivalcity.Trim());
                    }
                    connection.Close();
                }
                catch (Exception ex)
                {
                    AnDBox.Items.Add(ex.Message);
                }
            }
        }
Example #7
0
        private void DspPlane_Click(object sender, EventArgs e)
        {
            try
            {
                //Select everything within the AIRPLANE table
                SQL = "Select * FROM AIRPLANE";

                comm = new iDB2Command(SQL, conn);
                conn.Open();

                reader = comm.ExecuteReader();
                while (reader.Read())
                {
                    //Use reader and the listbox to display all non null values in the table
                    DisplayPlane.Items.Add("Plane#:  " + reader.GetString(0) + "  Max Flight Dist:  "
                                           + reader.GetString(1) + "  FClass:  " + reader.GetString(2) + "  CClass:  "
                                           + reader.GetString(3) + "  PAvail:  " + reader.GetString(4) + "  MaintMiles:  "
                                           + reader.GetString(5) + "  PlaneModel:  " + reader.GetString(6) + "  PlaneMake:  "
                                           + reader.GetString(7) + "  APARCD:  " + reader.GetString(8) + "  Date Maintenence:  "
                                           + reader.GetString(12));
                }

                conn.Close();
            }
            //Any DB error catches
            catch (iDB2Exception ie)
            {
                DisplayPlane.Items.Add(ie.Message);
            }
            catch (Exception ex)
            {
                DisplayPlane.Items.Add(ex.Message);
            }
        }
        public string ObtenerNaveViaje(string ordenServicio)
        {
            string         NaveViaje = "";
            iDB2Connection cn        = new iDB2Connection(ConfigurationManager.ConnectionStrings["cnnRansa"].ConnectionString);
            iDB2Command    cmd;

            cmd             = new iDB2Command("SP_OBTENERNAVE_VIAJE", cn);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("XNORSRN", iDB2DbType.iDB2VarChar).Value = ordenServicio;

            try
            {
                cn.Open();
                iDB2DataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    NaveViaje = (dr.IsDBNull(dr.GetOrdinal("TCMPVP")) ? "" : dr.GetString(dr.GetOrdinal("TCMPVP")).Trim()) + " - " + (dr.IsDBNull(dr.GetOrdinal("NVJES")) ? "" : dr.GetString(dr.GetOrdinal("NVJES")));
                }
            }
            catch (Exception ex)
            {
                NaveViaje = "";
            }
            finally
            {
                cn.Close();
            }

            return(NaveViaje);
        }
        public void InsertarStockLlenos(PendientesLlenos input)
        {
            //
            iDB2Connection cn = new iDB2Connection(ConfigurationManager.ConnectionStrings["cnnRansa"].ConnectionString);
            iDB2Command    cmd;

            cmd             = new iDB2Command("SP_ACCIONES_DSSTOCK", cn);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@NUMUID", SqlDbType.VarChar).Value = Guid.NewGuid().ToString();
            cmd.Parameters.Add("@NUMID", SqlDbType.Decimal).Value  = 0;
            cmd.Parameters.Add("@NUMIDE", SqlDbType.VarChar).Value = input.YardCode;
            cmd.Parameters.Add("@NROCON", SqlDbType.VarChar).Value = input.EquipmentNumber;
            cmd.Parameters.Add("@DOCREF", SqlDbType.VarChar).Value = "";
            cmd.Parameters.Add("@TIPOPE", SqlDbType.VarChar).Value = "L";
            cmd.Parameters.Add("@FECREG", SqlDbType.Decimal).Value = (DateTime.Now.ToString("yyyyMMdd"));
            cmd.Parameters.Add("@HRSREG", SqlDbType.Decimal).Value = (DateTime.Now.ToString("HHmmss"));
            cmd.Parameters.Add("@USRREG", SqlDbType.VarChar).Value = "CARGAINI";
            cmd.Parameters.Add("@SESTRG", SqlDbType.VarChar).Value = "A";
            cmd.Parameters.Add("@ACCION", SqlDbType.VarChar).Value = "I";

            try
            {
                cn.Open();
                cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
            }
            finally
            {
                cn.Close();
            }
        }
Example #10
0
        public static void Main()
        {
            Console.WriteLine($"Profiler attached: {Samples.SampleHelpers.IsProfilerAttached()}");

            var command = new iDB2Command("MyCommand");

            try
            {
                command.ExecuteNonQuery();
            }
            catch (Exception)
            {
            }

            try
            {
                command.ExecuteScalar();
            }
            catch (Exception)
            {
            }


            try
            {
                command.ExecuteReader();
            }
            catch (Exception)
            {
            }


            Console.WriteLine("Done");
        }
        public string ObtenerRazonSocialAS400(string ruc)
        {
            string         dResultado = "";
            iDB2Connection cn         = new iDB2Connection(ConfigurationManager.ConnectionStrings["cnnRansa"].ConnectionString);

            try
            {
                iDB2Command cmd = new iDB2Command("SELECT * FROM RZZM01 WHERE NRUC = @Ruc FETCH FIRST 1 ROWS ONLY", cn);
                cmd.CommandType = CommandType.Text;
                cmd.Parameters.Add("@Ruc", SqlDbType.VarChar).Value = ruc;

                cn.Open();
                iDB2DataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    dResultado = dr.IsDBNull(dr.GetOrdinal("TCMPCL")) ? "" : dr.GetString(dr.GetOrdinal("TCMPCL"));
                }
            }
            catch (Exception ex)
            {
                dResultado = "";
            }
            finally
            {
                cn.Close();
            }
            return(dResultado);
        }
Example #12
0
        private void CaricaFornitore()
        {
            iDB2Connection DBCONN = new iDB2Connection(Program.myConnString);

            DBCONN.Open();

            iDB2Command myCommand = new iDB2Command();

            myCommand.Connection = DBCONN;

            myCommand.CommandText = "SELECT o.qsta,o.Nord," +
                                    "concat(concat(substring(o.dord, 7, 2), '/') , " +
                                    "concat(concat(substring(o.dord, 5, 2) , '/') , " +
                                    "substring(o.dord, 1, 4)))," +
                                    " a.acrag1   " +
                                    " FROM $EMIEDATI.oda200f o " +
                                    " left join $d_emil.acf00f a " +
                                    " on o.dtip = a.actpcd and o.cfor = a.acscon " +
                                    " where o.qsta <> 'X'" +
                                    " group by o.qsta,o.Nord,o.dord, a.acrag1";

            iDB2DataReader myReader = myCommand.ExecuteReader();

            DataTable dt = new DataTable();

            dt.Load(myReader);

            //dataGridView1.DataSource = dt;
            //dataGridView1.Columns[0].HeaderText = "Stato";
            //dataGridView1.Columns[1].HeaderText = "Numero Ordine";
            //dataGridView1.Columns[2].HeaderText = "Data Ordine";
            //dataGridView1.Columns[3].HeaderText = "Fornitore";
            //for (int i = 0; i < dataGridView1.Columns.Count; i++)
            //    dataGridView1.Columns[i].AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells;
        }
Example #13
0
        public bool Call400Pgm(string cmdtext, IBM.Data.DB2.iSeries.iDB2Connection cn)
        {
            // ------------------------------------------------------------
            // This method runs a command on the iSeries using QCMDEXC.
            //
            // cmdtext is the command or program you want to call.
            // cn is an open iDB2Connection the command will be run on.
            // If the command runs without error, this method returns true.
            //------------------------------------------------------------
            bool rc = true;
            // Construct a string which contains the call to QCMDEXC.
            // Because QCMDEXC uses single quote characters, we must
            // delimit single quote characters in the command text
            // with an extra single quote.
            string      pgmParm = "CALL QSYS.QCMDEXC('" + cmdtext.Replace("'", "''") + "', " + cmdtext.Length.ToString("0000000000.00000") + ")";
            iDB2Command cmd     = new iDB2Command(pgmParm, cn);

            try
            {
                cmd.ExecuteNonQuery();
            }
            catch
            {
                rc = false;
            }
            cmd.Dispose();
            return(rc);
        }
Example #14
0
        public T QuerySingleValue <T>(iDB2Connection connection, string queryString, params KeyValuePair <string, KeyValuePair <iDB2DbType, object> >[] queryParams)
        {
            iDB2Command selectCommand = GenerateCommand(connection, queryString, queryParams);
            object      value         = selectCommand.ExecuteScalar();

            return((T)Convert.ChangeType(value, typeof(T)));
        }
        public void grabarUbicaciones(string TipDoc, string DocRef, string Sigla, string Serie, string Ubicacion, int NroMovimientos)
        {
            iDB2Connection cn = new iDB2Connection(ConfigurationManager.ConnectionStrings["cnnRansa"].ConnectionString);
            iDB2Command    cmd;

            cmd = new iDB2Command("SP_INTTRANSDEP_GRABA_UBICACION_RZIN02", cn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("IN_CTDCRF", iDB2DbType.iDB2VarChar).Value = TipDoc;
            cmd.Parameters.Add("IN_NDCREF", iDB2DbType.iDB2VarChar).Value = DocRef;
            cmd.Parameters.Add("IN_CPRCNO", iDB2DbType.iDB2VarChar).Value = Sigla;
            cmd.Parameters.Add("IN_NSRCNO", iDB2DbType.iDB2VarChar).Value = Serie;
            cmd.Parameters.Add("IN_TUBCAL", iDB2DbType.iDB2VarChar).Value = Ubicacion;
            cmd.Parameters.Add("IN_NROMVM", iDB2DbType.iDB2VarChar).Value = NroMovimientos;

            try
            {
                cn.Open();
                cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
            }
            finally
            {
                cn.Close();
            }
        }
Example #16
0
        public iDB2DataReader GetDataReaderFromQuery(string strQuery, CommandType intCommandType)
        {
            var            objCmd = default(iDB2Command);
            iDB2DataReader objDr;
            var            objConn = default(iDB2Connection);

            try
            {
                objConn            = new iDB2Connection(strConn);
                objCmd             = new iDB2Command(strQuery, objConn);
                objCmd.CommandType = intCommandType;
                objConn.Open();
                objDr = objCmd.ExecuteReader(CommandBehavior.CloseConnection);
            }
            catch (Exception ex)
            {
                objDr = default;
                if (objCmd is object)
                {
                    objCmd.Dispose();
                }

                if (objConn is object)
                {
                    objConn.Close();
                    objConn.Dispose();
                }

                objException = ex;
            }

            return(objDr);
        }
Example #17
0
 public T QuerySingleValue <T>(string queryString, params KeyValuePair <string, object>[] queryParams)
 {
     using (iDB2Connection connection = GetConnection())
     {
         try
         {
             iDB2Command selectCommand = GenerateCommand(connection, queryString, queryParams);
             object      value         = selectCommand.ExecuteScalar();
             try
             {
                 return((T)Convert.ChangeType(value, typeof(T)));
             }
             catch
             {
                 return(default(T));
             }
         }
         catch (Exception ex)
         {
             WriteLog(ex, queryString, queryParams);
             throw;
         }
         finally
         {
             ConnectionClose(connection);
         }
     }
 }
Example #18
0
        public iDB2DataReader GetDataReaderFromProcedureOnTrans(string strSQLWithoutCALLString, iDB2Parameter[] sqlParameters)
        {
            var            objCmd = default(iDB2Command);
            iDB2DataReader drProcedure;

            try
            {
                objCmd             = new iDB2Command("{CALL " + strSQLWithoutCALLString + "}", objConnection);
                objCmd.Transaction = objTransaction;
                objCmd.CommandType = CommandType.StoredProcedure;
                foreach (var objPar in sqlParameters)
                {
                    objCmd.Parameters.Add(objPar);
                }
                drProcedure = objCmd.ExecuteReader();
            }
            catch (Exception ex)
            {
                drProcedure = default;
                if (objCmd is object)
                {
                    objCmd.Dispose();
                }

                objException = ex;
            }

            return(drProcedure);
        }
Example #19
0
        /// <summary>
        /// With the sql string and the active connection retrieve the data
        /// </summary>
        /// <param name="sql"></param>
        /// <param name="conn"></param>
        /// <returns></returns>
        private static iDB2DataReader ExecuteSql(string sql, iDB2Connection conn)
        {
            iDB2DataReader d_rdr = null;

            try
            {
                using (iDB2Command cmd = new iDB2Command(sql, conn))
                {
                    cmd.CommandType = System.Data.CommandType.Text;
                    d_rdr           = cmd.ExecuteReader();
                }
            }
            catch (iDB2DCFunctionErrorException ex)
            {
                throw new FaultException <DatabaseFault>(new DatabaseFault()
                {
                    DbOperation = "Reading the database",
                    DbReason    = "Exception accessing database",
                    DbMessage   = ex.InnerException.Message
                }, "Reading db error");
            }
            catch (iDB2SQLErrorException ex)
            {
                throw new FaultException <DatabaseFault>(new DatabaseFault()
                {
                    DbOperation = "Sql error",
                    DbReason    = "Exception accessing database",
                    DbMessage   = ex.Message
                }, "Sql error");
            }
            return(d_rdr);
        }
        //This Function inserts comments to the FSTINVC Table
        private void InsertComments(iDB2Command db2Command, FSTINV inv)
        {
            st.insertLog(string.Format("Inserting notes for {0} to FSTINVC table.", inv.SIID), "Info", inv.SIID.ToString(), HillerServiceDataMigrator.LogId);

            string tableName = "FSTINVC";

            using (iDB2Transaction db2Transaction = db2Command.Connection.BeginTransaction())
            {
                db2Command.Transaction = db2Transaction;

                db2Command.CommandText = string.Format("INSERT INTO {0} (SCID, SCCMTS, SCCRDT) VALUES(@p1, @p2, @p3) WITH NONE",
                                                       tableName);
                db2Command.CommandText = db2Command.CommandText.Replace("@p1", string.Format("'{0}'", inv.SIID));
                db2Command.CommandText = db2Command.CommandText.Replace("@p2", string.Format("'{0}'", inv.Notes.Replace("'", "''")));
                db2Command.CommandText = db2Command.CommandText.Replace("@p3", string.Format("'{0}'", new iDB2TimeStamp(inv.CreatedDateTime.ToString("MM/dd/yyyy h:mm:ss.ffffff")).ToNativeFormat()));

                //  st.insertLog(db2Command.CommandText, "FSTINVC: Insert Query", "NA",LogId);

                var recordsAffected = db2Command.ExecuteNonQuery();

                db2Command.Transaction.Commit();

                st.insertLog(string.Format("Rows affected: {0}", recordsAffected), "Info", "NA", LogId);
            }
        }
Example #21
0
        private void SubmitBtn2_Click(object sender, EventArgs e)
        {
            if (CrewText.Text != null && CrewText.Text.Length > 0)
            {
                CrewBox.Items.Clear();
                CrewBox.Items.Add("CREW FOR FLIGHT: " + CrewText.Text);
                try
                {
                    SQL = "select f.flightno, c.pilots,c.attendants,c.resclerk,c.maint,c.janitor,c.refueling  from flight2019.flight f inner join flight2019.crew c on f.flightno = c.flightno where f.FLIGHTNO='";

                    SQL       += CrewText.Text + "'";
                    connection = new iDB2Connection("datasource=deathstar.gtc.edu");
                    command    = new iDB2Command(SQL, connection);


                    connection.Open();

                    dataReader = command.ExecuteReader();
                    while (dataReader.Read())
                    {
                        CrewBox.Items.Add("Pilots: " + dataReader.GetString(1));
                        CrewBox.Items.Add("Attendants: " + dataReader.GetString(2));
                        CrewBox.Items.Add("ResClerks: " + dataReader.GetString(3));
                        CrewBox.Items.Add("Maint: " + dataReader.GetString(4));
                        CrewBox.Items.Add("Janitor: " + dataReader.GetString(5));
                        CrewBox.Items.Add("Refueling: " + dataReader.GetString(6));
                    }
                    connection.Close();
                }
                catch (Exception ex)
                {
                    CrewBox.Items.Add(ex.Message);
                }
            }
        }
Example #22
0
        public T QuerySingleValue <T>(iDB2Connection connection, string queryString)
        {
            iDB2Command selectCommand = GenerateCommand(connection, queryString);
            object      value         = selectCommand.ExecuteScalar();

            return((T)Convert.ChangeType(value, typeof(T)));
        }
        public void grabarUbicacionesLlenos(UbicacionContenedor datos, decimal fultac, decimal hultac)
        {
            iDB2Connection cn = new iDB2Connection(ConfigurationManager.ConnectionStrings["cnnRansa"].ConnectionString);
            iDB2Command    cmd;

            cmd = new iDB2Command("SP_INTTRANSDEP_GRABA_UBICACION_RZIN03", cn);

            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("IN_CTDCRF", iDB2DbType.iDB2VarChar).Value = datos.TipoDocumento;
            cmd.Parameters.Add("IN_NDCREF", iDB2DbType.iDB2VarChar).Value = datos.DocumentoReferencia;
            cmd.Parameters.Add("IN_CPRCNO", iDB2DbType.iDB2VarChar).Value = datos.Contenedor.Substring(0, 4);
            cmd.Parameters.Add("IN_NSRCNO", iDB2DbType.iDB2VarChar).Value = datos.Contenedor.Substring(4, datos.Contenedor.Length - 4);
            cmd.Parameters.Add("IN_TUBCAL", iDB2DbType.iDB2VarChar).Value = datos.Ubicacion;
            cmd.Parameters.Add("IN_NROMVM", iDB2DbType.iDB2VarChar).Value = datos.NumeroMovimientos;
            cmd.Parameters.Add("IN_FULTAC", iDB2DbType.iDB2Numeric).Value = fultac;
            cmd.Parameters.Add("IN_HULTAC", iDB2DbType.iDB2Numeric).Value = hultac;

            try
            {
                cn.Open();
                cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {
            }
            finally
            {
                cn.Close();
            }
        }
Example #24
0
        public static DataSet GetDataSet(string commandText, CommandType commandType, iDB2Parameter[] parameters = null)
        {
            try
            {
                using (iDB2Connection connection = new iDB2Connection(ConfigurationManager.ConnectionStrings["DB2"].ConnectionString))
                {
                    connection.Open();

                    using (iDB2Command command = new iDB2Command(commandText, commandType, connection))
                    {
                        command.CommandTimeout = 300;
                        if (parameters != null)
                        {
                            foreach (var parameter in parameters)
                            {
                                command.Parameters.Add(parameter);
                            }
                        }

                        var             dataset    = new DataSet();
                        iDB2DataAdapter dataAdaper = new iDB2DataAdapter(command);
                        dataAdaper.Fill(dataset);
                        connection.Close();
                        return(dataset);
                    }
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Example #25
0
        private int PrimoNumeroLibero()
        {
            iDB2Connection DBCONN = new iDB2Connection(Program.myConnString);

            DBCONN.Open();

            iDB2Command myCommand = new iDB2Command();

            myCommand.Connection = DBCONN;

            myCommand.CommandText = "SELECT max(o.nord)" +
                                    " FROM $EMIEDATI.oda200f o ";

            iDB2DataReader myReader = myCommand.ExecuteReader();

            DataTable dt = new DataTable();

            if (myReader.HasRows)
            {
                return(myReader.GetInt32(0));
            }
            else
            {
                return(0);
            }
        }
        /// <summary>
        /// Gets the data from the IBM i.
        /// </summary>
        /// <param name="connString">The connection string</param>
        /// <param name="sqlStatement">The SQL statement</param>
        /// <param name="parameters">The parameters (iDB2Parameter)</param>
        /// <returns>DataTable</returns>
        public Object GetValue(string sqlStatement, Action <iDB2ParameterCollection> parameters)
        {
            Object obj;

            using (iDB2Command cmd = new iDB2Command(sqlStatement, conn))
            {
                if (parameters != null)
                {
                    parameters(cmd.Parameters);
                }
                try
                {
                    obj = cmd.ExecuteScalar();
                }
                catch (iDB2SQLErrorException e)
                {
                    throw e;
                }
                catch (Exception e)
                {
                    throw e;
                }
            }

            return(obj);
        }
        private string obtenerTipoOperacion(string ordenServicio)
        {
            string         tipoOperacion = "";
            iDB2Connection cn            = new iDB2Connection(ConfigurationManager.ConnectionStrings["cnnRansa"].ConnectionString);
            iDB2Command    cmd;

            cmd             = new iDB2Command("SELECT CTPOOP FROM [email protected] WHERE NORSRN = @NORSRN", cn);
            cmd.CommandType = CommandType.Text;
            cmd.Parameters.Add("@NORSRN", iDB2DbType.iDB2VarChar).Value = ordenServicio;

            try
            {
                cn.Open();
                iDB2DataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    tipoOperacion = (dr.IsDBNull(dr.GetOrdinal("CTPOOP")) ? 1 : dr.GetInt32(dr.GetOrdinal("CTPOOP"))) == 1 ? "I" : "E";
                }
            }
            catch (Exception ex)
            {
                tipoOperacion = "I";
            }
            finally
            {
                cn.Close();
            }

            return(tipoOperacion);
        }
        /// <summary>
        ///  Executes a stored procedure that returns a result set.
        /// </summary>
        /// <param name="connString">The conn string.</param>
        /// <param name="sqlStatement">The SQL statement.</param>
        /// <param name="parameters">The parameters.</param>
        public DataTable ExecuteStoredProcedureWithResultSet(string sqlStatement, Action <iDB2ParameterCollection> parameters)
        {
            DataTable dt = new DataTable();

            using (iDB2Command cmd = new iDB2Command(sqlStatement, conn))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                if (parameters != null)
                {
                    parameters(cmd.Parameters);
                }
                try
                {
                    using (iDB2DataAdapter da = new iDB2DataAdapter(cmd)) { da.Fill(dt); }
                }
                catch (iDB2SQLErrorException e)
                {
                    throw e;
                }
                catch (Exception e)
                {
                    throw e;
                }
            }

            return(dt);
        }
        public AllFlights()
        {
            InitializeComponent();
            loadARCodes();

            FlightBox.Items.Clear();
            FlightBox.Items.Add("FLIGHTS");
            try
            {
                SQL        = "select f.FTRTID, r.rtardepart,r.rtararrivl  from flight2019.flight f inner join flight2019.route r on FTRTID = RTID";
                connection = new iDB2Connection("datasource=deathstar.gtc.edu");
                command    = new iDB2Command(SQL, connection);


                connection.Open();

                dataReader = command.ExecuteReader();
                while (dataReader.Read())
                {
                    String departcity  = "ERROR IF UNCHANGED";
                    String arrivalcity = "ERROR IF UNCHANGED";
                    arcodes.TryGetValue(dataReader.GetString(1), out departcity);
                    arcodes.TryGetValue(dataReader.GetString(2), out arrivalcity);
                    FlightBox.Items.Add("Flight ID: " + dataReader.GetString(0) + " Departing: " + departcity.Trim() + " Arriving at: " + arrivalcity.Trim());
                }
                connection.Close();
            }
            catch (Exception ex)
            {
                FlightBox.Items.Add(ex.Message);
            }
        }
        /// <summary>
        /// Gets the data from the IBM i.
        /// </summary>
        /// <param name="connString">The connection string</param>
        /// <param name="sqlStatement">The SQL statement</param>
        /// <param name="parameters">The parameters (iDB2Parameter)</param>
        /// <returns>DataTable</returns>
        public DataTable GetData(string sqlStatement, Action <iDB2ParameterCollection> parameters)
        {
            DataTable dt = new DataTable();

            using (iDB2Command cmd = new iDB2Command(sqlStatement, conn))
            {
                if (parameters != null)
                {
                    parameters(cmd.Parameters);
                }
                try
                {
                    using (iDB2DataAdapter da = new iDB2DataAdapter(cmd)) { da.Fill(dt); }
                }
                catch (iDB2SQLErrorException e)
                {
                    throw e;
                }
                catch (Exception e)
                {
                    throw e;
                }
            }

            return(dt);
        }
        public List <PendientesLlenos> ListaStockLlenos()
        {
            List <PendientesLlenos> dtResult = new List <PendientesLlenos>();
            iDB2Connection          cn       = new iDB2Connection(ConfigurationManager.ConnectionStrings["cnnRansa"].ConnectionString);
            iDB2Command             cmd;

            cmd             = new iDB2Command("SP_CONSULTA_DSREPSTOCKCONTLLENOS_V2", cn);
            cmd.CommandType = CommandType.StoredProcedure;

            try
            {
                cn.Open();
                iDB2DataReader dr = cmd.ExecuteReader();
                while (dr.Read())
                {
                    PendientesLlenos a = new PendientesLlenos();
                    a.YardCode        = dr.IsDBNull(dr.GetOrdinal("NUMIDE")) ? "" : dr.GetString(dr.GetOrdinal("NUMIDE"));
                    a.EquipmentNumber = dr.IsDBNull(dr.GetOrdinal("NROCON")) ? "" : dr.GetString(dr.GetOrdinal("NROCON"));

                    dtResult.Add(a);
                }
            }
            catch (Exception ex)
            {
                dtResult = null;
            }
            finally
            {
                cn.Close();
            }

            return(dtResult);
        }
        public AllAirports()
        {
            InitializeComponent();
            AirportBox.Items.Clear();
            AirportBox.Items.Add("AIRPORTS");
            AirportBox.Items.Add("AIRPORT CODE, AIRPORT NAME");
            try
            {
                SQL        = "select ARCD,arnm from flight2019.airport";
                connection = new iDB2Connection("datasource=deathstar.gtc.edu");
                command    = new iDB2Command(SQL, connection);
                connection.Open();

                dataReader = command.ExecuteReader();
                while (dataReader.Read())
                {
                    AirportBox.Items.Add(dataReader.GetString(0) + ", " + dataReader.GetString(1));
                }
                connection.Close();
            }
            catch (Exception ex)
            {
                AirportBox.Items.Add(ex.Message);
            }
        }
Example #33
0
        /// <summary>
        /// Gets the data from the IBM i.
        /// </summary>
        /// <param name="connString">The connection string</param>
        /// <param name="sqlStatement">The SQL statement</param>
        /// <param name="parameters">The parameters (iDB2Parameter)</param>
        /// <returns>DataTable</returns>
        public DataTable GetData(string sqlStatement, Action<iDB2ParameterCollection> parameters)
        {
            DataTable dt = new DataTable();

            using (iDB2Command cmd = new iDB2Command(sqlStatement, conn))
            {
                if (parameters != null) { parameters(cmd.Parameters); }
                try
                {
                    using (iDB2DataAdapter da = new iDB2DataAdapter(cmd)) { da.Fill(dt); }
                }
                catch (iDB2SQLErrorException e)
                {
                    throw e;
                }
                catch (Exception e)
                {
                    throw e;
                }
            }

            return dt;
        }
        private void getCampaignData()
        {
            //remove all preexisting data from the list
            campaignData.Clear();

            // Create a DataSet to hold data from iSeries Table
            DataSet dataStructure = new DataSet();

            //Create a table to hold the iSeries data
            DataTable dt = new DataTable("Campaigns");
            dt.Columns.Add("CampaignName");
            dt.Columns.Add("CampaignDisplayName");
            dt.Columns.Add("CallMethod");
            dt.Columns.Add("AccountsRemaining");
            dt.Columns.Add("InitialAccounts");

            //Add the datatable to the data set
            dataStructure.Tables.Add(dt);

            //Create connection to the iSeries
            iDB2Connection cn = new iDB2Connection();
            cn.ConnectionString = connectionString;

            //Create query
            iDB2Command cmd = new iDB2Command();
            cmd.CommandText = "select m.rmp2prjt "
                + ",m.CallMethod "
                + ",COALESCE(c.cnt, 0) AS nowAccounts "
                + ",COALESCE(m.cnt, 0 ) AS initialAccounts "
                + "FROM "
                + "(SELECT rmp2prjt "
                + ",case when rmp2prjt = rmp3prjt Then 'I' when rmp2rflg in ('1', 'H') Then 'P' else 'M' end as CallMethod "
                + ",count(*) as cnt "
                + "FROM monprddta.crmmascopy "
                + "WHERE   (rmp2prjt like 'MAS%' or rmp2prjt in ('MS2BW210', 'MSCYC21', 'M2GEN', 'M2GSP')) and rmncdt = @Date and rmp2rflg in ('1','H','M','h') and rmdnc = '' "
                + "GROUP BY    rmp2prjt, case when rmp2prjt = rmp3prjt then 'I' when rmp2rflg in ('1','H') Then 'P' else 'M' end) m "
                + "LEFT JOIN "
                + "(SELECT rmp2prjt "
                + ",case when rmp2prjt = rmp3prjt Then 'I' when rmp2rflg in ('1', 'H') Then 'P' else 'M' end as CallMethod "
                + ",count(*) as cnt "
                + "FROM cdqfil.crmmas "
                + "WHERE   (rmp2prjt like 'MAS%' or rmp2prjt in ('MS2BW210', 'MSCYC21', 'M2GEN', 'M2GSP')) and rmncdt = @Date and rmp2rflg in ('1','H','M','h') and rmdnc = '' "
                + "GROUP BY    rmp2prjt, case when rmp2prjt = rmp3prjt then 'I' when rmp2rflg in ('1','H') Then 'P' else 'M' end) c on c.rmp2prjt = m.rmp2prjt and c.callmethod = m.callmethod";

            cmd.Connection = cn;

            //prepare for Date parameter
            String date = long.Parse(DateTime.Today.Date.ToString("yyyyMMdd")).ToString();

            cn.Open();

            cmd.DeriveParameters();
            cmd.Parameters["@Date"].Value = date;

            //Execute the sql statement. Get a Data Reader object 
            iDB2DataReader readFile = cmd.ExecuteReader();

            //Read each row from the table and output the results into the data set
            while (readFile.Read())
            {
                //Create a row to hold data
                DataRow datarow = dataStructure.Tables["Campaigns"].NewRow();

                datarow["CampaignName"] = readFile.GetString(0).Trim();
                datarow["CallMethod"] = readFile.GetString(1);
                datarow["AccountsRemaining"] = readFile.GetiDB2Integer(2);
                datarow["InitialAccounts"] = readFile.GetiDB2Integer(3);

                //add the row to the data table Campaigns
                dataStructure.Tables["Campaigns"].Rows.Add(datarow);
            }

            //Clean up - Close connections
            readFile.Close();
            cmd.Dispose();
            cn.Close();

            foreach (DataRow row in dt.Rows)
            {
                switch (row["CampaignName"].ToString())
                {
                    case "MAS":
                        row["CampaignDisplayName"] = "MAS";
                        sortId = 0;
                        break;
                    case "MASSP":
                        row["CampaignDisplayName"] = "MAS SP";
                        sortId = 1;
                        break;
                    case "MASSS":
                        row["CampaignDisplayName"] = "ALT";
                        sortId = 2;
                        break;
                    case "MASSPS":
                        row["CampaignDisplayName"] = "ALT SP";
                        sortId = 3;
                        break;
                    case "MASFC":
                        row["CampaignDisplayName"] = "FOCUS";
                        sortId = 4;
                        break;
                    case "MASSPFC":
                        row["CampaignDisplayName"] = "FOCUS SP";
                        sortId = 5;
                        break;
                    case "MASWC":
                        row["CampaignDisplayName"] = "WC";
                        sortId = 6;
                        break;
                    case "MASWCSP":
                        row["CampaignDisplayName"] = "WC SP";
                        sortId = 7;
                        break;
                    case "M2GEN":
                        row["CampaignDisplayName"] = "2G";
                        sortId = 8;
                        break;
                    case "M2GSP":
                        row["CampaignDisplayName"] = "2G SP";
                        sortId = 9;
                        break;
                    case "MASPS":
                        row["CampaignDisplayName"] = "BULK";
                        sortId = 10;
                        break;
                    case "2NDPASS":
                        row["CampaignDisplayName"] = "2NDPASS";
                        sortId = 11;
                        break;
                    case "INBOUND":
                        row["CampaignDisplayName"] = "INBOUND";
                        sortId = 12;
                        break;
                    default:
                        //nothing
                        break;
                }
                campaignData.Add(new Campaign(sortId
                    , row["CampaignName"].ToString()
                    , row["CampaignDisplayName"].ToString()
                    , row["CallMethod"].ToString()
                    , row["InitialAccounts"].ToString()
                    , row["AccountsRemaining"].ToString(), "0", "0"));
            }
        }
Example #35
0
        public List<PaymentDetail> GetGeniusCheques(string paymentIDs)
        {
            if (logger.IsDebugEnabled)
            {
                logger.Debug(string.Format("GetGeniusCheques({0})", paymentIDs));
            }

            this.BuildConnectionString();

            List<PaymentDetail> paymentDetails = null;

            ArgumentCheck.ArgumentNullOrEmptyCheck(this.GeniusConnectionString, Constants.ERRORMESSAGE_GENIUS_CONNECTIONSTRING);
            ArgumentCheck.ArgumentNullOrEmptyCheck(this.GeniusQuery, Constants.ERRORMESSAGE_GENIUS_QUERY);
                
            try
            {
                using (iDB2Connection conn = new iDB2Connection(this.GeniusConnectionString))
                {
                    string selectSql = String.Format(this.GeniusQuery, this.GeniusSchema, paymentIDs);
                    using (iDB2Command cmd = new iDB2Command(selectSql, conn))
                    {
                        if (logger.IsDebugEnabled)
                        {
                            logger.Debug(string.Format("Genius Sql:", selectSql));
                        }

                        iDB2DataReader reader = null;
                        try
                        {
                            cmd.CommandTimeout = this.CommandTimeout ;
                            conn.Open();
                            if (logger.IsDebugEnabled)
                            {
                                logger.Debug("Connection opened");
                            }

                            reader = cmd.ExecuteReader();

                            while (reader.Read())
                            {
                                PaymentDetail paymentDetail = new PaymentDetail();
                                paymentDetail.PaymentRequestID = reader.GetInt64(0);
                                paymentDetail.ChequeNumber = reader.GetString(1).TrimEnd();
                                if (paymentDetails == null)
                                {
                                    paymentDetails = new List<PaymentDetail>();
                                }

                                paymentDetails.Add(paymentDetail);
                            }
                        }
                        catch (Exception ex)
                        {
                            logger.Error(string.Format("GetGeniusCheques - {0}", ex.Message));
                            throw ex;
                        }
                        finally
                        {
                            if (reader != null)
                            {
                                reader.Close();
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Error(string.Format("GetGeniusCheques - {0}", ex.Message));
                throw ex;
            }

            if (logger.IsDebugEnabled)
            {
                logger.Debug(string.Format("AddErrorLogHeader({0}) => returns: paymnet details",paymentIDs));
            }

            return paymentDetails;            
        }
        private void getCampaignMetricData()
        {
            //remove all preexisting data from the list
            campaignMetrics.Clear();

            //Create a DataSet to hold data from iSeries Table
            DataSet dataStructure = new DataSet();

            //Create a table to hold the iSeries data
            DataTable dt = new DataTable("CampaignMetric");
            dt.Columns.Add("CampaignName");
            dt.Columns.Add("CampaignDisplayName");
            dt.Columns.Add("CallMethod");
            dt.Columns.Add("Metric");

            //Add the datatable to the data set
            dataStructure.Tables.Add(dt);

            //Create connection to the iSeries
            iDB2Connection cn = new iDB2Connection();
            cn.ConnectionString = connectionString;

            //Create query
            iDB2Command cmd = new iDB2Command();
            cmd.CommandText = "select * from monprddta.campaignmetrics";
            cmd.Connection = cn;

            cn.Open();

            //Execute the sql statement. Get a Data Reader object 
            iDB2DataReader readFile = cmd.ExecuteReader();

            //Read each row from the table and output the results into the data set
            while (readFile.Read())
            {
                //Create a row to hold data
                DataRow datarow = dataStructure.Tables["CampaignMetric"].NewRow();

                datarow["CallMethod"] = readFile.GetString(0).Trim();
                datarow["CampaignName"] = readFile.GetString(1).Trim();
                datarow["Metric"] = readFile.GetiDB2Decimal(2);

                //add the row to the data table Campaigns
                dataStructure.Tables["CampaignMetric"].Rows.Add(datarow);
            }

            //Clean up - Close connections
            readFile.Close();
            cmd.Dispose();
            cn.Close();

            foreach (DataRow row in dt.Rows)
            {
                switch (row["CampaignName"].ToString())
                {
                    case "MAS":
                        row["CampaignDisplayName"] = "MAS";
                        break;
                    case "MASSP":
                        row["CampaignDisplayName"] = "MAS SP";
                        break;
                    case "MASSS":
                        row["CampaignDisplayName"] = "ALT";
                        break;
                    case "MASSPS":
                        row["CampaignDisplayName"] = "ALT SP";
                        break;
                    case "MASFC":
                        row["CampaignDisplayName"] = "FOCUS";
                        break;
                    case "MASSPFC":
                        row["CampaignDisplayName"] = "FOCUS SP";
                        break;
                    case "MASWC":
                        row["CampaignDisplayName"] = "WC";
                        break;
                    case "MASWCSP":
                        row["CampaignDisplayName"] = "WC SP";
                        break;
                    case "M2GEN":
                        row["CampaignDisplayName"] = "2G";
                        break;
                    case "M2GSP":
                        row["CampaignDisplayName"] = "2G SP";
                        break;
                    case "MASPS":
                        row["CampaignDisplayName"] = "BULK";
                        break;
                    case "2NDPASS":
                        row["CampaignDisplayName"] = "2NDPASS";
                        break;
                    case "INBOUND":
                        row["CampaignDisplayName"] = "INBOUND";
                        break;
                    default:
                        //nothing
                        break;
                }
                campaignMetrics.Add(new CampaignMetric(row["CampaignName"].ToString(), row["CampaignDisplayName"].ToString(), row["CallMethod"].ToString(), row["Metric"].ToString()));
            }
        }
        private void updateCampaignMetricData(string metric, string callMethod, string campaign)
        {
            //Create connection to the iSeries
            iDB2Connection cn = new iDB2Connection();
            cn.ConnectionString = connectionString;

            //Create query
            iDB2Command cmd = new iDB2Command();
            cmd.CommandText = "update monprddta.campaignmetrics set Metric = @metric where CallType = @callMethod and Campaign = @campaign";
            cmd.Connection = cn;

            cn.Open();

            cmd.DeriveParameters();
            cmd.Parameters["@metric"].Value = Convert.ToDecimal(metric);
            cmd.Parameters["@callMethod"].Value = callMethod;
            cmd.Parameters["@campaign"].Value = campaign;

            cmd.ExecuteNonQuery();

            //Clean up - Close connections
            cmd.Dispose();
            cn.Close();
        }
Example #38
0
 /// <summary>
 /// Executes a stored procedure on the IBM i that doesn't return data.
 /// </summary>
 /// <param name="connString">The connection string</param>
 /// <param name="sqlStatement">The SQL statement</param>
 /// <param name="parameters">The parameters (iDB2Parameter)</param>
 public void ExecuteStoredProcedure(string sqlStatement, Action<iDB2ParameterCollection> parameters)
 {
     using (iDB2Command cmd = new iDB2Command(sqlStatement, conn))
     {
         cmd.CommandType = CommandType.StoredProcedure;
         if (parameters != null) { parameters(cmd.Parameters); }
         try
         {
             cmd.ExecuteNonQuery();
         }
         catch (iDB2SQLErrorException e)
         {
             throw e;
         }
         catch (Exception e)
         {
             throw e;
         }
     }
 }
Example #39
0
        /// <summary>
        ///  Executes a stored procedure that returns a result set.
        /// </summary>
        /// <param name="connString">The conn string.</param>
        /// <param name="sqlStatement">The SQL statement.</param>
        /// <param name="parameters">The parameters.</param>
        public DataTable ExecuteStoredProcedureWithResultSet(string sqlStatement, Action<iDB2ParameterCollection> parameters)
        {
            DataTable dt = new DataTable();

            using (iDB2Command cmd = new iDB2Command(sqlStatement, conn))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                if (parameters != null) { parameters(cmd.Parameters); }
                try
                {
                    using (iDB2DataAdapter da = new iDB2DataAdapter(cmd)) { da.Fill(dt); }
                }
                catch (iDB2SQLErrorException e)
                {
                    throw e;
                }
                catch (Exception e)
                {
                    throw e;
                }
            }

            return dt;
        }
        static void Main(string[] args)
        {
            //Nomi tabelle
            //SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'DBNAME';

            //Nomi colonne
            //SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=? ORDER BY ORDINAL_POSITION;

            //numerocolonne
            //SELECT max(ORDINAL_POSITION) FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=?;
            Console.WriteLine("host: ");
            string host = Console.ReadLine();

            Console.WriteLine("username: "******"password: "******"DB Name: ");
            string dbname = Console.ReadLine();

            Console.WriteLine("Namespace: ");
            string namespacename = Console.ReadLine();

            conn = new iDB2Connection("Data Source="+host+";user id="+user+";password="******";");
            conn.Open();
            cmd = new iDB2Command("", conn);
            cmd.CommandText = "SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = '" + dbname + "'";
            row = cmd.ExecuteReader();
            List<string> tablenames = new List<string>();
            while (row.Read())
            {
                tablenames.Add(row["TABLE_NAME"].ToString());
            }
            row.Close();
            foreach (var nome in tablenames)
            {
                Console.WriteLine(nome);
                cmd = new iDB2Command("", conn);
                cmd.CommandText = "SELECT COLUMN_NAME, COLUMN_DEFAULT, IS_NULLABLE, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME= '" + nome + "' AND TABLE_SCHEMA = '" + dbname + "' ORDER BY ORDINAL_POSITION";
                List<string> columnNames = new List<string>();
                List<string> columnDefaults = new List<string>();
                List<string> areNullables = new List<string>();
                List<string> dataTypes = new List<string>();
                row = cmd.ExecuteReader();
                while (row.Read())
                {
                    columnNames.Add(row["COLUMN_NAME"].ToString());
                    columnDefaults.Add(row["COLUMN_DEFAULT"].ToString());
                    areNullables.Add(row["IS_NULLABLE"].ToString());
                    dataTypes.Add(row["DATA_TYPE"].ToString());
                }
                row.Close();

                for (int k = 0; k < columnNames.Count; k++)
                {
                    if (dataTypes[k].ToLower() == "varchar" || dataTypes[k].ToLower() == "date" || dataTypes[k].ToLower() == "timestamp" || dataTypes[k].ToLower() == "text" || dataTypes[k].ToLower() == "datetime" || dataTypes[k].ToLower() == "national character large object" || dataTypes[k].ToLower() == "national character varying")
                        dataTypes[k] = "string";
                    if (dataTypes[k].ToLower() == "tinyint" || dataTypes[k].ToLower() == "bigint" || dataTypes[k].ToLower() == "smallint" || dataTypes[k].ToLower() == "mediumint" || dataTypes[k].ToLower() == "bit" || dataTypes[k].ToLower() == "integer")
                        dataTypes[k] = "int";

                    if (dataTypes[k].ToLower() == "decimal" || dataTypes[k].ToLower() == "numeric")
                        dataTypes[k] = "double";

                    if (dataTypes[k].ToLower() == "character" || dataTypes[k].ToLower() == "character varying")
                        dataTypes[k] = "string";

                    if (columnNames[k].ToLower() == "class")
                        columnNames[k] = "class_var";

                    if (columnNames[k].ToLower() == "int")
                        columnNames[k] = "int_var";
                        

                }

                string pathstring = "./";

                pathstring = Path.Combine(pathstring, nome + ".cs");
                if (!File.Exists(pathstring))
                {
                    StreamWriter sw = File.AppendText(pathstring);
                    sw.WriteLine("using System;");
                    sw.WriteLine("using System.Collections.Generic;");
                    sw.WriteLine("using System.Linq;");
                    sw.WriteLine("using System.Threading.Tasks;");
                    sw.WriteLine("using System.Text;");
                    sw.WriteLine("using IBM.Data.DB2.iSeries;");
                    sw.WriteLine("");
                    sw.WriteLine("namespace " + namespacename);
                    sw.WriteLine("{");
                    sw.WriteLine("\tclass " + UppercaseFirst(nome));
                    sw.WriteLine("\t{");
                    int i = 0;
                    foreach (var columnName in columnNames)
                    {
                        string defaultvalue = "null";
                        if (columnDefaults[i] != "")
                        {
                            if (Regex.IsMatch(columnDefaults[i], @"\d"))
                                defaultvalue = columnDefaults[i];
                            else
                                defaultvalue = "\"" + columnDefaults[i] + "\"";
                        }
                        if ((dataTypes[i].ToLower() == "int" || dataTypes[i].ToLower() == "double") && columnDefaults[i] == "")
                            defaultvalue = "0";

                        if ((dataTypes[i].ToLower() == "char" && columnDefaults[i].ToLower() == "null") || (dataTypes[i].ToLower() == "char" && columnDefaults[i].ToLower() == ""))
                            defaultvalue = "Char.MinValue";

                        if ((dataTypes[i].ToLower() == "char" && columnDefaults[i] != ""))
                            defaultvalue = "'" + columnDefaults[i] + "'";

                        if (((dataTypes[i].ToLower() == "float" && columnDefaults[i].ToLower() == "null") || (dataTypes[i].ToLower() == "float" && columnDefaults[i] == "")) || ((dataTypes[i].ToLower() == "double" && columnDefaults[i].ToLower() == "null") || (dataTypes[i].ToLower() == "double" && columnDefaults[i] == "")))
                            defaultvalue = "0.0f";

                        if ((dataTypes[i].ToLower() == "float" && columnDefaults[i] != "") || (dataTypes[i].ToLower() == "double" && columnDefaults[i] != ""))
                            defaultvalue = columnDefaults[i] + "f";

                        if (defaultvalue == "\"''\"" || defaultvalue == "\"CURRENT_DATE\"" || defaultvalue == "\"' '\"")
                            defaultvalue = "\"\"";
                        sw.WriteLine("\t\t" + dataTypes[i] + " " + columnName.ToLower() + " { get; set; } = " + defaultvalue + ";");
                        sw.WriteLine("\t\t" + dataTypes[i] + " OLD_" + columnName.ToLower() + " = " + defaultvalue + ";");
                        sw.WriteLine("");
                        i++;
                    }
                    sw.WriteLine("\t\tiDB2Connection conn = new iDB2Connection(\"Data Source=<HOST>;user id=<USER>;password=<PASSWORD>;\");");
                    sw.WriteLine("");

                    List<string> parametri = new List<string>();
                    for (int k = 0; k < columnNames.Count; k++)
                    {
                        parametri.Add(dataTypes[k] + " _" + columnNames[k].ToLower());
                    }
                    var parametristring = String.Join(", ", parametri);
                    sw.WriteLine("\t\tpublic " + UppercaseFirst(nome) + "() { }");
                    sw.WriteLine("");
                    sw.WriteLine("\t\tpublic " + UppercaseFirst(nome) + "(" + parametristring + ")");
                    sw.WriteLine("\t\t{");
                    for (int k = 0; k < parametri.Count; k++)
                    {
                        sw.WriteLine("\t\t\t" + columnNames[k].ToLower() + " = _" + columnNames[k].ToLower() + ";");
                    }
                    sw.WriteLine("\t\t\tupdateOldValues();");
                    sw.WriteLine("\t\t}");

                    sw.WriteLine("");
                    sw.WriteLine("\t\tpublic void delete()");
                    sw.WriteLine("\t\t{");
                    sw.WriteLine("\t\t\tconn.Open();");
                    sw.WriteLine("\t\t\tiDB2Command cmd = new iDB2Command(\"\", conn);");
                    List<string> whereStatementArray = new List<string>();
                    for (int k = 0; k < columnNames.Count; k++)
                    {
                        whereStatementArray.Add(columnNames[k] + " = @" + columnNames[k]);
                    }
                    var whereStatementString = String.Join(" AND ", whereStatementArray);
                    sw.WriteLine("\t\t\tcmd.CommandText = \"DELETE FROM " + dbname + "." + nome + " WHERE " + whereStatementString + "\";");
                    for (int k = 0; k < columnNames.Count; k++)
                    {
                        sw.WriteLine("\t\t\tiDB2Parameter " + columnNames[k].ToLower() + "Parameter = new iDB2Parameter(\"@" + columnNames[k] + "\", iDB2DbType.iDB2VarChar, 0);"); //always varchar so i don't have problem to handle strings
                    }
                    for (int k = 0; k < columnNames.Count; k++)
                    {
                        sw.WriteLine("\t\t\t" + columnNames[k].ToLower() + "Parameter.Value = " + columnNames[k].ToLower() + ";");
                    }
                    for (int k = 0; k < columnNames.Count; k++)
                    {
                        sw.WriteLine("\t\t\tcmd.Parameters.Add(" + columnNames[k].ToLower() + "Parameter);");
                    }
                    sw.WriteLine("\t\t\tcmd.ExecuteNonQuery();");
                    sw.WriteLine("\t\t\tconn.Close();");
                    sw.WriteLine("\t\t}");
                    sw.WriteLine("");
                    sw.WriteLine("\t\tpublic void update()");
                    sw.WriteLine("\t\t{");
                    sw.WriteLine("\t\t\tconn.Open();");
                    sw.WriteLine("\t\t\tiDB2Command cmd = new iDB2Command(\"\", conn);");
                    List<string> updateStatementArray = new List<string>();
                    for (int k = 0; k < columnNames.Count; k++)
                    {
                        updateStatementArray.Add(columnNames[k] + " = @new" + columnNames[k]);
                    }
                    var updateStatementString = String.Join(", ", updateStatementArray);
                    sw.WriteLine("\t\t\tcmd.CommandText = \"UPDATE " + dbname + "." + nome + " SET " + updateStatementString + " WHERE " + whereStatementString + "\";");
                    for (int k = 0; k < columnNames.Count; k++)
                    {
                        sw.WriteLine("\t\t\tiDB2Parameter OLD_" + columnNames[k].ToLower() + "Parameter = new iDB2Parameter(\"@" + columnNames[k] + "\", iDB2DbType.iDB2VarChar, 0);");
                    }
                    for (int k = 0; k < columnNames.Count; k++)
                    {
                        sw.WriteLine("\t\t\tiDB2Parameter " + columnNames[k].ToLower() + "Parameter = new iDB2Parameter(\"@new" + columnNames[k] + "\", iDB2DbType.iDB2VarChar, 0);");
                    }
                    for (int k = 0; k < columnNames.Count; k++)
                    {
                        sw.WriteLine("\t\t\t" + columnNames[k].ToLower() + "Parameter.Value = " + columnNames[k].ToLower() + ";");
                    }
                    for (int k = 0; k < columnNames.Count; k++)
                    {
                        sw.WriteLine("\t\t\tOLD_" + columnNames[k].ToLower() + "Parameter.Value = OLD_" + columnNames[k].ToLower() + ";");
                    }
                    for (int k = 0; k < columnNames.Count; k++)
                    {
                        sw.WriteLine("\t\t\tcmd.Parameters.Add(" + columnNames[k].ToLower() + "Parameter);");
                    }
                    for (int k = 0; k < columnNames.Count; k++)
                    {
                        sw.WriteLine("\t\t\tcmd.Parameters.Add(OLD_" + columnNames[k].ToLower() + "Parameter);");
                    }
                    sw.WriteLine("\t\t\tcmd.ExecuteNonQuery();");
                    sw.WriteLine("\t\t\tconn.Close();");
                    sw.WriteLine("\t\t\tupdateOldValues();");
                    sw.WriteLine("\t\t}");
                    sw.WriteLine("");

                    sw.WriteLine("\t\tprivate void updateOldValues()");
                    sw.WriteLine("\t\t{");
                    for (int k = 0; k < columnNames.Count; k++)
                    {
                        sw.WriteLine("\t\t\tOLD_" + columnNames[k].ToLower() + " = " + columnNames[k].ToLower() + ";");
                    }
                    sw.WriteLine("\t\t}");
                    sw.WriteLine("\t}");
                    sw.WriteLine("}");
                    sw.Close();
                }

            }


            conn.Close();
            Console.ReadLine();
        }
        private void getCampaignBucketData()
        {
            //remove all preexisting data from the list
            campaignBuckets.Clear();

            //Create a DataSet to hold data from iSeries Table
            DataSet dataStructure = new DataSet();

            //Create a table to hold the iSeries data
            DataTable dt = new DataTable("CampaignBuckets");
            dt.Columns.Add("Campaign");
            dt.Columns.Add("Bucket");
            dt.Columns.Add("CallMethod");
            dt.Columns.Add("Count");

            //Add the datatable to the data set
            dataStructure.Tables.Add(dt);

            //Create connection to the iSeries
            iDB2Connection cn = new iDB2Connection();
            cn.ConnectionString = connectionString;

            //Create query
            iDB2Command cmd = new iDB2Command();
            cmd.CommandText = "SELECT bucket, CCPPRJ, 'P' as type , count(rmkey) FROM cdqfil.obpcmt left join monprddta.buckets on char(bucket)<>ccpprj left join cdqfil.crmmas on ccpprj=rmp2prjt and rmacono between digits(bucketmin) and digits(bucketmax) and rmncdt=@Date and rmp2rflg in ('1','H') and rmdnc='' WHERE ccpprj in ('MAS', 'MASSP', 'MASSS', 'MASSPS', 'MASFC', 'MASSPFC') GROUP BY bucket, ccpprj UNION SELECT bucket, CCPPRJ, 'M' as type , count(rmkey) FROM cdqfil.obpcmt left join monprddta.buckets on char(bucket) <> ccpprj left join cdqfil.crmmas on ccpprj = rmp2prjt and rmacono between digits(bucketmin) and digits(bucketmax) and rmncdt = @Date and rmp2rflg in ('M', 'h') and rmdnc = '' WHERE ccpprj in ('MAS', 'MASSP', 'MASSS', 'MASSPS', 'MASFC', 'MASSPFC') GROUP BY bucket, ccpprj ORDER BY type, ccpprj, bucket";
            cmd.Connection = cn;

            //prepare for Date parameter
            String date = long.Parse(DateTime.Today.Date.ToString("yyyyMMdd")).ToString();

            cn.Open();

            cmd.DeriveParameters();
            cmd.Parameters["@Date"].Value = date;

            //Execute the sql statement. Get a Data Reader object 
            iDB2DataReader readFile = cmd.ExecuteReader();

            //Read each row from the table and output the results into the data set
            while (readFile.Read())
            {
                //Create a row to hold data
                DataRow datarow = dataStructure.Tables["CampaignBuckets"].NewRow();

                datarow["Bucket"] = readFile.GetString(0).Trim();
                datarow["Campaign"] = readFile.GetString(1).Trim();
                datarow["CallMethod"] = readFile.GetString(2);
                datarow["Count"] = readFile.GetString(3);

                //add the row to the data table Campaigns
                dataStructure.Tables["CampaignBuckets"].Rows.Add(datarow);
            }

            //Clean up - Close connections
            readFile.Close();
            cmd.Dispose();
            cn.Close();

            foreach (DataRow row in dt.Rows)
            {
                switch (row["Campaign"].ToString())
                {
                    case "MAS":
                        //do nothing as it's named correctly already
                        break;
                    case "MASSP":
                        row["Campaign"] = "MAS SP";
                        break;
                    case "MASSS":
                        row["Campaign"] = "ALT";
                        break;
                    case "MASSPS":
                        row["Campaign"] = "ALT SP";
                        break;
                    case "MASFC":
                        row["Campaign"] = "FOCUS";
                        break;
                    case "MASSPFC":
                        row["Campaign"] = "FOCUS SP";
                        break;
                    default:
                        //nothing
                        break;
                }
                campaignBuckets.Add(new CampaignBucket(row["Campaign"].ToString(), row["Bucket"].ToString(), row["CallMethod"].ToString(), row["Count"].ToString()));
            }
        }
Example #42
0
        private static void InsertCrossParts(string guid, GetMasterResult getResult)
        {
            foreach (CrossPart s in getResult.CrossPartList)
            {
                using (
                    var conn = new iDB2Connection(ConfigurationManager.AppSettings["AS400ConnectionString"]))
                {
                    string query = GetCrossPartInsertString();

                    var objDataAdapter = new iDB2DataAdapter();

                    var cmd = new iDB2Command(query, conn);

                    cmd.Connection.Open();

                    objDataAdapter.InsertCommand = cmd;
                    objDataAdapter.InsertCommand.CommandTimeout = 0;
                    cmd.Parameters.Add("@guid", iDB2DbType.iDB2Char);
                    cmd.Parameters["@guid"].Value = guid;

                    cmd.Parameters.Add("@item", iDB2DbType.iDB2Char);
                    cmd.Parameters["@item"].Value = s.PartNumber;

                    cmd.Parameters.Add("@brand", iDB2DbType.iDB2Char);
                    cmd.Parameters["@brand"].Value = s.Brand;

                    cmd.ExecuteNonQuery();
                    cmd.Connection.Close();
                }
            }
        }
Example #43
0
        private void GetAepmMaster()
        {
            var dt = new DataTable();
            var dset = new DataSet();

            //retrieve any records needing updating
            try
            {
                using (var conn = new iDB2Connection(ConfigurationManager.AppSettings["AS400ConnectionString"]))
                {
                    //  string sql = @"SELECT G_GUID, G_ITEM, G_RETRN FROM CGJLEGAC.GETMSTRL1 WHERE G_RETRN != 'R' and G_RETRN != 'S'";
                    string sql = GetUnprocessMasterRecsString();
                    var objDataAdapter = new iDB2DataAdapter();
                    var cmd = new iDB2Command(sql, conn);

                    objDataAdapter.SelectCommand = cmd;
                    objDataAdapter.SelectCommand.CommandTimeout = 0;

                    dt.Clear();
                    dset.Clear();

                    objDataAdapter.Fill(dt);
                    objDataAdapter.Fill(dset, "currentSelections");

                    var cb = new iDB2CommandBuilder(objDataAdapter);
                    AddParameters(cb);

                    //update records to 'S' for submitted
                    for (int i = 0; i < dset.Tables["currentSelections"].Rows.Count; i++)
                    {
                        dset.Tables["currentSelections"].Rows[i]["G_RETRN"] = 'S';
                    }

                    objDataAdapter.Update(dset, "currentSelections");

                    var taskList = new Task[dt.Rows.Count];

                    //submit records asynch
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        taskList[i] = TestAsync(dt, i);
                    }

                    Task.WaitAll(taskList);
                }
            }
            catch (Exception ex)
            {
                WriteToEventLog(ex);
            }
        }
Example #44
0
        private static void UpdateFoundNotPart(string guid)
        {
            using (var conn = new iDB2Connection(ConfigurationManager.AppSettings["AS400ConnectionString"]))
            {
                string query = GetPartNotFoundUpdateMasterString();

                var objDataAdapter = new iDB2DataAdapter();

                var cmd = new iDB2Command(query, conn);

                cmd.Connection.Open();

                objDataAdapter.UpdateCommand = cmd;
                objDataAdapter.UpdateCommand.CommandTimeout = 0;
                cmd.Parameters.Add("@guid", iDB2DbType.iDB2Char);
                cmd.Parameters["@guid"].Value = guid;

                cmd.Parameters.Add("@retrn", iDB2DbType.iDB2Char);
                cmd.Parameters["@retrn"].Value = 'R';

                cmd.ExecuteNonQuery();
                cmd.Connection.Close();
            }
        }
Example #45
0
        private static void UpdateFoundPart(string guid, GetMasterResult getResult)
        {
            using (var conn = new iDB2Connection(ConfigurationManager.AppSettings["AS400ConnectionString"]))
            {
                string query = GetPartFoundUpdateMasterString();

                var objDataAdapter = new iDB2DataAdapter();

                var cmd = new iDB2Command(query, conn);

                cmd.Connection.Open();

                objDataAdapter.UpdateCommand = cmd;
                objDataAdapter.UpdateCommand.CommandTimeout = 0;
                cmd.Parameters.Add("@guid", iDB2DbType.iDB2Char);
                cmd.Parameters["@guid"].Value = guid;

                cmd.Parameters.Add("@usrid", iDB2DbType.iDB2Char);
                cmd.Parameters["@usrid"].Value = (getResult.UserID.Trim().Length > 0) ? getResult.UserID : " ";

                cmd.Parameters.Add("@branded", iDB2DbType.iDB2Char);
                cmd.Parameters["@branded"].Value = getResult.Branded;

                cmd.Parameters.Add("@comcode", iDB2DbType.iDB2Char);
                cmd.Parameters["@comcode"].Value = (getResult.Commodity_Code.Trim().Length > 0)
                    ? getResult.Commodity_Code
                    : " ";

                cmd.Parameters.Add("@level", iDB2DbType.iDB2Integer);
                cmd.Parameters["@level"].Value = getResult.Level;

                cmd.Parameters.Add("@status", iDB2DbType.iDB2Char);
                cmd.Parameters["@status"].Value = (getResult.Status.Trim().Length > 0) ? getResult.Status : " ";

                cmd.Parameters.Add("@rtnble", iDB2DbType.iDB2Char);
                cmd.Parameters["@rtnble"].Value = getResult.Returnable;

                cmd.Parameters.Add("@tariffcd", iDB2DbType.iDB2Char);
                cmd.Parameters["@tariffcd"].Value = (getResult.Tariff_Code.Trim().Length > 0)
                    ? getResult.Tariff_Code
                    : " ";

                cmd.Parameters.Add("@amsc", iDB2DbType.iDB2Char);
                cmd.Parameters["@amsc"].Value = (getResult.AMSC.Trim().Length > 0) ? getResult.AMSC : " ";

                cmd.Parameters.Add("@tqty", iDB2DbType.iDB2Integer);
                cmd.Parameters["@tqty"].Value = getResult.Technical_Qty;

                cmd.Parameters.Add("@svclife", iDB2DbType.iDB2Integer);
                cmd.Parameters["@svclife"].Value = getResult.Service_Life;

                cmd.Parameters.Add("@pkgcode", iDB2DbType.iDB2Char);
                cmd.Parameters["@pkgcode"].Value = (getResult.Package_Code.Trim().Length > 0)
                    ? getResult.Package_Code
                    : " ";

                cmd.Parameters.Add("@info", iDB2DbType.iDB2Char);
                cmd.Parameters["@info"].Value = (getResult.Information.Trim().Length > 0)
                    ? getResult.Information
                    : " ";

                cmd.Parameters.Add("@retrn", iDB2DbType.iDB2Char);
                cmd.Parameters["@retrn"].Value = 'R';

                cmd.ExecuteNonQuery();
                cmd.Connection.Close();
            }
        }
        public void upsertGroup(Group group)
        {
            //Create connection to the iSeries
            iDB2Connection cn = new iDB2Connection();
            cn.ConnectionString = connectionString;

            //Create query
            iDB2Command cmd = new iDB2Command();
            cmd.CommandText = "merge into issysdta.shoreteleccinboundgroupdaily as t "
                + "using ( values( cast(@groupId as smallint) "
                + ",cast(@groupName as varchar(40)) "
                + ",cast(@queuedCallsAboveTasa as smallint) "
                + ",cast(@queuedCalls as smallint) "
                + ",cast(@maxQueTime as integer) "
                + ",cast(@agentsLoggedIn as smallint) "
                + ",cast(@agentsIdle as smallint) "
                + ",cast(@acdInCalls as integer) "
                + ",cast(@tsf as smallint) "
                + ",cast(@abandonedCalls as integer) "
                + ")) "
                + "as zac(group_id "
                + ", group_name "
                + ", queued_calls_above_tasa "
                + ", queued_calls "
                + ", max_que_time "
                + ", agents_logged_in "
                + ", agents_idle "
                + ", acd_in_calls "
                + ", tsf "
                + ", abandoned_calls) "
                + "on t.group_id = zac.group_id "
                + "when matched then update "
                + "set t.group_name = zac.group_name "
                + ", t.queued_calls_above_tasa = zac.queued_calls_above_tasa "
                + ", t.queued_calls = zac.queued_calls "
                + ", t.max_que_time = zac.max_que_time "
                + ", t.agents_logged_in = zac.agents_logged_in "
                + ", t.agents_idle = zac.agents_idle "
                + ", t.acd_in_calls = zac.acd_in_calls "
                + ", t.tsf = zac.tsf "
                + ", t.abandoned_calls = zac.abandoned_calls "
                + "when not matched then "
                + "insert (group_id "
                + ", group_name "
                + ", queued_calls_above_tasa "
                + ", queued_calls "
                + ", max_que_time "
                + ", agents_logged_in "
                + ", agents_idle "
                + ", acd_in_calls "
                + ", tsf "
                + ", abandoned_calls) "
                + "values (zac.group_id "
                + ", zac.group_name "
                + ", zac.queued_calls_above_tasa "
                + ", zac.queued_calls "
                + ", zac.max_que_time "
                + ", zac.agents_logged_in "
                + ", zac.agents_idle "
                + ", zac.acd_in_calls "
                + ", zac.tsf "
                + ", zac.abandoned_calls) ";

            cmd.Connection = cn;

            cn.Open();

            cmd.DeriveParameters();
            cmd.Parameters["@groupName"].Value = group.GroupName;
            cmd.Parameters["@queuedCallsAboveTasa"].Value = Convert.ToInt32(group.InboundAboveTargetAverageSpeedAnswer);
            cmd.Parameters["@queuedCalls"].Value = Convert.ToInt32(group.InboundCallsInQueue);
            cmd.Parameters["@maxQueTime"].Value = Convert.ToInt32(group.InboundMaxInQueue);
            cmd.Parameters["@agentsLoggedIn"].Value = group.NumberOfAgents;
            cmd.Parameters["@agentsIdle"].Value = group.NumberIdle;
            cmd.Parameters["@acdInCalls"].Value = group.AutomaticCallDistribution;
            cmd.Parameters["@tsf"].Value = group.TargetServiceFactor;
            cmd.Parameters["@abandonedCalls"].Value = group.AbandonedCalls;
            cmd.Parameters["@groupId"].Value = group.Id;

            cmd.ExecuteNonQuery();

            //Clean up - Close connections
            cmd.Dispose();
            cn.Close();
        }
Example #47
0
        /// <summary>
        /// Gets the data from the IBM i.
        /// </summary>
        /// <param name="connString">The connection string</param>
        /// <param name="sqlStatement">The SQL statement</param>
        /// <param name="parameters">The parameters (iDB2Parameter)</param>
        /// <returns>DataTable</returns>
        public Object GetValue(string sqlStatement, Action<iDB2ParameterCollection> parameters)
        {
            Object obj;

            using (iDB2Command cmd = new iDB2Command(sqlStatement, conn))
            {
                if (parameters != null) { parameters(cmd.Parameters); }
                try
                {
                    obj = cmd.ExecuteScalar();
                }
                catch (iDB2SQLErrorException e)
                {
                    throw e;
                }
                catch (Exception e)
                {
                    throw e;
                }
            }

            return obj;
        }