Ejemplo n.º 1
0
        private static Order _getOrderData(Models.Order orderDetails)
        {
            var item1 = new Order.Item
            {
                ProductId = orderDetails.Product.ToString(),
                Quantity  = orderDetails.Quantity,

                Files = new Order.Item.FileList
                {
                    Content = $"https://www.printapi.nl/{orderDetails.ImagePath}",
                }
            };

            var address = new Address
            {
                Name     = orderDetails.Name,
                Line1    = orderDetails.Line1,
                PostCode = orderDetails.PostCode,
                City     = orderDetails.City,
                Country  = ConvertToProperCountry(orderDetails.CountryEnum),
            };

            return(new Order
            {
                Email = orderDetails.EmailAddress,
                Items = new[] { item1 },

                Shipping = new Order.ShippingInfo
                {
                    Address = address
                }
            });
        }
        private void frmOrder_Load(object sender, System.EventArgs e)
        {
            this.Text += " - " + this.CompanyID;
            this.Title = this.Text;

            this.txtStudent.Enabled = false;
            this.txtTeacher.Enabled = false;
            this.txtOrderID.Focus();

            IDetail = new Order.Item();

            if (!Global.InDesignMode())
            {
                this.txtStatus.Panels[5].Text = "Packing [" + Global.CurrrentLine + "]";
                Pack oPack = new Pack(this.CompanyID);
                if (oPack.Find(Global.CurrrentLine))
                {
                    this.txtStatus.Panels[5].Text = "Packing [" + oPack.Description + "]";
                }
            }


            /*   Infragistics.Shared.ResourceCustomizer rc = Infragistics.Win.UltraWinGrid.Resources.Customizer;
             *
             * rc.SetCustomizedString("DeleteSingleRowPrompt", "");
             * Grid.EventManager.AllEventsEnabled = false;
             * Grid.EventManager.SetEnabled(EventGroups.AllEvents, false);*/

            PrintTitle();
        }
        private void AddItem()
        {
            this.IDetail.Quantity = 1;

            Order.Item item = new Order.Item();
            item.ProductID   = this.IDetail.ProductID;
            item.Description = this.IDetail.Description;
            item.Price       = this.IDetail.Price;


            item.Length = this.IDetail.Length;
            item.Width  = this.IDetail.Width;
            item.Height = this.IDetail.Height;

            if (!IfExist())
            {
                item.Quantity = this.IDetail.Quantity;
                oOrder.Items.Add(this.IDetail.ProductID, item);
            }
            else
            {
                oOrder.Items[this.IDetail.ProductID].Quantity += this.IDetail.Quantity;
            }

            ShowDetail();
            this.getTotals();
            ActiveRow();
            txtProductID.Focus();


            return;
        }
Ejemplo n.º 4
0
        private void frmPacking_Load(object sender, EventArgs e)
        {
            this.Text              += " - " + this.CompanyID;
            this.lbCompany.Text     = this.CompanyID;
            this.txtStudent.Enabled = false;
            this.txtTeacher.Enabled = false;
            this.txtOrderID.Focus();

            IDetail = new Order.Item();
        }
 private void frmOrder_Load(object sender, System.EventArgs e)
 {
     this.Text           += " - " + this.CompanyID;
     IDetail              = new Order.Item();
     txtCollected.Enabled = false;
     oOrder.CustomerID    = this.CustomerID;
     if (!oOrder.oCustomer.Find(this.CustomerID))
     {
         MessageBox.Show("Customer not found");
         Close();
     }
     oOrder.oCustomer.Brochures.Load(this.CompanyID, this.CustomerID);
 }
        private void CreateOrder()
        {
            Order oOrder = new Order(_CompanyID);

            //Saving Order to SQL Server

            oOrder.CompanyID  = _CompanyID;
            oOrder.CustomerID = _CustomerID;
            oOrder.Teacher    = _Teacher;

            oOrder.Student = icrProcessor.Fields["LastName"].Result + ", " + icrProcessor.Fields["FirstName"].Result;


            Application.DoEvents();

            String Code, Quantity;

            for (int i = 1; i <= 30; i++)
            {
                Code     = icrProcessor.Fields["Code" + i.ToString()].GetResult();
                Quantity = icrProcessor.Fields["Quantity" + i.ToString()].GetResult();

                Code     = Code.Trim();
                Quantity = Quantity.Trim();
                //oOrder.oProduct.CompanyID = _CompanyID;

                oOrder.oCustomer.Find(_CustomerID);

                if (Code != "" && Code.Length == 4)
                {
                    if (oOrder.oProduct.Find(Code) && Quantity != "")
                    {
                        Order.Item Item = new Order.Item();
                        Item.ProductID   = oOrder.oProduct.ID;
                        Item.Quantity    = Convert.ToInt32(Quantity.Trim());
                        Item.Description = oOrder.oProduct.Description;
                        Item.Price       = oOrder.oProduct.ExtendedPrice(oOrder.oCustomer);
                        oOrder.Items.Add(oOrder.oProduct.ID, Item);
                        oOrder.GetTotals();
                    }
                }
            }

            frmOrder ofrmOrder = new frmOrder(oOrder);

            ofrmOrder._OrderProcess = (int)OrderProcess.Discrepancy;
            ofrmOrder.ShowDialog();
        }
        private void frmOrder_Load(object sender, System.EventArgs e)
        {
            this.Text              += " - " + this.CompanyID;
            this.lbCompany.Text     = this.CompanyID;
            this.txtStudent.Enabled = false;
            this.txtTeacher.Enabled = false;
            this.txtOrderID.Focus();

            IDetail = new Order.Item();

            /*   Infragistics.Shared.ResourceCustomizer rc = Infragistics.Win.UltraWinGrid.Resources.Customizer;
             *
             * rc.SetCustomizedString("DeleteSingleRowPrompt", "");
             * Grid.EventManager.AllEventsEnabled = false;
             * Grid.EventManager.SetEnabled(EventGroups.AllEvents, false);*/
        }
        protected void AddItem(Order oOrder, Product oProduct, Int32 Quantity)
        {
            if (oOrder.Items.Contains(oProduct.ID))
            {
                oOrder.Items[oProduct.ID].Quantity += Quantity;
            }
            else
            {
                Order.Item oItem = new Order.Item(oOrder.oMySql);
                oItem.ProductID   = oProduct.ID;
                oItem.Quantity    = Quantity;
                oItem.Price       = oProduct.ExtendedPrice(oCustomer);
                oItem.Description = oProduct.Description;
                oItem.PackID      = oOrder.oProduct.PackID(oCustomer);

                oOrder.Items.Add(oProduct.ID, oItem);
            }
        }
