public IHttpActionResult GetProductoForDetalleByCodigo([FromBody] LoginViewModel vm) { if (vm.Nombre.Length > 0) { bool userLogued = (!String.IsNullOrEmpty(vm.Email)) ? true : false; string codLista = string.Empty; if (userLogued) { MaestroClientes mc = new MaestroClientes(); ClienteDTO cl = mc.GetCliente(vm.Email); codLista = cl.CodLista; } else { MaestroParametros mp = new MaestroParametros(); ParametrosDTO param = mp.GetParametro("ListaPreciosDefecto"); codLista = param.Valor; } MaestroProductos m = new MaestroProductos(); ProductoDetalleDTO coll = m.GetProductoForDetalleByCodigo(vm.Nombre, codLista); return(Ok(coll)); } return(BadRequest("Entrada Invalida")); }
public ProductoDetalleDTO GetProductoForDetalleByCodigo(string codigo, string codLista) { con.Open(); SqlCommand cmd = new SqlCommand(); SqlDataReader reader; cmd.CommandText = "SELECT " + "\n" + " P.CodProd, " + "\n" + " P.DesProd, " + "\n" + " P.DesProd2, " + "\n" + " P.CodBarra, " + "\n" + " P.CodUmed, " + "\n" + " P.CodCategoria, " + "\n" + " P.PrecioBoleta, " + "\n" + " P.PesoKgs, " + "\n" + " P.Estado, " + "\n" + " P.ProductoDestacado, " + "\n" + " P.OrdenDestacado, " + "\n" + " P.Fecha_Carga_Soft, " + "\n" + " ISNULL(C.DESGRUPO, '') AS NombreCategoria, " + "\n" + " ISNULL((SELECT top 1 ISNULL(Path, '') FROM ProductosImagenes I WHERE I.CodProd = P.CodProd),'') AS Path, " + "\n" + " CASE WHEN " + "\n" + " (SELECT COUNT(*) FROM PrecioProductos WHERE CodProd = P.CODPROD AND CodLista = '" + codLista + "') > 0 " + "\n" + " THEN ISNULL(PP.Valor,0) + round(((ISNULL(PP.Valor,0) * CAST((SELECT TOP 1 VALOR FROM Parametros WHERE UPPER(NOMBRE) = 'IVA') AS int)) / 100),0) " + "\n" + " ELSE " + "\n" + " ISNULL(P.PrecioVta,0) + round(((ISNULL(P.PrecioVta,0) * CAST((SELECT TOP 1 VALOR FROM Parametros WHERE UPPER(NOMBRE) = 'IVA') AS int)) / 100),0) " + "\n" + " END AS PrecioVta " + "\n" + "FROM Productos P " + "\n" + "LEFT JOIN CATEGORIA C " + "\n" + "ON C.CODGRUPO = P.CODCATEGORIA " + "\n" + "LEFT JOIN PrecioProductos PP " + "\n" + "ON PP.CodProd = P.CodProd " + "\n" + "AND PP.CodLista = '" + codLista + "' " + "\n" + "WHERE P.ESTADO = 1 AND p.CodProd = '" + codigo + "'"; cmd.CommandType = CommandType.Text; cmd.Connection = con; reader = cmd.ExecuteReader(); ProductoDetalleDTO item = new ProductoDetalleDTO(); while (reader.Read()) { item.CodProd = reader["CodProd"].ToString(); item.DesProd = reader["DesProd"].ToString(); item.DesProd2 = reader["DesProd2"].ToString(); item.CodBarra = reader["CodBarra"].ToString(); item.CodUmed = reader["CodUmed"].ToString(); item.CodCategoria = reader["CodCategoria"].ToString(); item.CodSubCatergoria = ""; // reader["CodSubCatergoria"].ToString(); item.PrecioVta = Convert.ToDecimal(reader["PrecioVta"]); item.PrecioBoleta = Convert.ToDecimal(reader["PrecioBoleta"]); item.PesoKgs = Convert.ToDecimal(reader["PesoKgs"]); item.Estado = Convert.ToInt32(reader["Estado"]); item.ImagenDefault = new ProductosImagenes { Path = reader["Path"].ToString() }; item.Imagenes = this.GetImagesFromProduct(item.CodProd); item.NombreCategoria = reader["NombreCategoria"].ToString(); item.ProductosRelacionados = this.GetAllOneImage2(item.CodProd, item.CodCategoria, codLista); item.ProductoDestacado = (reader["ProductoDestacado"] == DBNull.Value) ? "N" : reader["ProductoDestacado"].ToString();; item.OrdenDestacado = (reader["OrdenDestacado"] == DBNull.Value) ? 0 : Convert.ToInt32(reader["OrdenDestacado"]); item.FichasProducto = this.GetFichaProducto(item.CodProd); } reader.Close(); con.Close(); return(item); }