static public ArrayList Read(IDataReader reader)
        {
            ArrayList aCustomerOrderRowList = new ArrayList();

            while (reader.Read())
            {
                CustomerOrderRow aCustomerOrderRow = new CustomerOrderRow();
                int i = 0;
                aCustomerOrderRow.ClientIdentity          = reader.GetString(i++);
                aCustomerOrderRow.OrderNumber             = reader.GetString(i++);
                aCustomerOrderRow.OrderSequence           = reader.GetInt32(i++);
                aCustomerOrderRow.SubSequence             = reader.GetInt32(i++);
                aCustomerOrderRow.LinePosition            = reader.GetInt32(i++);
                aCustomerOrderRow.LineSequence            = reader.GetInt32(i++);
                aCustomerOrderRow.LineKitPosition         = reader.GetInt32(i++);
                aCustomerOrderRow.LineStatus              = reader.GetString(i++);
                aCustomerOrderRow.OrderedQuantity         = Convert.ToDouble(reader.GetDecimal(i++));
                aCustomerOrderRow.PickedQuantity          = Convert.ToDouble(reader.GetDecimal(i++));
                aCustomerOrderRow.DiscrepancyQuantity     = Convert.ToDouble(reader.GetDecimal(i++));
                aCustomerOrderRow.DiscrepancyCode         = reader.GetString(i++);
                aCustomerOrderRow.DiscrepancyText         = reader.GetString(i++);
                aCustomerOrderRow.ExternalDiscrepancyCode = reader.GetString(i++);

                aCustomerOrderRowList.Add(aCustomerOrderRow);
            }

            reader.Close();

            return(aCustomerOrderRowList);
        }
Пример #2
0
        public CustomerOrderInfoDoc GetCustomerOrderInfo(
            string ChannelId,
            string LanguageId,
            string ClientIdentity,
            string OrderNumber,
            Nullable <int> OrderSequence)
        {
            CustomerOrderInfoDoc res = new CustomerOrderInfoDoc();

            try
            {
                BeginWebmethod(ChannelId);

                try
                {
                    WebServicesQuery pkg = new WebServicesQuery(GetDataBase());

                    IDataReader aCustomerOrderRdr     = null;
                    IDataReader aCustomerWorkOrderRdr = null;
                    IDataReader aDepartureRdr         = null;
                    IDataReader aOrderQuantitiesRdr   = null;
                    IDataReader aCustomerOrderRowRdr  = null;

                    pkg.GetCustomerOrderInfo(ClientIdentity,
                                             OrderNumber,
                                             OrderSequence,
                                             LanguageId,
                                             out aCustomerOrderRdr,
                                             out aCustomerWorkOrderRdr,
                                             out aDepartureRdr,
                                             out aOrderQuantitiesRdr,
                                             out aCustomerOrderRowRdr);

                    ArrayList aCustomerOrderList     = CustomerOrder.Read(aCustomerOrderRdr);
                    ArrayList aCustomerWorkOrderList = CustomerWorkOrder.Read(aCustomerWorkOrderRdr);
                    ArrayList aDepartureList         = Departure.Read(aDepartureRdr);
                    ArrayList aOrderQuantitiesList   = OrderQuantities.Read(aOrderQuantitiesRdr);
                    ArrayList aCustomerOrderRowList  = CustomerOrderRow.Read(aCustomerOrderRowRdr);

                    res.aCustomerOrderList     = aCustomerOrderList.ToArray(typeof(CustomerOrder)) as CustomerOrder[];
                    res.aCustomerWorkOrderList = aCustomerWorkOrderList.ToArray(typeof(CustomerWorkOrder)) as CustomerWorkOrder[];
                    res.aDepartureList         = aDepartureList.ToArray(typeof(Departure)) as Departure[];
                    res.aOrderQuantitiesList   = aOrderQuantitiesList.ToArray(typeof(OrderQuantities)) as OrderQuantities[];
                    res.aCustomerOrderRowList  = aCustomerOrderRowList.ToArray(typeof(CustomerOrderRow)) as CustomerOrderRow[];

                    GetDataBase().Commit();
                }
                catch (Exception e)
                {
                    try
                    {
                        GetDataBase().Rollback();
                    }
                    catch (Exception)
                    { }
                    Exception InternalError = new Exception("DataError: Error processing data", e);
                    throw (InternalError);
                }
            }

            finally
            {
                EndWebmethod();
            }

            return(res);
        }