public ActionResult ObtenerlistadoVentas([DataSourceRequest] DataSourceRequest request, int IdTipo, string Busqueda) { resultado = LlenarListado(IdTipo, Busqueda); if (resultado == null) { resultado = new ListadoVentasDetalle(); } return(Json(resultado.ToDataSourceResult(request), JsonRequestBehavior.AllowGet)); }
private ListadoVentasDetalle LlenarListado(int Tipo, string Busqueda) { StringBuilder consulta = new StringBuilder(); SqlConnection conexion = null; SqlCommand comando = null; SqlDataReader reader = null; ListadoVentasDetalle listavents = new ListadoVentasDetalle(); try { conexion = Obtenerconexion(true); consulta.AppendLine("SELECT A.FOLIOVTA,A.IDCLIENTE,B.NOMBRE+' '+ "); consulta.AppendLine("B.APELLIDOPATERNO+' '+B.APELLIDOMATERNO NOMBRECOMPLETO, "); consulta.AppendLine("A.IDARTICULO,A.FECHA,A.ACTIVO,A.TOTAL "); consulta.AppendLine(" FROM VTA_VENTADETALLE A "); consulta.AppendLine(" LEFT JOIN VTA_CLIENTES B ON "); consulta.AppendLine(" B.ID = A.IDCLIENTE "); consulta.AppendLine(" LEFT JOIN VTA_ARTICULOS C ON "); consulta.AppendLine(" C.ID = A.IDARTICULO "); consulta.AppendLine(" WHERE A.ACTIVO='Si' "); if (Tipo == 2) { consulta.AppendLine(" AND A.FOLIOVTA = @BUSQUEDA "); } if (Tipo == 1) { if (!string.IsNullOrEmpty(Busqueda)) { int idcliente = 0; string busqueda = string.Empty; if (!int.TryParse(Busqueda, out idcliente)) { consulta.AppendLine(" AND (B.NOMBRE LIKE @BUSQUEDA OR B.APELLIDOMATERNO "); consulta.AppendLine(" LIKE @BUSQUEDA OR B.APELLIDOPATERNO LIKE @BUSQUEDA) "); } else { consulta.AppendLine(" AND A.IDCLIENTE = @BUSQUEDA "); } } } comando = obtenercomando(conexion, consulta); if (!string.IsNullOrEmpty(Busqueda)) { if (Tipo == 1) { int idcliente = 0; string busqueda = string.Empty; if (!int.TryParse(Busqueda, out idcliente)) { comando.Parameters.Add("@BUSQUEDA", SqlDbType.VarChar); comando.Parameters["@BUSQUEDA"].Value = Busqueda; } else { comando.Parameters.Add("@BUSQUEDA", SqlDbType.Int); comando.Parameters["@BUSQUEDA"].Value = Busqueda; } } else if (Tipo == 2) { comando.Parameters.Add("@BUSQUEDA", SqlDbType.Int); comando.Parameters["@BUSQUEDA"].Value = Busqueda; } } reader = comando.ExecuteReader(); while (reader.Read()) { VentasDetalle Entidad = new VentasDetalle(); int i = 0; Entidad.FolioVta = (reader[i] != DBNull.Value ? reader.GetInt32(i) : 0); i++; Entidad.IdCliente = (reader[i] != DBNull.Value ? reader.GetInt32(i) : 0); i++; Entidad.IdClienteNombre = (reader[i] != DBNull.Value ? reader.GetString(i) : string.Empty); i++; Entidad.IdArticulo = (reader[i] != DBNull.Value ? reader.GetInt32(i) : 0); i++; Entidad.Fecha = (reader[i] != DBNull.Value ? reader.GetDateTime(i) :DateTime.MinValue); i++; Entidad.Activo = (reader[i] != DBNull.Value ? reader.GetString(i) : string.Empty); i++; Entidad.Importe = (reader[i] != DBNull.Value ? Convert.ToDouble(reader.GetDecimal(i)) : 0); i++; listavents.Add(Entidad); } } catch (Exception ex) { //ModelState.AddModelError("errors", ex.Message); } finally { if (conexion != null) { if (conexion.State == ConnectionState.Open) { conexion.Close(); } conexion.Dispose(); conexion = null; } } return(listavents); }