Пример #1
0
        public async Task <IEnumerable <OpcionMedicion> > CargarGridMediciones()
        {
            try
            {
                using (IDbConnection conexion = new SqlConnection(WebConnectionString))
                {
                    List <OpcionMedicion> Lista = new List <OpcionMedicion>();
                    OpcionMedicion        Item;

                    conexion.Open();
                    var dynamicParameters = new DynamicParameters();
                    var dr = await conexion.ExecuteReaderAsync("[Catalogo].[SPCID_Get_MedicionPacienteConsulta]", param : dynamicParameters, commandType : CommandType.StoredProcedure);

                    while (dr.Read())
                    {
                        Item = new OpcionMedicion();
                        Item.dato.IdMedicion         = dr.GetInt32(dr.GetOrdinal("IdMedicion"));
                        Item.dato.Nombre             = dr.GetString(dr.GetOrdinal("Nombre"));
                        Item.dato.NombreUnidadMedida = dr.GetString(dr.GetOrdinal("NombreUnidadMedida"));
                        Item.dato.NombreLista        = dr.GetString(dr.GetOrdinal("NombreLista"));
                        Item.dato.IdListaMedicion    = dr.GetInt32(dr.GetOrdinal("IdListaMedicion"));
                        Lista.Add(Item);
                    }
                    dr.Close();
                    return(Lista);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Пример #2
0
        public async Task <ConsultaDto> ObtenerConsultaXId(Guid IdConsulta, Guid IdUsuario)
        {
            try
            {
                using (IDbConnection conexion = new SqlConnection(WebConnectionString))
                {
                    ConsultaDto dto = new ConsultaDto();
                    conexion.Open();
                    var dynamicParameters = new DynamicParameters();
                    dynamicParameters.Add("@IdConsulta", IdConsulta);
                    dynamicParameters.Add("@IdUsuario", IdUsuario);

                    dto.dtoConsulta = (await conexion.QueryAsync <CapturaConsulta, Cliente, CapturaConsulta>("[Catalogo].[SPCID_C_ConsultaXID]",
                                                                                                             (Consulta, Cliente) =>
                    {
                        Consulta.datosCliente = Cliente;
                        return(Consulta);
                    },
                                                                                                             splitOn: "IdConsulta,IdCliente",
                                                                                                             param: dynamicParameters, commandType: CommandType.StoredProcedure)).FirstOrDefault();

                    using (var dr = conexion.QueryMultipleAsync("[Catalogo].[SPCID_C_Consulta]", param: dynamicParameters, commandType: CommandType.StoredProcedure).Result)
                    {
                        dto.dtoEncuestaConsulta = new BindingList <OpcionCuestionario>(dr.Read <OpcionCuestionario>(new[] { typeof(OpcionCuestionario), typeof(Cuestionario) },
                                                                                                                    (result) =>
                        {
                            var x   = (result[0] as OpcionCuestionario);
                            x.datos = (result[1] as Cuestionario);
                            //var opcion = new OpcionCuestionario
                            //{
                            //    asignar = (result[0] as OpcionCuestionario).asignar,
                            //    datos = (result[1] as Cuestionario)
                            //};
                            return(x);
                        },
                                                                                                                    splitOn: "asignar,IdEncuesta").ToList());

                        dto.dtoMedicionesConsulta = new BindingList <OpcionMedicion>(dr.Read <OpcionMedicion>(new [] { typeof(OpcionMedicion), typeof(Medicion) },
                                                                                                              (x) =>
                        {
                            var opcion = new OpcionMedicion
                            {
                                asignar = (x[0] as OpcionMedicion).asignar,
                                dato    = (x[1] as Medicion)
                            };
                            return(opcion);
                        },
                                                                                                              splitOn: "asignar,IdMedicion").ToList());

                        dto.dtoEncuestaConsultaOpciones = new BindingList <Respuestas>(dr.Read <Respuestas>().ToList());
                        dto.dtoRespuestaMultiple        = new BindingList <Respuestas>(dr.Read <Respuestas>().ToList());
                        dto.dtoComentariosConsulta      = new BindingList <ComentariosConsulta>(dr.Read <ComentariosConsulta>().ToList());
                    }
                    return(dto);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }