Beispiel #1
0
        /// <summary>
        /// Método para buscar Análisis de aguardiente por código
        /// </summary>
        /// <param name="pedCodigo"></param>
        /// <returns> objeto DO_Analisis_AA con la información de un análisis de aguardiente, null si no se encuentra</returns>
        public DO_Analisis_AA buscarAnalisisAAporPedCodigo(int pedCodigo)
        {
            String query = "SELECT ANA_ARMONIA_SENSORIAL,ANA_EXAMEN_GUSTATIVO,ANA_EXAMEN_OLFATIVO,"
                           + "ANA_EXAMEN_VISUAL,ANA_FECHA_EMISION,ANA_FECHA_VIGENCIA,ANA_NOMBRE_PRODUCTO,"
                           + "ANA_NOTAS,IPM_CODIGO FROM ANALISIS_AGUARDIENTE WHERE PED_CODIGO = @pedCodigo";
            SqlCommand comandoSelect = new SqlCommand(query, conexion);

            comandoSelect.Parameters.AddWithValue("@pedCodigo", pedCodigo);

            DO_Analisis_AA analisisAA = new DO_Analisis_AA();

            try
            {
                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }

                SqlDataReader lector = comandoSelect.ExecuteReader();

                if (lector.HasRows)
                {
                    while (lector.Read())
                    {
                        analisisAA.aSensorial     = Convert.ToInt32(lector["ANA_ARMONIA_SENSORIAL"]);
                        analisisAA.exGustativo    = Convert.ToInt32(lector["ANA_EXAMEN_GUSTATIVO"]);
                        analisisAA.exOlfativo     = Convert.ToInt32(lector["ANA_EXAMEN_OLFATIVO"]);
                        analisisAA.exVisual       = Convert.ToInt32(lector["ANA_EXAMEN_VISUAL"]);
                        analisisAA.fechaEmision   = Convert.ToDateTime(lector["ANA_FECHA_EMISION"]).ToString();
                        analisisAA.fechaVigencia  = Convert.ToDateTime(lector["ANA_FECHA_VIGENCIA"]).ToString();
                        analisisAA.nombreProducto = (String)lector["ANA_NOMBRE_PRODUCTO"];
                        if (lector["ANA_NOTAS"] is DBNull)
                        {
                            analisisAA.notas = "";
                        }
                        else
                        {
                            analisisAA.notas = (String)lector["ANA_NOTAS"];
                        }

                        analisisAA.ipmCodigo = Convert.ToInt32(lector["IPM_CODIGO"]);
                        analisisAA.pedCodigo = pedCodigo;
                    }
                }
            } catch {
                return(null);
            } finally {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }
            analisisAA.analisisFQs = getListaAnalisisFQ(pedCodigo);
            return(analisisAA);
        }