Ejemplo n.º 9
0
        private void frmOrder_Load(object sender, System.EventArgs e)
        {
            this.Text += " - " + this.CompanyID;
            this.Title = this.Text;

            this.txtStudent.Enabled = false;
            this.txtTeacher.Enabled = false;
            this.txtOrderID.Focus();

            IDetail = new Order.Item();

            if (!Global.InDesignMode())
            {
                this.txtStatus.Panels[5].Text = "Imprintint [" + Global.CurrrentLine + "]";
                Pack oPack = new Pack(this.CompanyID);
                if (oPack.Find(Global.CurrrentLine))
                {
                    this.txtStatus.Panels[5].Text = "Imprinting [" + oPack.Description + "]";
                }
            }

            oTicket = new Ticket(this.CompanyID);
        }
        public Boolean CreateOrder()
        {
            Boolean ProcessOk = true;


            //Saving Order to SQL Server
            oOrder.Clear();

            oOrder.CompanyID  = CompanyID;
            oOrder.CustomerID = CustomerID;

            oOrder.Teacher = Teacher;
            oOrder.Type    = OrderType.Scanned;



            SpellWord oWord = new SpellWord();

            if (!oWord.GetResult(this.Fields["FirstName"]))
            {
                this.DrawRectangle(this.Fields["FirstName"]);
                ProcessOk = false;
            }
            String FirstName = oWord.Result;

            if (!oWord.GetResult(this.Fields["LastName"]))
            {
                this.DrawRectangle(this.Fields["LastName"]);
                ProcessOk = false;
            }
            String LastName = oWord.Result;

            //   MessageBox.Show(oOrder.Student);
            oOrder.Student = LastName + ", " + FirstName;

            if (oOrder.Find(oOrder.Teacher, oOrder.Student))
            {
                return(false);
            }

            String Digit    = this.Fields["SchoolUse"].Result.Trim();
            String nDecimal = this.Fields["SUDecimal"].Result.Trim();

            if (Digit == "8")
            {
                Digit = "00";
            }
            if (nDecimal == "")
            {
                nDecimal = "00";
            }

            oOrder.Collected = Convert.ToDouble(Digit.Replace(" ", "") + "." + nDecimal.Replace(" ", ""));
            oOrder.oCustomer.Find(CustomerID);


            Application.DoEvents();

            String Code, Quantity;


            for (int i = 1; i <= 30; i++)
            {
                Code     = this.Fields["Code" + i.ToString()].Result;
                Quantity = this.Fields["Quantity" + i.ToString()].Result;

                Code     = Code.Trim();
                Quantity = Quantity.Trim();
                //oOrder.oProduct.CompanyID = _CompanyID;


                Boolean bFound = false;
                if (Code != "" && Code.Length >= 3)
                {
                    if (!oOrder.oProduct.Find(Code))
                    {
                        if (!oOrder.oProduct.Find(Code))
                        {
                            SpellWord oCode  = new SpellWord();
                            ArrayList oCodes = oCode.getChars(this.Fields["Code" + i.ToString()]);
                            foreach (String sCode in oCodes)
                            {
                                if (oOrder.oProduct.Find(sCode))
                                {
                                    //MessageBox.Show(sCode);
                                    Code   = sCode;
                                    bFound = true;
                                    break;
                                }
                            }
                            if (!bFound)
                            {
                                //   MessageBox.Show("Not Found!:" + Field.Result);
                                //this.Fields["Code" + i.ToString()].DrawRectangle(Color.Red);
                                this.DrawRectangle(this.Fields["Code" + i.ToString()]);
                                ProcessOk = false;
                                continue;
                            }
                        }
                        else
                        {
                            //MessageBox.Show("Ok:" + Field.Result);
                        }
                    }
                    if (Quantity == "")
                    {
                        //this.Fields["Quantity" + i.ToString()].DrawRectangle(Color.Red);
                        this.DrawRectangle(this.Fields["Quantity" + i.ToString()]);
                        Quantity = "1";
                    }

                    Order.Item Item = new Order.Item();
                    Item.ProductID   = oOrder.oProduct.ID;
                    Item.Quantity    = Convert.ToInt32(Quantity.Trim().Replace(" ", ""));
                    Item.Description = oOrder.oProduct.Description;
                    Item.Price       = oOrder.oProduct.ExtendedPrice(oOrder.oCustomer);

                    if (oOrder.Items.Contains(oOrder.oProduct.ID))
                    {
                        oOrder.Items[oOrder.oProduct.ID].Quantity += Item.Quantity;
                    }
                    else
                    {
                        oOrder.Items.Add(oOrder.oProduct.ID, Item);
                    }
                }
            }
            oOrder.GetTotals();

            /*
             * if (Math.Abs(oOrder.Diff) > 0)
             * {
             *  this.Fields["SchoolUse"].DrawRectangle(Color.Red);
             *  this.Fields["SUDecimal"].DrawRectangle(Color.Red);
             *  ProcessOk = false;
             *
             * }
             */
            return(ProcessOk);
        }
        public void ConvertInvoiceToOrder(String CompanyID, String CustomerID, String Teacher)
        {
            Double DropPercentageCustomer = 0.00;
            Double DropPercentageItem     = 0.00;

            DataTable dvInv = new DataTable();

            dvInv = GetTotalDataTable("ProductID", DropPercentageCustomer, DropPercentageItem);
            if (dvInv.Rows.Count == 0)
            {
                MessageBox.Show("No Invoice Available for : " + CustomerID);
                return;
            }

            Order oOrder = new Order(CompanyID);

            oOrder.CustomerID = CustomerID;
            oOrder.oCustomer.Find(oOrder.CustomerID);
            oOrder.oCustomer.Brochures.Load(CompanyID, oOrder.CustomerID);
            oOrder.Teacher = Teacher;


            oOrder.Items.Clear();

            Boolean firtTime = true;

            foreach (DataRow dvRow in dvInv.Rows)
            {
                if (firtTime)
                {
                    oOrder.Student = dvRow["Student"].ToString();
                    firtTime       = false;
                }


                //      if (oOrder.oProduct.Find(dvRow["ProductID"].ToString()))
                {
                    // Console.Out.WriteLine("Price: " + oOrder.oProduct.Price.ToString());

                    Order.Item Item = new Order.Item();
                    Item.ProductID   = dvRow["ProductID"].ToString();
                    Item.Quantity    = Convert.ToInt32(dvRow["Quantity"].ToString());
                    Item.Description = dvRow["Description"].ToString();
                    Item.Price       = oOrder.oProduct.ExtendedPrice(oOrder.oCustomer);
                    Item.PackID      = oOrder.oProduct.PackID(oOrder.oCustomer);

                    /*
                     * row["CustomerID"] = dvRow["CustomerID"];
                     * row["ProductID"] =
                     * row["Description"] = ;
                     * row["Quantity"] = ;
                     * row["Price"] = dvRow["Cost"];
                     * row["Tax"] = dvRow["Tax"];
                     * row["Total"] = dvRow["Total"];
                     */

                    //oOrder.Items.Add(oOrder.oProduct.ID, Item);
                    oOrder.Items.Add(dvRow["ProductID"].ToString(), Item);
                }
            }
            oOrder.GetTotals();
            oOrder.Collected = oOrder.Retail;
            oOrder.Save();
        }
        public Boolean CreateOrder()
        {
            Boolean ProcessOk = true;

            //Saving Order to SQL Server
            oOrder.Clear();

            oOrder.CompanyID  = CompanyID;
            oOrder.CustomerID = CustomerID;

            oOrder.Teacher = this.Teacher;
            oOrder.Type    = OrderType.Scanned;

            //oOrder.Student = (oOrder.Fields["LastName"].Result + ", " + oOrder.Fields["FirstName"].Result).ToUpper();

            if (oOrder.Find(oOrder.Teacher, oOrder.Student))
            {
                return(false);
            }

            //oOrder.Collected = Convert.ToDouble(Digit + "." + nDecimal);
            //oOrder.oCustomer.Find(CustomerID);

            String Code, Quantity;

            for (int i = 1; i <= 30; i++)
            {
                Code     = "ABC";
                Quantity = "1";

                Code     = Code.Trim();
                Quantity = Quantity.Trim();
                //oOrder.oProduct.CompanyID = _CompanyID;


                if (Code != "" && Code.Length >= 3)
                {
                    if (!oOrder.oProduct.Find(Code))
                    {
                        ProcessOk = false;
                        continue;
                    }
                    if (Quantity == "")
                    {
                        Quantity = "1";
                    }

                    Order.Item Item = new Order.Item();
                    Item.ProductID   = oOrder.oProduct.ID;
                    Item.Quantity    = Convert.ToInt32(Quantity.Trim().Replace(" ", ""));
                    Item.Description = oOrder.oProduct.Description;
                    Item.Price       = oOrder.oProduct.ExtendedPrice(oOrder.oCustomer);

                    if (oOrder.Items.Contains(oOrder.oProduct.ID))
                    {
                        oOrder.Items[oOrder.oProduct.ID].Quantity += Item.Quantity;
                    }
                    else
                    {
                        oOrder.Items.Add(oOrder.oProduct.ID, Item);
                    }
                }
            }
            oOrder.GetTotals();

            if (Math.Abs(oOrder.Diff) > 0)
            {
                ProcessOk = false;
            }
            return(ProcessOk);
        }
        public void ImportOrders()
        {
            DataSet dsTables = new DataSet();

            dsTables.Tables.Add(this.oMySql.GetDataTable("Select * from ga_order Where Status='0'", "Order"));
            //   dsTables.Tables.Add(this.oMySql.GetDataTable("Select * from ga_order Where Status='0'","OrderDetail"));


            Customer         oCustomer = new Customer(this.CompanyID);
            GA_OrderInternet oOrder    = new GA_OrderInternet(this.CompanyID);


            String strBody = "";

            if (dsTables.Tables["Order"].Rows.Count > 0)
            {
                oOrder.OpenPrinter(1);
            }


            foreach (DataRow row in dsTables.Tables["Order"].Rows)
            {
                if (!oOrder.Exist((Int32)row["OrderID"], ShoppingType.GA))
                {
                    oOrder.Clear();
                    oOrder.IOrderID = (Int32)row["OrderID"];
                    oOrder.UpdateStatus(GA_InternetOrderStatus.Processing);

                    oOrder.CustomerID = row["CustomerID"].ToString();
                    oOrder.Teacher    = "RE-ORDER";
                    oOrder.Student    = "RE-ORDER " + ((DateTime)row["Date"]).Month.ToString() + "/" + ((DateTime)row["Date"]).Day.ToString();

                    if (oOrder.Exist(oOrder.Teacher, oOrder.Student))
                    {
                        oOrder.Student += "(" + row["OrderID"].ToString() + ")";
                    }


                    oOrder.oCustomer.Find(oOrder.CustomerID);
                    oOrder.oCustomer.Brochures.Load(this.CompanyID, oOrder.CustomerID);


                    oOrder.Type    = OrderType.GA_Internet;
                    oOrder.Process = OrderProcess.Internet;


                    oOrder.Items.Clear();

                    //    Console.Out.WriteLine(oOrder.Student);

                    DataTable dsDetail = oMySql.GetDataTable(String.Format("Select * from ga_order_detail Where OrderID='{0}'", row["OrderID"].ToString()), "Detail");

                    foreach (DataRow detailRow in dsDetail.Rows)
                    {
                        String ProductID = detailRow["ProductID"].ToString();

                        if (oOrder.oProduct.Find(ProductID))
                        {
                            Order.Item Item = new Order.Item();
                            Item.ProductID   = oOrder.oProduct.ID;
                            Item.Quantity    = (Int32)detailRow["Quantity"];
                            Item.Description = oOrder.oProduct.Description;
                            Item.Price       = oOrder.oProduct.ExtendedPrice(oOrder.oCustomer);
                            Item.PackID      = oOrder.oProduct.PackID(oOrder.oCustomer);

                            if (oOrder.Items.Contains(oOrder.oProduct.ID))
                            {
                                oOrder.Items[oOrder.oProduct.ID].Quantity += Item.Quantity;
                            }
                            else
                            {
                                oOrder.Items.Add(oOrder.oProduct.ID, Item);
                            }
                        }
                        else
                        {
                            this.SendErrorEmail("Item Error  " + oOrder.IOrderID.ToString() + " " + oOrder.Teacher + " " + oOrder.Student);
                        }
                    }
                    oOrder.GetTotals();
                    oOrder.Collected = 0.00; // oOrder.Retail;
                    oOrder.Save(OrderType.GA_Internet);

                    //Printing Packing Slips
                    if (oOrder.Find(Convert.ToInt32(oOrder.ID)))
                    {
                        oOrder.UpdateOrderID((Int32)row["OrderID"]);


                        //Create Shortage
                        Shortage oShortage = new Shortage(this.CompanyID);
                        //oShortage.oOrder = oOrder;
                        oShortage.OrderID     = oOrder.ID;
                        oShortage.oCustomer   = oOrder.oCustomer;
                        oShortage.CustomerID  = oOrder.CustomerID;
                        oShortage.SchoolName  = oOrder.oCustomer.Name;
                        oShortage.DayPhone    = oOrder.oCustomer.PhoneNumber;
                        oShortage.TeacherName = oOrder.Teacher;
                        oShortage.StudentName = oOrder.Student;
                        oShortage.Address     = oOrder.oCustomer.Address;
                        oShortage.City        = oOrder.oCustomer.City;
                        oShortage.ZipCode     = oOrder.oCustomer.ZipCode;
                        oShortage.State       = oOrder.oCustomer.State;
                        oShortage.Type        = "I";
                        oShortage.Detail      = oOrder.NoItems.ToString() + " Item(s)" + "\n\r" + "\n\r";
                        oShortage.Detail     += "OrderID      : " + oOrder.ID.ToString() + "\n\r";
                        oShortage.Detail     += "Processed On : " + (row["Date"] == null ? "" : ((DateTime)row["Date"]).ToString()) + "\n\r";
                        oShortage.eMail       = row["eMail"].ToString();
                        oShortage.Save();
                        // oShortage.Print(false);

                        oOrder.ShortageID = Convert.ToInt32(oShortage.ID);
                        oOrder.Print();
                    }
                    else
                    {
                        this.SendErrorEmail(oOrder.IOrderID.ToString() + " " + oOrder.Teacher + " " + oOrder.Student + oOrder.LastError);
                    }

                    strBody += oOrder.ID.ToString() + " " + oOrder.Teacher.PadRight(30) + " " + oOrder.Student.PadRight(30).Substring(0, 30) + " " + oOrder.NoItems.ToString().PadRight(3).Substring(0, 3) + " " + oOrder.oCustomer.City + " " + oOrder.oCustomer.State + "\n\r";
                    Console.Out.WriteLine(DateTime.Now.ToString() + " " + oOrder.ID.ToString() + " " + oOrder.oCustomer.ID + " " + oOrder.oCustomer.Name);
                }


                if (!oOrder.UpdateStatus(GA_InternetOrderStatus.Processed))
                {
                    this.SendErrorEmail(oOrder.IOrderID.ToString() + " " + oOrder.Teacher + " " + oOrder.Student + oOrder.LastError);
                    return;
                }
            }

            if (dsTables.Tables["Order"].Rows.Count > 0)
            {
                oOrder.ClosePrinter();
            }

            /*    //Sending Email
             *      Smtp oSmtp = new Smtp();
             *      oSmtp.Subject = "Emails processed " + DateTime.Now.ToShortDateString() + "   " + DateTime.Now.ToShortTimeString();
             *      if (this.CustomerID == "TEST")
             *          oSmtp.To = "\"Alvaro Medina\" <*****@*****.**>";
             *      else
             *          oSmtp.To = "\"Daisy Caro\" <*****@*****.**>";
             *      oSmtp.From = "\"Signature Server\" <*****@*****.**>";
             *
             *      String  strTitle =  "Order ID             Teacher           Student         Items   City  State Ship/Del Packed\n\r";
             *              strTitle += "------------------------------------------------------------------------------------------\n\r";
             *      oSmtp.Body = strTitle + strBody;
             *      oSmtp.Send();
             * }
             */
            dsTables.Dispose();
        }
        public void ImportOrders(String Database, ShoppingType ShoppingCart, String CompanyID, String CustomerID)
        {
            this.CompanyID  = CompanyID;
            this.CustomerID = CustomerID;


            Customer oCustomer = new Customer(this.CompanyID);

            /*
             * if (!oMySql.ChangeDatabase("69.89.31.153", "signatv9_sa", "sa", "signatv9_SigWeb"))
             * {
             *  MessageBox.Show("We cannot open this database");
             *  return;
             * }
             */
            oMySql.ChangeDatabase(Database);

            //DataTable dtOrders = oRemoteMysql.GetDataTable("SELECT * FROM cart_orders Where Status='"+(int)InternetOrderStatus.Pending+"' And open='n'","Order");
            DataSet dsTables = oMySql.GetDataset("CALL get_tables();");

            //MessageBox.Show(dsTables.Tables["Table6"].Rows.Count.ToString());
            Console.WriteLine(ShoppingCart.ToString() + " " + dsTables.Tables["Table6"].Rows.Count.ToString() + " order(s)");

            //return;
            //192.168.254.65

            /*
             * if (!oMySql.ChangeDatabase(this.Local, "SigData", "SigData009", "SigData"))
             * {
             *  return;
             * }*/

            oMySql.ChangeDatabase("SigData");

            dsTables.Tables["table"].TableName  = "Customer";
            dsTables.Tables["table1"].TableName = "Student";
            dsTables.Tables["table2"].TableName = "CreditCard";
            dsTables.Tables["table3"].TableName = "Shipment";
            dsTables.Tables["table4"].TableName = "Detail";
            dsTables.Tables["table5"].TableName = "Product";
            dsTables.Tables["table6"].TableName = "Order";
            dsTables.Tables["table7"].TableName = "CustomCard";
            //dsTables.Tables.Add(dtOrders);


            DataRelation custOrderRel = dsTables.Relations.Add("OrdersCust",
                                                               dsTables.Tables["Order"].Columns["customer"],
                                                               dsTables.Tables["Customer"].Columns["id"], false);

            DataRelation studentOrderRel = dsTables.Relations.Add("OrdersStudent",
                                                                  dsTables.Tables["Order"].Columns["id"],
                                                                  dsTables.Tables["Student"].Columns["order_id"]);

            DataRelation detailOrderRel = dsTables.Relations.Add("OrdersDetail",
                                                                 dsTables.Tables["Order"].Columns["id"],
                                                                 dsTables.Tables["Detail"].Columns["order_id"]);

            DataRelation creditcardOrderRel = dsTables.Relations.Add("OrdersCreditcard",
                                                                     dsTables.Tables["Order"].Columns["id"],
                                                                     dsTables.Tables["CreditCard"].Columns["order_id"]);

            DataRelation shipOrderRel = dsTables.Relations.Add("OrdersShip",
                                                               dsTables.Tables["Order"].Columns["id"],
                                                               dsTables.Tables["Shipment"].Columns["order_id"]);

            DataRelation productDetailRel = dsTables.Relations.Add("DetailProduct",
                                                                   dsTables.Tables["Detail"].Columns["product_id"],
                                                                   dsTables.Tables["Product"].Columns["ProductID"], false);


            DataRelation productCustomCard = dsTables.Relations.Add("Custom_Card",
                                                                    dsTables.Tables["Detail"].Columns["id"],
                                                                    dsTables.Tables["CustomCard"].Columns["ticket_id"], false);



            //MySQL.conn = null;
            OrderInternet oOrder = new OrderInternet(this.CompanyID);

            //int i = 0;

            String strBody       = "";
            String strBodyPrizes = "";

            if (dsTables.Tables["Order"].Rows.Count > 0)
            {
                oOrder.OpenPrinter(3);
            }



            foreach (DataRow row in dsTables.Tables["Order"].Rows)
            {
                oOrder.CustomerID = CustomerID;
                String StudentName = "";
                String TeacherName = "";
                String Customized  = "";



                if (row.GetChildRows(studentOrderRel).Length > 0)
                {
                    TeacherName = row.GetChildRows(studentOrderRel)[0]["school_name"].ToString().ToUpper().Replace("\"", " ").Replace("'", " ");
                }

                if (TeacherName.Trim().Length == 0)
                {
                    TeacherName = "GENERAL CUSTOMER";
                    StudentName = ((row.GetChildRows(shipOrderRel)[0]["FirstName"].ToString().Length > 0 ? (row.GetChildRows(shipOrderRel)[0]["FirstName"].ToString().Substring(0, 1)) : "?") + "." + row.GetChildRows(shipOrderRel)[0]["LastName"].ToString()).ToUpper().Replace("\"", " ").Replace("'", " ");
                }
                else
                {
                    String Initial = "";
                    if (row.GetChildRows(shipOrderRel)[0]["FirstName"].ToString() != "")
                    {
                        Initial = row.GetChildRows(shipOrderRel)[0]["FirstName"].ToString().Substring(0, 1);
                    }

                    StudentName = (Initial + "." + row.GetChildRows(shipOrderRel)[0]["LastName"].ToString() + "-" +
                                   row.GetChildRows(studentOrderRel)[0]["student_name"].ToString()).ToUpper().Replace("\"", " ").Replace("'", " ");


                    String Result = oCustomer.GetSchool(TeacherName, row.GetChildRows(studentOrderRel)[0]["school_city"].ToString());

                    if (oCustomer.Find(Result))
                    {
                        TeacherName = oCustomer.Name.PadRight(30).Substring(0, 24) + " " + oCustomer.ID.Trim();
                    }
                    else
                    {
                        TeacherName = TeacherName.PadRight(30).Substring(0, 24) + " " + "00000";
                    }

                    //    Console.Out.WriteLine(TeacherName + " " + Global.getState(row.GetChildRows(studentOrderRel)[0]["school_city"].ToString().ToUpper() ));
                }
                Console.Out.WriteLine(DateTime.Now.ToString() + "-" + TeacherName);
                //  continue;


                if (!oOrder.Exist((Int32)row["id"], ShoppingCart))
                {
                    if (oOrder.Exist((ShoppingCart == ShoppingType.WLOT)? ShoppingType.WLOT.ToString():TeacherName, StudentName))
                    {
                        if (StudentName.Length >= 33)
                        {
                            StudentName = StudentName.Substring(0, 33);
                        }
                        StudentName += "-" + row["id"].ToString();
                    }

                    oOrder.Clear();

                    oOrder.CustomerID = CustomerID;
                    oOrder.oCustomer.Find(oOrder.CustomerID);
                    oOrder.oCustomer.Brochures.Load(this.CompanyID, oOrder.CustomerID);


                    oOrder.Type    = OrderType.Internet;
                    oOrder.Process = OrderProcess.Internet;

                    oOrder.IOrderID = (Int32)row["id"];
                    oOrder.Teacher  = (ShoppingCart == ShoppingType.WLOT)? ShoppingType.WLOT.ToString():TeacherName;
                    oOrder.Student  = StudentName.Replace("\"", " ").Replace("'", " ");;



                    oOrder.Items.Clear();

                    //    Console.Out.WriteLine(oOrder.Student);

                    foreach (DataRow detailRow in row.GetChildRows(detailOrderRel))
                    {
                        // Console.Out.WriteLine("Product ID: " + detailRow["product_id"]);
                        // Console.Out.WriteLine("Quantity: " + detailRow["quantity"]);

                        //Console.Out.WriteLine("Description: " + oOrder.oProduct.Description);

                        String ProductID = detailRow["product_id"].ToString();

                        if (IsMagazine(ProductID))
                        {
                            if (detailRow.GetChildRows(productDetailRel).Length == 0)
                            {
                                this.SendErrorEmail(ShoppingCart.ToString() + " Item Error  " + oOrder.IOrderID.ToString() + " " + oOrder.Teacher + " " + oOrder.Student + " Item:" + ProductID);
                                continue;
                            }
                            else
                            {
                                ProductID = GetMagazineCode(ProductID, (Double)detailRow.GetChildRows(productDetailRel)[0]["Price"]);
                            }
                        }



                        if (oOrder.oProduct.Find(ProductID))
                        {
                            // Console.Out.WriteLine("Price: " + oOrder.oProduct.Price.ToString());

                            Order.Item Item = new Order.Item();
                            Item.ProductID   = oOrder.oProduct.ID;
                            Item.Quantity    = (Int32)detailRow["quantity"];
                            Item.Description = oOrder.oProduct.Description;
                            Item.Price       = oOrder.oProduct.ExtendedPrice(oOrder.oCustomer);
                            Item.PackID      = oOrder.oProduct.PackID(oOrder.oCustomer);

                            // Custom Card
                            foreach (DataRow DetailRow in detailRow.GetChildRows(productCustomCard))
                            {
                                Customized = "(Customized)";

                                //   if (Item.ProductID != DetailRow["product_id"].ToString())
                                //       continue;

                                Ticket oTicket = new Ticket(oOrder.CompanyID);
                                oTicket.OrderID   = Convert.ToInt32(oOrder.ID);
                                oTicket.Quantity  = (Int32)detailRow["quantity"]; //1; Modified on 10/06/2001
                                oTicket.ProductID = DetailRow["product_id"].ToString();

                                //Line 1
                                Ticket.Line oLine = new Ticket.Line();
                                oLine.Text = (DetailRow["Line_1"].ToString().Length > 40 ? DetailRow["Line_1"].ToString().Substring(0, 39) : DetailRow["Line_1"].ToString()).ToUpper();
                                oLine.Type = Ticket.ImprintType.Card;
                                oTicket.Lines.Add("Line_1", oLine);

                                oLine      = new Ticket.Line();
                                oLine.Text = (DetailRow["Line_2"].ToString().Length > 40 ? DetailRow["Line_2"].ToString().Substring(0, 39) : DetailRow["Line_2"].ToString()).ToUpper();
                                oLine.Type = Ticket.ImprintType.Card;
                                oTicket.Lines.Add("Line_2", oLine);

                                oLine      = new Ticket.Line();
                                oLine.Text = (DetailRow["Line_3"].ToString().Length > 40 ? DetailRow["Line_3"].ToString().Substring(0, 39) : DetailRow["Line_3"].ToString()).ToUpper();
                                oLine.Type = Ticket.ImprintType.Card;
                                oTicket.Lines.Add("Line_3", oLine);

                                oLine      = new Ticket.Line();
                                oLine.Text = (DetailRow["Line_4"].ToString().Length > 40 ? DetailRow["Line_4"].ToString().Substring(0, 39) : DetailRow["Line_4"].ToString()).ToUpper();
                                oLine.Type = Ticket.ImprintType.Card;
                                oTicket.Lines.Add("Line_4", oLine);

                                oLine      = new Ticket.Line();
                                oLine.Text = (DetailRow["Line_5"].ToString().Length > 40 ? DetailRow["Line_5"].ToString().Substring(0, 39) : DetailRow["Line_5"].ToString()).ToUpper();
                                oLine.Type = Ticket.ImprintType.Card;
                                oTicket.Lines.Add("Line_5", oLine);

                                // Console.Out.WriteLine("Quantity: " + detailRow["quantity"]);
                                //oTicket.Save();
                                Item.Tickets.Add(Item.ProductID, oTicket);
                            }



                            if (oOrder.Items.Contains(oOrder.oProduct.ID))
                            {
                                oOrder.Items[oOrder.oProduct.ID].Quantity += Item.Quantity;
                            }
                            else
                            {
                                oOrder.Items.Add(oOrder.oProduct.ID, Item);
                            }
                        }
                        else
                        {
                            this.SendErrorEmail(ShoppingCart.ToString() + " Item Error  " + oOrder.IOrderID.ToString() + " " + oOrder.Teacher + " " + oOrder.Student + " Item:" + ProductID);
                        }
                    }
                    oOrder.GetTotals();
                    oOrder.Collected = oOrder.Retail;
                    oOrder.Save(OrderType.Internet);

                    /*
                     * //Custom Cards Detail
                     * if (row.GetChildRows(productCustomCard).Length > 0)
                     * {
                     *  if (oOrder.Find(Convert.ToInt32(oOrder.ID)))
                     *  {
                     *      foreach (DataRow detailRow in row.GetChildRows(productCustomCard))
                     *      {
                     *
                     *          Ticket oTicket = new Ticket(oOrder.CompanyID);
                     *          oTicket.OrderID = Convert.ToInt32(oOrder.ID);
                     *          oTicket.Quantity = 1;
                     *          oTicket.ProductID = detailRow["product_id"].ToString();
                     *
                     *          //Line 1
                     *          Ticket.Line oLine = new Ticket.Line();
                     *          oLine.Text = detailRow["Line_1"].ToString().Length > 40? detailRow["Line_1"].ToString().Substring(0,39):detailRow["Line_1"].ToString() ;
                     *          oLine.Type = Ticket.ImprintType.Card;
                     *          oTicket.Lines.Add("Line_1,",oLine);
                     *
                     *          oLine = new Ticket.Line();
                     *          oLine.Text = detailRow["Line_2"].ToString().Length > 40 ? detailRow["Line_2"].ToString().Substring(0, 39) : detailRow["Line_2"].ToString();
                     *          oLine.Type = Ticket.ImprintType.Card;
                     *          oTicket.Lines.Add("Line_2,", oLine);
                     *
                     *          oLine = new Ticket.Line();
                     *          oLine.Text = detailRow["Line_3"].ToString().Length > 40 ? detailRow["Line_3"].ToString().Substring(0, 39) : detailRow["Line_3"].ToString();
                     *          oLine.Type = Ticket.ImprintType.Card;
                     *          oTicket.Lines.Add("Line_3,", oLine);
                     *
                     *          // Console.Out.WriteLine("Quantity: " + detailRow["quantity"]);
                     *          oTicket.Save();
                     *
                     *
                     *      }
                     *  }
                     * }
                     */

                    //Printing Packing Slips
                    if (oOrder.Find(Convert.ToInt32(oOrder.ID)))
                    {
                        oOrder.UpdateOrderID((Int32)row["id"], ShoppingCart);


                        //Create Shortage
                        Shortage oShortage = new Shortage(this.CompanyID);
                        //oShortage.oOrder = oOrder;
                        oShortage.OrderID     = oOrder.ID;
                        oShortage.oCustomer   = oOrder.oCustomer;
                        oShortage.CustomerID  = oOrder.CustomerID;
                        oShortage.SchoolName  = (row.GetChildRows(shipOrderRel)[0]["FirstName"].ToString() + " " + row.GetChildRows(shipOrderRel)[0]["LastName"].ToString()).ToUpper();
                        oShortage.DayPhone    = row.GetChildRows(shipOrderRel)[0]["phone"].ToString().Replace("(", "").Replace(")", "").Replace("-", "").Replace(" ", "");
                        oShortage.TeacherName = oOrder.Teacher;
                        oShortage.StudentName = oOrder.Student;
                        oShortage.Address     = row.GetChildRows(shipOrderRel)[0]["address"].ToString() + " " + row.GetChildRows(shipOrderRel)[0]["address2"].ToString();
                        oShortage.City        = row.GetChildRows(shipOrderRel)[0]["City"].ToString();
                        oShortage.ZipCode     = row.GetChildRows(shipOrderRel)[0]["ZipCode"].ToString();
                        oShortage.State       = row.GetChildRows(shipOrderRel)[0]["State"].ToString();
                        oShortage.Type        = "I";
                        oShortage.Detail      = oOrder.NoItems.ToString() + " Item(s)" + "\n\r" + "\n\r";
                        oShortage.Detail     += "OrderID      : " + oOrder.ID.ToString() + "\n\r";
                        oShortage.Detail     += "Processed On : " + (row["processed_on"] == null? "": ((DateTime)row["processed_on"]).ToString()) + "\n\r";
                        oShortage.eMail       = row.GetChildRows(custOrderRel).Length > 0?row.GetChildRows(custOrderRel)[0]["email"].ToString():"";
                        oShortage.Save();
                        // oShortage.Print(false);

                        oOrder.ShortageID = Convert.ToInt32(oShortage.ID);
                        oOrder.Print();
                    }
                    else
                    {
                        this.SendErrorEmail(oOrder.IOrderID.ToString() + " " + oOrder.Teacher + " " + oOrder.Student + oOrder.LastError);
                    }



                    if (TeacherName != "GENERAL CUSTOMER")
                    {
                        String DeliveryDate = "  /  "; // : oCustomer.DeliveryDate.ToString("dd/MM/yyyy");
                        String Packed       = "   ";

                        if (oCustomer.ID != "")
                        {
                            if (oCustomer.ShipDate != Global.DNull)
                            {
                                DeliveryDate = oCustomer.ShipDate.ToString("MM/dd");
                            }
                            else
                            {
                                DeliveryDate = oCustomer.DeliveryDate.ToString("MM/dd");
                            }
                            Packed = oCustomer.NumberPallets > 0?"YES":"NO ";
                        }

                        //String Packed = oCustomer.ID == ""? "   ":(oCustomer.ShipDate!=null?)
                        if (oOrder.ID == "0")
                        {
                            strBody += "[" + oOrder.IOrderID.ToString().PadLeft(5) + "]" + oOrder.Teacher + " " + oOrder.Student.PadRight(30).Substring(0, 30) + " " + oOrder.NoItems.ToString().PadRight(3).Substring(0, 3) + " " + row.GetChildRows(studentOrderRel)[0]["school_city"].ToString().ToUpper() + "  " + Global.getState(row.GetChildRows(studentOrderRel)[0]["school_state"].ToString().ToUpper()) + " " + DeliveryDate + " " + Packed + Customized + "\n\r";
                        }
                        else
                        {
                            strBody += oOrder.ID.ToString().PadLeft(5) + " " + oOrder.Teacher + " " + oOrder.Student.PadRight(30).Substring(0, 30) + " " + oOrder.NoItems.ToString().PadRight(3).Substring(0, 3) + " " + row.GetChildRows(studentOrderRel)[0]["school_city"].ToString().ToUpper() + "  " + Global.getState(row.GetChildRows(studentOrderRel)[0]["school_state"].ToString().ToUpper()) + " " + DeliveryDate + " " + Packed + Customized + "\n\r";
                        }

                        if (ShoppingCart == ShoppingType.SigFund)
                        {
                            strBodyPrizes += row.GetChildRows(custOrderRel)[0]["FirstName"].ToString().ToUpper() + " " +
                                             row.GetChildRows(custOrderRel)[0]["LastName"].ToString().ToUpper() + " " +
                                             oOrder.Teacher.PadRight(30) + " " +
                                             row.GetChildRows(custOrderRel)[0]["City"].ToString().ToUpper() + " " +
                                             Global.getState(row.GetChildRows(custOrderRel)[0]["State"].ToString().ToUpper()) + " " +
                                             (row.GetChildRows(studentOrderRel)[0]["student_name"].ToString()).ToUpper().Replace("\"", " ").Replace("'", " ") + " " +
                                             oOrder.NoItems.ToString().PadRight(3).Substring(0, 3) +
                                             "\n\r";
                        }
                    }
                    else
                    {
                        strBody += oOrder.ID.ToString() + "[" + oOrder.IOrderID.ToString() + "]" + oOrder.Teacher.PadRight(30) + " " + oOrder.Student.PadRight(30).Substring(0, 30) + " " + oOrder.NoItems.ToString().PadRight(3).Substring(0, 3) + " " + row.GetChildRows(custOrderRel)[0]["City"].ToString().ToUpper() + " " + Global.getState(row.GetChildRows(custOrderRel)[0]["State"].ToString().ToUpper()) + Customized + "\n\r";


                        //oOrder.ID.ToString() + "[" + oOrder.IOrderID.ToString() + "]" + oOrder.Teacher.PadRight(30) + " " + oOrder.Student.PadRight(30).Substring(0, 30) + " " + oOrder.NoItems.ToString().PadRight(3).Substring(0, 3) + " " + row.GetChildRows(custOrderRel)[0]["City"].ToString().ToUpper() + " " + Global.getState(row.GetChildRows(custOrderRel)[0]["State"].ToString().ToUpper()) + Customized + "\n\r";
                    }
                }
                else
                {
                    /*
                     * Console.Out.Write(".");
                     * // strBody += "(R)" + oOrder.ID.ToString() + "  " + oOrder.Teacher + "  " + oOrder.Student + "  " + oOrder.NoItems.ToString() + "  " + row.GetChildRows(studentOrderRel)[0]["school_city"].ToString().ToUpper() + "  " + row.GetChildRows(studentOrderRel)[0]["school_state"].ToString().ToUpper() + "\n\r";
                     * if (TeacherName != "GENERAL CUSTOMER")
                     * {
                     *  strBody += "(R)" + oOrder.ID.ToString() + "  " + oOrder.Teacher + "  " + oOrder.Student + "  " + oOrder.NoItems.ToString() + "  " + row.GetChildRows(studentOrderRel)[0]["school_city"].ToString().ToUpper() + "  " + row.GetChildRows(studentOrderRel)[0]["school_state"].ToString().ToUpper() + "\n\r";
                     * }
                     * else
                     * {
                     *  strBody += "(R)" + oOrder.ID.ToString() + "  " + oOrder.Teacher + "  " + oOrder.Student + "  " + oOrder.NoItems.ToString() + "  " + row.GetChildRows(custOrderRel)[0]["City"].ToString().ToUpper() + "  " + row.GetChildRows(custOrderRel)[0]["State"].ToString().ToUpper() + "\n\r";
                     * }
                     */

                    //Print Orders When requested

                    oOrder.Print();
                }
                if (!oOrder.UpdateStatus(InternetOrderStatus.Processed, Database))
                {
                    this.SendErrorEmail(oOrder.IOrderID.ToString() + " " + oOrder.Teacher + " " + oOrder.Student + oOrder.LastError);
                    return;
                }
            }
            if (dsTables.Tables["Order"].Rows.Count > 0)
            {
                oOrder.ClosePrinter();
                //Sending Email
                Smtp oSmtp = new Smtp();

                oSmtp.Subject = "Emails processed " + DateTime.Now.ToShortDateString() + "   " + DateTime.Now.ToShortTimeString() + "  " + ShoppingCart.ToString();
                if (this.CustomerID == "TEST")
                {
                    oSmtp.To = "\"Alvaro Medina\" <*****@*****.**>";
                }
                else
                {
                    oSmtp.To = "\"Scott Elsbree\" <*****@*****.**>";
                    oSmtp.To = "\"Desiree\" <*****@*****.**>";
                    oSmtp.CC = "\"Alvaro Medina\" <*****@*****.**>";
                    if (ShoppingCart == ShoppingType.SigFund)
                    {
                        oSmtp.BCC = "\"signaturefundraising.com \" <*****@*****.**>";
                    }
                    if (ShoppingCart == ShoppingType.ChristianCollection)
                    {
                        oSmtp.BCC = "\"abundantfunds.com \" <*****@*****.**>";
                    }
                }
                oSmtp.From = "\"Signature Server\" <*****@*****.**>";

                String strTitle = "Order ID[Internet]   Teacher           Student         Items   City  State Ship/Del Packed\n\r";
                strTitle += "------------------------------------------------------------------------------------------\n\r";
                String strTotal = "------------------------------------------------------------------------------------------\n\r";
                strTotal  += "Total: " + dsTables.Tables["Order"].Rows.Count.ToString() + " Order(s)";
                oSmtp.Body = strTitle + strBody + strTotal;
                oSmtp.Send();

                //Second Prize Report
                if (strBodyPrizes != "" && ShoppingCart == ShoppingType.SigFund)
                {
                    oSmtp.Subject = "Emails processed (Items Update)" + DateTime.Now.ToShortDateString() + "   " + DateTime.Now.ToShortTimeString() + "  " + ShoppingCart.ToString();
                    oSmtp.To      = "\"Item Update \" <*****@*****.**>";
                    oSmtp.From    = "\"Signature Server\" <*****@*****.**>";
                    oSmtp.BCC     = "\"Alvaro Medina\" <*****@*****.**>";

                    strTitle   = "Online Customer   School Name   City  State StudentName Items\n\r";
                    strTitle  += "------------------------------------------------------------------------------------------\n\r";
                    strTotal   = "------------------------------------------------------------------------------------------\n\r";
                    strTotal  += "Total: " + dsTables.Tables["Order"].Rows.Count.ToString() + " Order(s)";
                    oSmtp.Body = strTitle + strBodyPrizes + strTotal;
                    oSmtp.Send();
                }
            }
            dsTables.Dispose();
        }