none
Vytvoření vícerozměrného pole

    Dotaz

  • Dobrý den,
    existuje třída Service07.Eso9PortClient, která obsahuje metodu getOrders(), která vrací pole objednávek.
    Každá objednávka obsahuje informace (adresa, složky atd..)

    Potřebuji tyto objednávky převést do pole nebo kolekce tak, abych je mohl procházet a zpracovat.
    Mohl by mně někdo poradit jak na to?

    // objednávky k převedení na pole nebo kolekci //
    // orders
    Service07.Eso9PortClient orderClient07 = new Service07.Eso9PortClient();
    Service07.Order[] orders = orderClient07.getOrders();
    foreach (Service07.Order order in orders)
    {   
        // order addresses
        Service07.Address[] addresses = order.Addresses;               
        foreach (Service07.Address address in addresses)
        {
            // addresses attributes
            Service07.Attribute[] addressAttributes = address.Attributes;
            foreach (Service07.Attribute addressAttribute in addressAttributes)
            {
                string addressAttributeName = addressAttribute.Name;
                string addressAttributeValue = addressAttribute.Value;
            }
            string addressCity = address.City;
            string addressCompany = address.Company;
            string addressCountry = address.Country;
        }
       
        // order attributes
        Service07.Attribute[] orderAttributes = order.Attributes;
        foreach (Service07.Attribute orderAttribute in orderAttributes)
        {
            string orderAttributeName = orderAttribute.Name;
            string orderAttributeValue = orderAttribute.Value;
        }
       
        // order Coupon
        string orderCouponCode = order.Coupon != null ? order.Coupon.Code : null;
        string orderCuponValue = order.Coupon != null ? order.Coupon.Value : null;               
       
        // order Created
        string orderCreated = order.Created;
       
        // order items
        Service07.OrderItem[] items = order.Items;
        foreach (Service07.OrderItem item in items)
        {
            string itemName = item.Name;
            string itemNote = item.Note;
        }
    }

    Předem děkuji za odpověď


    Lada vyvojar
    úterý 28. června 2011 6:16

Odpovědi

  • Ztrácím se v otázce "mám pole objednávek, jak z něj dostanu pole?"

    Nicméně pokud Vám jde o to, abyste se zbavil třídy Service07.Order a dostal to do nějaké "lepší", tak si nejprve položte otázku proč?

    Pokud ji budete mít zodpovězenu tak, že to pořád ještě potřebujete, tak si na to buď musíte zadeklarovat nějakou vlastní třídu, nebo to nasypte do nějaké anonymní třídy. S výhodou můžete použít LINQ, třeba select new {...}.


    Robert Haken, Microsoft MVP ASP/ASP.NET, HAVIT, s.r.o., www.havit.cz, http://knowledge-base.havit.cz
    sobota 9. července 2011 22:52
    Moderátor

Všechny reakce

  • Ztrácím se v otázce "mám pole objednávek, jak z něj dostanu pole?"

    Nicméně pokud Vám jde o to, abyste se zbavil třídy Service07.Order a dostal to do nějaké "lepší", tak si nejprve položte otázku proč?

    Pokud ji budete mít zodpovězenu tak, že to pořád ještě potřebujete, tak si na to buď musíte zadeklarovat nějakou vlastní třídu, nebo to nasypte do nějaké anonymní třídy. S výhodou můžete použít LINQ, třeba select new {...}.


    Robert Haken, Microsoft MVP ASP/ASP.NET, HAVIT, s.r.o., www.havit.cz, http://knowledge-base.havit.cz
    sobota 9. července 2011 22:52
    Moderátor
  • DD,

    ja to pochopil tak ze potrebuje pole poli. Nebo koleci poli.

    Otazkou je proc?

    Prochazet hodnoty by melo jit i bez toho ze to nahazim do RAMky. Mozna by lepsim resenim bylo udelat potomka tridy ktery se bude chovat tak jak potrebujete (treba bude mit funkci s odkazem na dalsi polozku v rade).


    ing. Jan Chaloupek


    neděle 10. července 2011 12:48