Beispiel #2
0
        /// <summary>
        /// Método para insertar Análisis de aguardiente
        /// </summary>
        /// <param name="analisisAA"> objeto DO_Análisis_AA que contiene toda la información de un análisis de aguardiente </param>
        /// <returns> true si se ejecuta la transacción correctamente, false si ocurre algún error</returns>
        public bool agregarAnalisisAA(DO_Analisis_AA analisisAA)
        {
            String queryInsertarCompleto = "BEGIN TRANSACTION BEGIN TRY " + queryInsertar + analisisFQconstructor(analisisAA) + " COMMIT END TRY BEGIN CATCH ROLLBACK END CATCH";
            //String queryInsertarCompleto = "BEGIN TRANSACTION " + analisisFQconstructor(analisisAA) + " COMMIT";
            //String queryInsertarCompleto = "BEGIN TRANSACTION " + queryInsertar  + " COMMIT";
            SqlCommand comandoInsertar = new SqlCommand(queryInsertarCompleto, conexion);

            comandoInsertar.Parameters.AddWithValue("@armoniaS", analisisAA.aSensorial);
            comandoInsertar.Parameters.AddWithValue("@examenG", analisisAA.exGustativo);
            comandoInsertar.Parameters.AddWithValue("@examenO", analisisAA.exOlfativo);
            comandoInsertar.Parameters.AddWithValue("@examenV", analisisAA.exVisual);
            comandoInsertar.Parameters.AddWithValue("@fechaEmision", System.DateTime.Now);
            comandoInsertar.Parameters.AddWithValue("@fechaVigencia", System.DateTime.Now.AddDays(100));
            comandoInsertar.Parameters.AddWithValue("@nombreProducto", analisisAA.nombreProducto);
            if (analisisAA.notas == null || analisisAA.notas.Equals(""))
            {
                comandoInsertar.Parameters.AddWithValue("@notas", DBNull.Value);
            }
            else
            {
                comandoInsertar.Parameters.AddWithValue("@notas", analisisAA.notas);
            }

            comandoInsertar.Parameters.AddWithValue("@pedCodigo", analisisAA.pedCodigo);

            try
            {
                if (conexion.State != ConnectionState.Open)
                {
                    conexion.Open();
                }

                Int32 rowsAffected = comandoInsertar.ExecuteNonQuery();

                if (rowsAffected < 2)
                {
                    return(false);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(false);
            }
            finally {
                if (conexion.State != ConnectionState.Closed)
                {
                    conexion.Close();
                }
            }

            return(true);
        }
Beispiel #3
0
        /// <summary>
        /// Método para consruir un insert múltiple para los análisis fisico químicos
        /// </summary>
        /// <param name="analisisAA"> objeto DO_Analisis_AA que contiene una lista de análisis fisicoquímicos</param>
        /// <returns> string con el insert múltiple</returns>
        public String analisisFQconstructor(DO_Analisis_AA analisisAA)
        {
            String insertAnalisisFQs = "";

            if (analisisAA.analisisFQs.Count == 0)
            {
                return(insertAnalisisFQs);
            }
            else
            {
                insertAnalisisFQs = "INSERT INTO ANALISIS_FISICOQUIMICO " +
                                    "(PED_CODIGO, TAF_TIPO_ANALISIS_FQ, AFQ_MEDICION_RESULTADO, AFQ_UNIDAD_CONDICION) VALUES ";
            }


            foreach (DO_Analisis_FQ analisisFQ in analisisAA.analisisFQs)
            {
                insertAnalisisFQs += "(" + analisisFQ.pedCodigo + ", " + "'" + analisisFQ.tipoAnalisisFQ + "'" + ", " + "'" + analisisFQ.medicionResultado + "'" + ", " + "'" + analisisFQ.unidadCondicion + "'" + "),";
            }

            return(insertAnalisisFQs.Substring(0, insertAnalisisFQs.Length - 1));
        }
Beispiel #4
0
        /// <summary>
        /// Método para llamar al método agregarAnalisisAA del DAOanalisisAA
        /// </summary>
        /// <param name="analisisAA">objeto DO_Análisis_AA que contiene toda la información de un análisis de aguardiente</param>
        /// <returns> true si se agrega un análisis de aguardiente, false si ocurre algún error</returns>
        public bool agregarAnalisisAA(DO_Analisis_AA analisisAA)
        {
            /*GRADO ALCOHÓLICO APARENTE
             *      PH
             *      TURBIEDAD
             *      DENSIDAD APARENTE
             *      ALCOHOLES SUPERIORES
             *      ALDEHÍDOS
             *      ÉSTERES
             *      METANOL*/
            //String[] tiposAnalisisFG = { "", "" };
            for (int i = 0; i < analisisAA.analisisFQs.Count; i++)
            {
                analisisAA.analisisFQs[i].pedCodigo = analisisAA.pedCodigo;
            }

            DAO_Analisis_AA DAOanalisisAA = new DAO_Analisis_AA();

            // analisisAA.fechaEmision = System.DateTime.Now.ToString();
            // analisisAA.fechaVigencia = System.DateTime.Now.AddDays(100).ToString();
            return(DAOanalisisAA.agregarAnalisisAA(analisisAA));
        }
Beispiel #5
0
        public bool agregarAnalisisAA(DO_Analisis_AA analisisAA)
        {
            BL_Analisis_AA blAnalisisAA = new BL_Analisis_AA();

            return(blAnalisisAA.agregarAnalisisAA(analisisAA));
        }