Ejemplo n.º 1
0
        public List <TarifarioEntidad> obtenerDatosXFiltro(TarifarioEntidad entidad)
        {
            SqlConnection cn = new SqlConnection(Conexion.CnBanca);

            try
            {
                Conexion.abrirConexion(cn);
                SqlCommand cmd = new SqlCommand("usp_Tarifario_Filtrar", cn);
                cmd.Parameters.Add(new SqlParameter("@Cod_Canal", SqlDbType.VarChar, 15)).Value     = (entidad.Canal.Cod_Canal != null ? entidad.Canal.Cod_Canal : "");
                cmd.Parameters.Add(new SqlParameter("@Cod_SubCanal", SqlDbType.VarChar, 15)).Value  = (entidad.SubCanal.Cod_SubCanal != null ? entidad.SubCanal.Cod_SubCanal : "");
                cmd.Parameters.Add(new SqlParameter("@Ruc", SqlDbType.VarChar, 11)).Value           = (entidad.Canal.RUC != null ? entidad.Canal.RUC : "");
                cmd.Parameters.Add(new SqlParameter("@FechaInicio", SqlDbType.SmallDateTime)).Value = DateTime.Parse(entidad.FechaInicio);
                cmd.Parameters.Add(new SqlParameter("@FechaFin", SqlDbType.SmallDateTime)).Value    = DateTime.Parse(entidad.FechaFin);
                cmd.CommandType = CommandType.StoredProcedure;
                List <TarifarioEntidad> ListaTarifario = new List <TarifarioEntidad>();
                using (var reader = cmd.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        TarifarioEntidad oTarifarioEntidad = new TarifarioEntidad();
                        oTarifarioEntidad.Cod_Tarifa = Reader.GetIntValue(reader, "Cod_Tarifa");
                        oTarifarioEntidad.Canal      = new CanalEntidad
                        {
                            Canal = Reader.GetStringValue(reader, "Canal"),
                        };
                        oTarifarioEntidad.SubCanal = new SubCanalEntidad
                        {
                            SubCanal = Reader.GetStringValue(reader, "SubCanal"),
                        };

                        oTarifarioEntidad.Producto = new ProductoEntidad
                        {
                            Cod_Producto = Reader.GetStringValue(reader, "Cod_Producto"),
                            Producto     = Reader.GetStringValue(reader, "Producto"),
                        };
                        oTarifarioEntidad.SubProducto = new SubProductoEntidad
                        {
                            Cod_SubProducto = Reader.GetStringValue(reader, "Cod_SubProducto"),
                            SubProducto     = Reader.GetStringValue(reader, "SubProducto"),
                        };
                        oTarifarioEntidad.Tarifa_Inicio  = Reader.GetDecimalValue(reader, "Tarifa_Inicio");
                        oTarifarioEntidad.Tarifa_Fin     = Reader.GetDecimalValue(reader, "Tarifa_Fin");
                        oTarifarioEntidad.Tipo           = Reader.GetTinyIntValue(reader, "Tipo");
                        oTarifarioEntidad.Tarifario      = Reader.GetDecimalValue(reader, "Tarifario");
                        oTarifarioEntidad.Estado         = Reader.GetStringValue(reader, "Estado");
                        oTarifarioEntidad.Fecha_Registro = Reader.GetDateTimeValue(reader, "Fecha_Registro").ToString("dd/MM/yyyy");
                        oTarifarioEntidad.Usuario        = new UsuarioEntidad
                        {
                            Empleado = new EmpleadoEntidad
                            {
                                Nombre    = Reader.GetStringValue(reader, "Nombre"),
                                Apellido  = Reader.GetStringValue(reader, "Apellido"),
                                Apellido2 = Reader.GetStringValue(reader, "Apellido2"),
                            }
                        };

                        ListaTarifario.Add(oTarifarioEntidad);
                    }
                }
                return(ListaTarifario);
            }
            catch (Exception ex)
            {
                return(null);
            }
            finally
            {
                Conexion.cerrarConexion(cn);
            }
        }