Exemplo n.º 1
0
        public List <DetalleInformePersona> GetInformeGeneral(RespuestaFilterDTO respuestaFilterDTO)
        {
            List <DetalleInformePersona> informe = new List <DetalleInformePersona>();

            conexionSQL.Open();

            SqlCommand commando = new SqlCommand("COVID_ReporteGeneral", conexionSQL);

            commando.CommandType = CommandType.StoredProcedure;

            if (respuestaFilterDTO.FiltroBusqueda != null)
            {
                commando.Parameters.AddWithValue("@TextoFiltro", respuestaFilterDTO.FiltroBusqueda);
            }
            commando.Parameters.AddWithValue("@FechaInicial", respuestaFilterDTO.FechaInicial);
            commando.Parameters.AddWithValue("@FechaFinal", respuestaFilterDTO.FechaFinal);
            commando.Parameters.AddWithValue("@Sede", (respuestaFilterDTO.Sede == null)?"0" : respuestaFilterDTO.Sede);
            commando.CommandTimeout = 120;
            SqlDataReader reader = commando.ExecuteReader();

            while (reader.Read())
            {
                informe.Add(new DetalleInformePersona()
                {
                    NumeroDocumento    = reader["NumeroDocumento"].ToString().Trim(),
                    Nombre             = reader["Nombre"].ToString().Trim(),
                    InicioJornanda     = DBNull.Value == reader["InicioJornanda"] ? (DateTime?)null : Convert.ToDateTime(reader["InicioJornanda"]),
                    FinJornada         = DBNull.Value == reader["FinJornada"] ? (DateTime?)null : Convert.ToDateTime(reader["FinJornada"]),
                    IdRespuestaInicio  = DBNull.Value == reader["IdRespuestaInicio"]? 0 : Convert.ToInt32(reader["IdRespuestaInicio"]),
                    IdRespuestaFin     = DBNull.Value == reader["IdRespuestaFin"] ? 0 : Convert.ToInt32(reader["IdRespuestaFin"]),
                    GeneroAlertaInicio = DBNull.Value == reader["GeneroAlertaInicio"]? false: Convert.ToBoolean(reader["GeneroAlertaInicio"]),
                    GeneroAlertaFin    = DBNull.Value == reader["GeneroAlertaFin"] ? false : Convert.ToBoolean(reader["GeneroAlertaFin"]),
                    TemperaturaInicio  = DBNull.Value == reader["TemperaturaInicio"]? "" : reader["TemperaturaInicio"].ToString().Trim(),
                    TemperaturaFin     = DBNull.Value == reader["TemperaturaFin"] ? "" : reader["TemperaturaFin"].ToString().Trim(),
                });
            }

            conexionSQL.Close();

            return(informe);
        }
        public List <DetalleInformePersona> GetInformeGeneral(RespuestaFilterDTO respuestaFilterDTO)
        {
            List <DetalleInformePersona> informe = respuestaRepository.GetInformeGeneral(respuestaFilterDTO);


            foreach (DetalleInformePersona item in informe)
            {
                if (item.GeneroAlertaInicio || item.GeneroAlertaFin)
                {
                    item.GeneroAlerta = true;
                    List <string> Sintomas = new List <string>();

                    if (item.GeneroAlertaInicio)
                    {
                        //Busca detalle respuestas del inicio
                        List <DetalleRespuesta> det = detalleRespuestaRepository.getDetalleRespustasPorId(item.IdRespuestaInicio);

                        foreach (DetalleRespuesta d in det)
                        {
                            if (d.GeneroAlerta)
                            {
                                if (!Sintomas.Exists(f => f == d.Pregunta.Descripcion))
                                {
                                    Sintomas.Add(d.Pregunta.Descripcion);
                                }
                            }
                        }
                    }

                    if (item.GeneroAlertaFin)
                    {
                        //Busca detalle en respuestas de fin
                        if (item.IdRespuestaFin != 0)
                        {
                            List <DetalleRespuesta> det = detalleRespuestaRepository.getDetalleRespustasPorId(item.IdRespuestaFin);

                            foreach (DetalleRespuesta d in det)
                            {
                                if (d.GeneroAlerta)
                                {
                                    if (!Sintomas.Exists(f => f == d.Pregunta.Descripcion))
                                    {
                                        Sintomas.Add(d.Pregunta.Descripcion);
                                    }
                                }
                            }
                        }
                    }

                    //Finalmente armo string a mostrar en la vista
                    foreach (string s in Sintomas)
                    {
                        item.Sintomas += s + ", ";
                    }

                    item.Sintomas = item.Sintomas.Substring(0, item.Sintomas.Length - 2);
                }
            }

            return(informe);
        }