private void HandleAddSpecialOrder(object sender, DayInfoWPF.DayInfoEventArg e)
        {
            SpecialOrderWPF SO_WPF = e.SpecialOrder_WPF;

            // show SO window
            SpecialOrderWindow So_Win = new SpecialOrderWindow(SO_WPF, lck_Comm);

            So_Win.ShowDialog();
            if (So_Win.Cancel == false)
            {
                // add to Special Order table
                lck_Comm.AddSpecialOrder(SO_WPF);

                // add entry to NewOrders table
                int lastSO_id = lck_Comm.GetLastSpecialOrderID();
                if (lastSO_id != 0) // check for bad return
                {
                    NewOrderWPF no_wpf = new NewOrderWPF();
                    SO_WPF.Id          = lastSO_id;
                    no_wpf.SO          = SO_WPF;
                    no_wpf.StoreOrigin = Globals.SelectedStore;
                    no_wpf.Created     = DateTime.Now;
                    no_wpf.Fulfilled   = false;
                    lck_Comm.AddNewOrder(no_wpf);
                }
                else
                {
                    Log("Error Adding new entry to NewOrder. Check NewOrders table for 'so_id'=0");
                }
            }

            RefreshSelectedDay();
        }
 private void RemoveNewOrder(NewOrderWPF NO_WPF)
 {
     if (System.Windows.Forms.MessageBox.Show("Remove entry with ID=" + NO_WPF.ID_UI + " from Queue?", "Error", System.Windows.Forms.MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes)
     {
         bool rtn = local_lckComm.DeteleNewOrder(NO_WPF);
         RefreshNewOrders();
     }
 }
        private void HandleUpdateSpecialOrder(object sender, DayInfoWPF.DayInfoEventArg e)
        {
            SpecialOrderWPF SO_WPF = e.SpecialOrder_WPF;

            SpecialOrderWindow SO_Win = new SpecialOrderWindow(SO_WPF, lck_Comm);

            SO_Win.ShowDialog();

            if (SO_Win.Cancel == false)
            {
                MessageBoxResult res = MessageBox.Show("Update selected Special Order?", "Update Special Order?", MessageBoxButton.YesNo);
                if (res != MessageBoxResult.Yes)
                {
                    return;
                }

                // update SO
                lck_Comm.UpdateSpecialOrder(SO_WPF.Id, SO_WPF);

                SO_WPF.SpecialInstructions = "--Editted--" + SO_WPF.SpecialInstructions;
                lck_Comm.UpdateSpecialOrder(SO_WPF.Id, SO_WPF);

                // add editted SO to NewOrder table
                NewOrderWPF no_wpf = new NewOrderWPF();
                no_wpf.Id = SO_WPF.Id;
                //SO_WPF.Id = lastSO_id;
                no_wpf.SO          = SO_WPF;
                no_wpf.StoreOrigin = Globals.SelectedStore;
                no_wpf.Created     = DateTime.Now;
                no_wpf.Fulfilled   = false;
                no_wpf.Editted     = true;
                lck_Comm.AddNewOrder(no_wpf);
            }

            RefreshSelectedDay();
        }
        private void PrintSO_Event(object sender, EventArgs e)
        {
            NewOrderWPF no_WPF = (NewOrderWPF)sender;

            try
            {
                // get image to be printed
                string serverFilename = no_WPF.SO.ScanLink;
                // look in local scan temp folder first, then download from server if not found
                List <string> files = System.IO.Directory.GetFiles(ConfigSettings_Static.ScanTempFolder).ToList();
                string        found = files.Find(x => System.IO.Path.GetFileName(x) == serverFilename);
                if (found == null)
                {
                    // download from server
                    if (local_lckComm.DownloadFile(serverFilename, ConfigSettings_Static.ScanTempFolder))
                    {
                        printFilepath = ConfigSettings_Static.ScanTempFolder + @"\" + serverFilename;
                    }
                }
                else
                {
                    printFilepath = found;
                }

                if (!System.IO.File.Exists(printFilepath))
                {
                    string msg = "Unable to find Scanned Order";
                    System.Windows.Forms.MessageBox.Show(msg, "Error");
                    Log("PrintSO_Event(object,EventArgs) Error msg=" + msg, Logger.LogTypes.Error);
                    return;
                }
            }
            catch (Exception ex)
            {
                Log("PrintSO_Event(object,EventArgs):retrieve image section - Error msg=" + ex.Message, Logger.LogTypes.Error);
                return;
            }

            try
            {
                SendToPrinter(printFilepath);

                // Worked then began giving Out of Memory Error
                #region Old Print method - retired v1.5
                //PrintDocument pd = new PrintDocument();
                //pd.DefaultPageSettings.PrinterSettings.PrinterName = "Printer Name";
                //pd.DefaultPageSettings.Landscape = true; //or false!
                //pd.PrintPage += PrintPage;

                //System.Windows.Forms.PrintDialog dlg = new System.Windows.Forms.PrintDialog();
                //dlg.Document = pd;
                //if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                //{
                //    //pd.Print();
                //    SendToPrinter(printFilepath);
                //    RemoveNewOrder(no_WPF);
                //}
                #endregion
            }
            catch (Exception ex)
            {
                Log("PrintSO_Event(object,EventArgs):print section - Error msg=" + ex.Message, Logger.LogTypes.Error);
                return;
            }
        }
        private void RemoveNewOrder(object sender, EventArgs e)
        {
            NewOrderWPF no_WPF = (NewOrderWPF)sender;

            RemoveNewOrder(no_WPF);
        }