Foros > C# (Sharp) ( Limpio y listo para usarse ): web service (ejer sencillo)

  1. sharukita

    Mensajes [4] - Enviado el Martes 05 de Agosto de 2008 a las 21:54hs

    AQui tenemos 1 ejercicio
    LLENADO 1 COMBO CON LAS ORDENES Y MOSTAR DETALLE EN EL GRID CON WEB SERVICE EN C#

    SE CREA 1 PROYECTO ENBLANCO .. LUEGO EL WEB SIDE (EL 2DO) EL 1ERO ES EL ASP

    1)importar
    using System.Data;
    using System.Data.SqlClient;

    2) Cadena de conexion

    SqlConnection cn = new SqlConnection("Data Source=(local);Database=Northwind;integrated security=yes");

    3) crear el metodo

    [WebMethod]
    public DataSet listaordenes()
    { SqlDataAdapter da = new SqlDataAdapter("usp_listar",cn);
    DataSet ds = new DataSet();
    da.Fill(ds);
    return ds; }

    [WebMethod]
    public DataSet detalleordenes(int nro){
    SqlDataAdapter da = new SqlDataAdapter("usp_ordenes "+ nro,cn);
    DataSet ds = new DataSet();
    da.Fill(ds);
    return ds;
    }


    SqlWb --> querys .....

    create proc usp_listar
    as
    select distinct OrderID from dbo.Orders
    return

    exec usp_listar

    create proc usp_ordenes 10248
    @nro int
    as
    select p.ProductName,d.UnitPrice,d.Quantity, d.UnitPrice * d.Quantity as total
    from dbo.Products p , "Order Details" d ,Orders o
    where o.OrderID= d.OrderID and p.ProductID = d.ProductID
    and o.OrderID = @nro

    4) Si queremos consumirlo agregamos 1 proyecto windows ( con los metodos creados y los valores d parametro )
    luego ejecutar el proyecto y guardar el url + ?WSDL... agregar 1 erferencia web al proyecto windows
    y colocar la nueva url [ IR ..nombre de referencia web ... miservicio....agregar referencia web ..]


    5) ahora consumimos lo creado en el formulario despues del metodo del formulario

    //public Form1()
    //{
    // InitializeComponent();
    //}

    // miservicio.Service objmiservicio = new miservicio.Service();


    en la clase ...{

    miservicio.Service obj = new miservicio.Service();
    protected void Page_Load(object sender, EventArgs e)
    {
    if(!Page.IsPostBack){

    DataSet ds = new DataSet();
    ds = obj.listaordenes();
    DropDownList1.DataSource = ds;
    DropDownList1.DataTextField = "OrderID";
    DropDownList1.DataValueField = "OrderID";
    DropDownList1.DataBind();
    }



    }
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
    int nro = int.Parse(DropDownList1.SelectedItem.Value.ToString());
    DataSet ds = new DataSet();
    ds = obj.detalleordenes(nro);
    GridView1.DataSource = ds;
    GridView1.DataBind();
    }
    }

    // DataKeyNames .. aqui se pone el codigo q sera el prametro ..

  2. sharukita

    Mensajes [4] - Enviado el Martes 05 de Agosto de 2008 a las 22:05hs

    Ejercicio 2 usando northwnd --- 2 gridwiev y 1 combo . Al cargar la paguina se listara todos los clientes , al escoger uno de ellos en el primer gridwiev se mostrara las ordenes que efectuo dicho cliente , si queremoslsiatra el detalle de la orden la selecionamos del gridwiev 1 y en el gridwiev 2 mostraremos los productos comprados con dicha orden . los pasos son = q el ejerc 1 .... paso 1 2 3 =
    los methodos serian:
    en el? WebService.cs-----------------------------------------------------------------------------
    [WebMethod]
    public DataSet Listarclientes() {
    SqlDataAdapter da = new SqlDataAdapter("listaempleados", cn);
    DataSet ds = new DataSet ();
    da.Fill (ds);
    return ds;
    }
    [WebMethod]
    public DataSet Listarordenesdecliente(int nro)
    {SqlDataAdapter da = new SqlDataAdapter("ordenesporcliente"+nro, cn);
    DataSet ds = new DataSet();
    da.Fill(ds);
    return ds;}
    [WebMethod]
    public DataSet detalledelaorden(int nro2)
    { SqlDataAdapter da = new SqlDataAdapter("detalle_delaorden "+nro2,cn);
    DataSet ds = new DataSet();
    da.Fill(ds);
    return ds;}

    En el .aspx ------------------------------------------------------------------------
    ----Dentro de la clase del formulario {

    miservicio.Service obj = new miservicio.Service();
    protected void Page_Load(object sender, EventArgs e)
    {
    if (!Page.IsPostBack){
    DataSet ds = new DataSet();
    ds = obj.Listarclientes();
    DropDownList1.DataSource = ds;
    DropDownList1.DataTextField="LastName";
    DropDownList1.DataValueField = "EmployeeID";
    DropDownList1.DataBind();

    }

    }
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
    int nro = int.Parse(DropDownList1.SelectedItem.Value.ToString());
    DataSet ds = new DataSet();
    ds = obj.Listarordenesdecliente(nro);
    GridView1.DataSource = ds;
    GridView1.DataBind();
    }
    protected void GridView2_SelectedIndexChanged(object sender, EventArgs e)
    {

    }
    protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
    DataSet ds = new DataSet();
    int nro = int.Parse(GridView1.SelectedDataKey.Value.ToString());
    GridView2.DataSource = obj.detalledelaorden(nro);
    GridView2.DataBind(); }
    ----}
    Procedimientos almacenados

    1ero ) Listando todos los empleados
    create proc listaempleado
    as
    select EmployeeID,LastName
    from dbo.Employees

    2do ) Enviando como par?metro el elemento seleccionado del DropDownList
    create proc ordenesporcliente ---- se envia como parametro el empleado
    @EmployeeID int
    as
    select distinct O.OrderID as Codigo,O.OrderDate as Fecha ,
    sum(od.UnitPrice*od.Quantity - od.Discount) as Total
    from dbo.Orders O ,[Order Details] od, dbo.Employees e
    where O.OrderID=od.OrderID and e.EmployeeID= O.EmployeeID
    and e.EmployeeID = @EmployeeID
    group by O.OrderID,O.OrderDate

    3ero ) Mostrando detalle de la orden
    create proc detalle_delaorden --se muesta el detalle de la orden
    @OrderID int
    as
    select p.ProductName,p.UnitPrice,p.QuantityPerUnit,
    od.UnitPrice * od.Quantity as total
    from "Order Details" od , dbo.Orders o, dbo.Products p
    where o.OrderID = od.OrderID and od.ProductID = p.ProductID and @OrderID=o.OrderID

    // DataKeyNames .. aqui se pone el codigo q sera el prametro ..

  3. sharukita

    Mensajes [4] - Enviado el Martes 05 de Agosto de 2008 a las 22:08hs

    Ejercicio 3? PAISES - DATA DE EMPLEADOS .. En nuestro formulario implementaremos el siguiente dise?o. El requerimiento es: al cargar la pagina se listara en el Gridview el nombre , apelido , pais, direccion y telefono de nuestros empleados , cuando escogermos un empleado del DropDownList nos mostrara en el Gridview los datos personales del empleado ( consideramos datos personales a los campos con nombes codigo , nombre,pais , fecha de nacimiento y direcion )solo del empleado selecionado , Ahora tenemos una opcion mas que es colocar un pais y que en el Gridview nos muestre la relacion de empleados que pertenecen a dicho pais

    Los metodos son :
    [WebMethod]
    public DataSet lisatempleado() {
    SqlDataAdapter da = new SqlDataAdapter("listaempleados", cn);
    DataSet ds = new DataSet();
    da.Fill(ds);
    return ds;
    }
    [WebMethod]
    public DataSet listarcargainicial()
    {
    SqlDataAdapter da = new SqlDataAdapter("usp_datostotalempleado", cn);
    DataSet ds = new DataSet();
    da.Fill(ds);
    return ds;
    }

    [WebMethod]
    public DataSet empleadoselecionado(int nro)
    {
    SqlDataAdapter da = new SqlDataAdapter("usp_datofitrado " + nro, cn);
    DataSet ds = new DataSet();
    da.Fill(ds);
    return ds;
    }

    [WebMethod]
    public DataSet cargapais (string cd)
    {
    SqlDataAdapter da = new SqlDataAdapter("empleadosdeunpais " + cd, cn);
    DataSet ds = new DataSet();
    da.Fill(ds);
    return ds;
    }
    }

    ----------------En el Aspx va
    miservicio2.WebService objservivio= new miservicio2.WebService();
    protected void Page_Load(object sender, EventArgs e)
    {
    if (!Page.IsPostBack){
    DataSet ds = new DataSet();
    ds = objservivio.lisatempleado();
    DropDownList1.DataSource = ds;
    DropDownList1.DataTextField = "LastName";
    DropDownList1.DataValueField = "EmployeeID";
    DropDownList1.DataBind();
    DataSet dss = new DataSet();
    dss = objservivio.listarcargainicial();
    GridView1.DataSource = dss;
    GridView1.DataBind();
    }
    }
    protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
    DataSet ds = new DataSet();
    int nro = int.Parse(DropDownList1.SelectedItem.Value.ToString());
    ds = objservivio.empleadoselecionado(nro);
    GridView1.DataSource = ds;
    GridView1.DataBind();
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
    DataSet ds = new DataSet();
    string cod = TextBox1.Text;
    ds = objservivio.cargapais(cod);
    GridView1.DataSource = ds;
    GridView1.DataBind();
    }

  4. sharukita

    Mensajes [4] - Enviado el Jueves 07 de Agosto de 2008 a las 19:24hs

    TRABAJNDO CON CAPAS

    referencias
    DATOS entidad y dll
    NEGOC cpa datos y cpa entidad
    PRESNT cpa entidad y cpa ngocio



    -------CPA ENTIDAD
    private sting campo

    int click derecho refactor



    ------CPA DATOS

    En Dao

    using Microsoft.ApplicationBlocks.Data;
    using System.Data;
    using System.Data.SqlClient;
    using CapaEntidad;



    public class clienteDAO{
    Sqlconnection CN = new Sqlconnection("");



    public DataTable listar(capaentidad.cliente objcliente)
    {
    return SqlHepler.ExecuteDataTable(CN,"proc",objcliete.csutomerid)
    }



    public DataTable listar( )
    {
    return SqlHepler.ExecuteDataTable(CN,"proc")
    }



    ---NEGOCIO

    using CapaEntidad;

    using CapaDatos;

    using System.Data;

    clasenegocio {

    CapaDatos.ClienteDAO objclienteDAO = new CLIENTEDAO();

    CapaEntidad.Cliente objcliente = new Cliente();



    public DataTableListarOrdenes(){


    }

    }


responder

Para poder responder a este tema tenes que ingresar. Si no tenes una cuenta podes registrarse gratis..

publicidad

API DE FACEBOOK
GOOGLE CALENDAR API
GOOGLE MAPS API