Esempio n. 1
0
        /// <summary>
        /// Using the sql param retrieve the given customer orders
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        private static List <CustOrder> RetrieveOrders(string sql)
        {
            LogIt("In RetrieveOrders " + sql);
            List <CustOrder> data = new List <CustOrder>();

            try
            {
                using (iDB2Connection conn = Config.Conn)
                {
                    dr = ExecuteSql(sql, conn);
                    if (dr.HasRows)
                    {
                        while (dr.Read())
                        {
                            CustOrder tmp = RowToDict(dr);
                            if (tmp != null)
                            {
                                data.Add(tmp);
                            }
                        }
                    }
                    else
                    {
                        data.Add(new CustOrder()
                        {
                            CustomerCode = customer, OrderNumber = ornu, StatusText = "Order(s) not found"
                        });
                    }
                }
            }
            catch (iDB2CommErrorException ex)
            {
                throw new FaultException <DatabaseFault>(new DatabaseFault()
                {
                    DbOperation = "Connection to database",
                    DbReason    = "Exception accessing database",
                    DbMessage   = ex.Message
                }, "Database connection issue");
            }
            return(data);
        }
Esempio n. 2
0
        /// <summary>
        /// Using the data reader build the classes internal collection.
        /// May have to change this routine if I can not get the serializer
        /// to work correctly.
        /// </summary>
        /// <param name="dr"></param>
        /// <returns></returns>
        private static CustOrder RowToDict(iDB2DataReader dr)
        {
            CustOrder data = new CustOrder();

            for (int i = 0; i < dr.FieldCount; i++)
            {
                //row.Add(dr.GetName(i).Trim(), dr.GetValue(i).ToString().Trim());
                //  we can not use the above techinque we have to load a basic object
                //
                switch (dr.GetName(i).Trim())
                {
                case "ITEMNO":
                    data.ItemNumber = dr.GetValue(i).ToString().Trim();
                    break;

                case "CUSTNO":
                    data.CustomerCode = dr.GetValue(i).ToString().Trim();
                    break;

                case "CUSTNAM":
                    data.CustomerName = dr.GetValue(i).ToString().Trim();
                    break;

                case "ORDNO":
                    data.OrderNumber = dr.GetValue(i).ToString().Trim();
                    break;

                case "ORLINE":
                    data.LineNumber = dr.GetValue(i).ToString().Trim();
                    break;

                case "SHPMTH":
                    data.ShippingMethod = dr.GetValue(i).ToString().Trim();
                    break;

                case "TRACK":
                    data.TrackingNumber = dr.GetValue(i).ToString().Trim();
                    break;

                case "STATUS":
                    data.Status = dr.GetValue(i).ToString().Trim();
                    break;

                case "CSRNAM":
                    data.CsrName = dr.GetValue(i).ToString().Trim();
                    break;

                case "CSREML":
                    data.CsrEmail = dr.GetValue(i).ToString().Trim();
                    break;

                case "ADVTSR":
                    data.Advertiser = dr.GetValue(i).ToString().Trim();
                    break;

                case "DESIGN":
                    data.Design = dr.GetValue(i).ToString().Trim();
                    break;

                case "RCVDBY":
                    data.ReceivedBy = dr.GetValue(i).ToString().Trim();
                    break;

                case "PONUM":
                    data.PoNumber = dr.GetValue(i).ToString().Trim();
                    break;

                case "TGTSDT":
                    if (dr.GetValue(i).ToString().Trim() != "")
                    {
                        if (dr.GetValue(i).ToString().Trim() == "0" || dr.GetValue(i).ToString().Trim() == "99999999")
                        {
                        }
                        else
                        {
                            data.TargetShipDate = StringUtil.ParseIbsDate(dr.GetValue(i).ToString().Trim());
                        }
                    }
                    break;

                case "ACTSDT":
                    if (dr.GetValue(i).ToString().Trim() != "")
                    {
                        if (dr.GetValue(i).ToString().Trim() == "0" || dr.GetValue(i).ToString().Trim() == "99999999")
                        {
                        }
                        else
                        {
                            data.ActualShipDate = StringUtil.ParseIbsDate(dr.GetValue(i).ToString().Trim());
                        }
                    }
                    break;

                case "TGTDLD":
                    if (dr.GetValue(i).ToString().Trim() != "")
                    {
                        if (dr.GetValue(i).ToString().Trim() == "0" || dr.GetValue(i).ToString().Trim() == "99999999")
                        {
                        }
                        else
                        {
                            data.TargetDeliveryDate = StringUtil.ParseIbsDate(dr.GetValue(i).ToString().Trim());
                        }
                    }
                    break;

                case "ACTDLD":
                    if (dr.GetValue(i).ToString().Trim() != "")
                    {
                        if (dr.GetValue(i).ToString().Trim() == "0" || dr.GetValue(i).ToString().Trim() == "99999999")
                        {
                        }
                        else
                        {
                            data.ActualDeliveryDate = StringUtil.ParseIbsDate(dr.GetValue(i).ToString().Trim());
                        }
                    }
                    break;
                }
            }
            switch (data.Status)
            {
            case "00500":
                data.StatusText = "Not Confirmed";
                break;

            case "01000":
                data.StatusText = "Please upload art";
                break;

            case "02000":
                data.StatusText = "Order Confirmation";
                break;

            case "03000":
                data.StatusText = "Proof Ready for Approval";
                break;

            case "04000":
                data.StatusText = "Proof Approved";
                break;

            case "05000":
                data.StatusText = "In Production - Ripped";
                break;

            case "06000":
                data.StatusText = "In Production - Printed";
                break;

            case "07000":
                data.StatusText = "In Production - Finished";
                break;

            case "08000":
                data.StatusText = "Shipped";
                break;

            case "09000":
                data.StatusText = "Delivered";
                break;

            case "10000":
                data.StatusText = "Order Invoiced";
                break;

            default:
                data.StatusText = "ERROR";
                break;
            }
            return(data);
        }