Beispiel #1
0
        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);
        }