/// <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); }
/// <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); }
/// <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)); }
/// <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)); }
public bool agregarAnalisisAA(DO_Analisis_AA analisisAA) { BL_Analisis_AA blAnalisisAA = new BL_Analisis_AA(); return(blAnalisisAA.agregarAnalisisAA(analisisAA)); }