Пример #1
0
        public void remoteQueue(String pc, String queue, bool adding)
        {
            string qCmd;

            if (adding)
            {
                qCmd = @"rundll32 printui.dll,PrintUIEntry /in /ga /c\\" + pc + @" /n\\GHSMSPS01\" + queue;
            }
            else
            {
                qCmd = @"rundll32 printui.dll,PrintUIEntry /in /gd /c\\" + pc + @" /n" + queue;
            }

            Console.WriteLine(qCmd);
            System.Diagnostics.Process cmd = new System.Diagnostics.Process();
            cmd.StartInfo.FileName = "cmd.exe";
            cmd.StartInfo.RedirectStandardInput  = true;
            cmd.StartInfo.RedirectStandardOutput = true;
            cmd.StartInfo.CreateNoWindow         = false;
            cmd.StartInfo.UseShellExecute        = false;
            cmd.Start();

            cmd.StandardInput.WriteLine(qCmd);
            cmd.StandardInput.Flush();
            cmd.StandardInput.Close();
            cmd.WaitForExit();
            Console.WriteLine(cmd.StandardOutput.ReadToEnd());

            System.Printing.PrintQueue pq = new System.Printing.PrintQueue(myPrintServer, queue);
        }
        private void ButtonOk_Click(object sender, RoutedEventArgs e)
        {
            this.TextBoxRealReportNumber.Text  = this.TextBoxRealReportNumber.Text.ToUpper();
            this.TextBoxDummyReportNumber.Text = this.TextBoxDummyReportNumber.Text.ToUpper();

            if (this.TextBoxRealReportNumber.Text.Length < 4)
            {
                MessageBox.Show("The real report number does not appear to be a valid number.\n\nPlease check it and try again.", "Invalid report number", MessageBoxButton.OK);
                return;
            }
            string lastName = this.GetPatientLastName();

            if (lastName.Length == 0)
            {
                MessageBox.Show("The report number does not appear to be a valid number.\n\nPlease check it and try again.", "Case not found", MessageBoxButton.OK);
                return;
            }

            YellowstonePathology.UI.Login.CytologySlideLabelDocument cyologySlideLabelDocument = new CytologySlideLabelDocument(this.TextBoxDummyReportNumber.Text, lastName, false);
            System.Windows.Controls.PrintDialog printDialog = new System.Windows.Controls.PrintDialog();

            System.Printing.PrintQueue printQueue = YellowstonePathology.UI.PrintQueueFactory.GetSlideLabelPrintQueue(YellowstonePathology.UI.Properties.Settings.Default.CytologySlideLabelPrinterName);
            printDialog.PrintQueue = printQueue;
            printDialog.PrintDocument(cyologySlideLabelDocument.DocumentPaginator, "Slide Labels");

            Close();
        }
Пример #3
0
        public Task PrintCanvasAsync(Canvas canvas, CancellationToken token = default(CancellationToken))
        {
            System.Windows.Controls.PrintDialog     printDialog      = new System.Windows.Controls.PrintDialog();
            System.Drawing.Printing.PrinterSettings printer          = new System.Drawing.Printing.PrinterSettings();
            System.Printing.LocalPrintServer        localPrintServer = new System.Printing.LocalPrintServer();

            System.Printing.PrintTicket pt = new System.Printing.PrintTicket();
            System.Printing.PrintQueue  pq = new System.Printing.PrintQueue(localPrintServer, printer.PrinterName, System.Printing.PrintSystemDesiredAccess.UsePrinter);

            System.Printing.PageMediaSize PMS      = new System.Printing.PageMediaSize(canvas.ActualWidth + 20, canvas.ActualHeight + 20);
            System.Windows.Size           pageSize = new System.Windows.Size(canvas.ActualWidth + 20, canvas.ActualHeight + 20);
            canvas.Arrange(new Rect(0, 0, pageSize.Width, pageSize.Height));
            canvas.Measure(pageSize);

            pt.PageMediaSize = PMS;
            pt.PageMediaType = System.Printing.PageMediaType.Unknown;

            pq.DefaultPrintTicket.PageMediaSize = PMS;
            pq.DefaultPrintTicket.PageMediaType = System.Printing.PageMediaType.Unknown;

            printDialog.PrintQueue  = pq;
            printDialog.PrintTicket = pt;
            //printDialog.PrintQueue.Commit();

            if (printDialog.ShowDialog() == true)
            {
                printDialog.PrintVisual(canvas, "Состояние холста");
            }
            return(Task.FromResult(0)); //Task.CompletedTask;
        }
Пример #4
0
 public DeskConfirm2Window(dynamic d, System.Printing.PrintQueue pq)
 {
     InitializeComponent();
     GridPrint2.DataContext = d;
     _pq = pq;
     //txtCount = d.Count;
     //txtDeskNo2 = d.DeskNo;
 }
Пример #5
0
 public void Print(int copyCount, System.Printing.PrintQueue printQueue)
 {
     this.m_CopyCount     = copyCount;
     this.m_CopiesPrinted = 0;
     this.m_PrintDocument.PrinterSettings.PrinterName = printQueue.FullName;
     this.m_PrintDocument.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(PrintDocument_PrintPage);
     this.m_PrintDocument.Print();
 }
Пример #6
0
 public void Print()
 {
     this.m_PrintDocument = new System.Drawing.Printing.PrintDocument();
     System.Printing.PrintServer printServer = new System.Printing.LocalPrintServer();
     System.Printing.PrintQueue  printQueue  = printServer.GetPrintQueue(YellowstonePathology.Business.User.UserPreferenceInstance.Instance.UserPreference.HistologySlideLabelPrinter);
     this.m_PrintDocument.PrinterSettings.PrinterName = printQueue.FullName;
     this.m_PrintDocument.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(PrintDocument_PrintPage);
     this.m_PrintDocument.Print();
 }
Пример #7
0
        private static Rect GetImageableRect(PrintDialog dialog)
        {
            Rect imageableRect = Rect.Empty;

            Invariant.Assert(dialog != null, "Dialog should not be null.");

            System.Printing.PrintQueue        queue         = null;
            System.Printing.PrintCapabilities capabilities  = null;
            System.Printing.PageImageableArea imageableArea = null;

            // This gets the PringDocumentImageableArea.OriginWidth/OriginHeight
            // of the PrintQueue the user chose in the dialog.
            CodeAccessPermission printp = SystemDrawingHelper.NewDefaultPrintingPermission();

            printp.Assert();//Blessed Assert to get PrintQueue and call GetPrintCapabilities
            try
            {
                queue = dialog.PrintQueue;
                if (queue != null)
                {
                    capabilities = queue.GetPrintCapabilities();
                }
            }
            finally
            {
                CodeAccessPermission.RevertAssert();
            }

            if (capabilities != null)
            {
                imageableArea = capabilities.PageImageableArea;
                if (imageableArea != null)
                {
                    imageableRect = new Rect(imageableArea.OriginWidth,
                                             imageableArea.OriginHeight,
                                             imageableArea.ExtentWidth,
                                             imageableArea.ExtentHeight);
                }
            }

            // If for any reason we couldn't get the actual printer's values
            // we fallback to a constant and the values available from the
            // PrintDialog.
            if (imageableRect == Rect.Empty)
            {
                imageableRect = new Rect(NON_PRINTABLE_MARGIN,
                                         NON_PRINTABLE_MARGIN,
                                         dialog.PrintableAreaWidth,
                                         dialog.PrintableAreaHeight);
            }

            return(imageableRect);
        }
Пример #8
0
        private void PrintPaperLabel(YellowstonePathology.Business.Slide.Model.SlideOrder slideOrder)
        {
            System.Windows.Controls.PrintDialog printDialog = new System.Windows.Controls.PrintDialog();
            System.Printing.PrintServer         printServer = new System.Printing.LocalPrintServer();

            System.Printing.PrintQueue printQueue = printServer.GetPrintQueue(YellowstonePathology.Business.User.UserPreferenceInstance.Instance.UserPreference.HistologySlideLabelPrinter);
            printDialog.PrintQueue = printQueue;

            YellowstonePathology.Business.Label.Model.HistologySlidePaperLabel histologySlidePaperLabel = new Business.Label.Model.HistologySlidePaperLabel(slideOrder.SlideOrderId,
                                                                                                                                                            slideOrder.ReportNo, slideOrder.Label, slideOrder.PatientLastName, slideOrder.TestAbbreviation, slideOrder.AccessioningFacility);
            YellowstonePathology.Business.Label.Model.HistologySlidePaperLabelPrinter histologySlidePaperLabelPrinter = new Business.Label.Model.HistologySlidePaperLabelPrinter();
            histologySlidePaperLabelPrinter.Queue.Enqueue(histologySlidePaperLabel);
            histologySlidePaperLabelPrinter.Print();
        }
Пример #9
0
        private void HyperLinkPrintLabel_Click(object sender, RoutedEventArgs e)
        {
            YellowstonePathology.Business.Test.PanelSetOrder panelSetOrder = this.m_AccessionOrder.PanelSetOrderCollection.GetPAP();
            YellowstonePathology.Business.OrderIdParser      orderIdParser = new Business.OrderIdParser(panelSetOrder.ReportNo);
            string dummyReportNo = (orderIdParser.ReportNoYear + 50).ToString() + "-" + orderIdParser.MasterAccessionNoNumber + "." + orderIdParser.ReportNoLetter;

            YellowstonePathology.UI.Login.CytologySlideLabelDocument cytologySlideLabelDocument = new Login.CytologySlideLabelDocument(dummyReportNo, this.m_AccessionOrder.PLastName, false);
            System.Windows.Controls.PrintDialog printDialog = new System.Windows.Controls.PrintDialog();

            System.Printing.PrintServer printServer = new System.Printing.LocalPrintServer();
            System.Printing.PrintQueue  printQueue  = printServer.GetPrintQueue(YellowstonePathology.Business.User.UserPreferenceInstance.Instance.UserPreference.CytologySlideLabelPrinter);

            printDialog.PrintQueue = printQueue;
            printDialog.PrintDocument(cytologySlideLabelDocument.DocumentPaginator, "Slide Labels");
        }
Пример #10
0
 public LabelPrinter(string printQueueName)
 {
     this.m_X     = 0;
     this.m_Y     = 0;
     this.m_Queue = new Queue <Label>();
     System.Printing.PrintServer          localPrintServer     = new System.Printing.PrintServer();
     System.Printing.PrintQueueCollection printQueueCollection = localPrintServer.GetPrintQueues(new[] { System.Printing.EnumeratedPrintQueueTypes.Local, System.Printing.EnumeratedPrintQueueTypes.Connections });
     foreach (System.Printing.PrintQueue printQueue in printQueueCollection)
     {
         if (printQueue.Name == printQueueName)
         {
             this.m_PrintQueue         = printQueue;
             this.m_HostingPrintServer = printQueue.HostingPrintServer;
         }
     }
 }
Пример #11
0
 public LabelPrinter(string printQueueName)
 {
     this.m_X = 0;
     this.m_Y = 0;
     this.m_Queue = new Queue<Label>();
     System.Printing.PrintServer localPrintServer = new System.Printing.PrintServer();
     System.Printing.PrintQueueCollection printQueueCollection = localPrintServer.GetPrintQueues(new[] { System.Printing.EnumeratedPrintQueueTypes.Local, System.Printing.EnumeratedPrintQueueTypes.Connections });
     foreach (System.Printing.PrintQueue printQueue in printQueueCollection)
     {
         if (printQueue.Name == printQueueName)
         {
             this.m_PrintQueue = printQueue;
             this.m_HostingPrintServer = printQueue.HostingPrintServer;
         }
     }
 }
        private void ButtonPrint_Click(object sender, RoutedEventArgs e)
        {
            if (this.m_Copies > 0)
            {
                if (this.ComboBoxForm.SelectedItem != null)
                {
                    if (this.ComboBoxPrinter.SelectedItem != null)
                    {
                        System.Printing.PrintServer printServer = new System.Printing.LocalPrintServer();
                        System.Printing.PrintQueue  printQueue  = printServer.GetPrintQueue(YellowstonePathology.Business.User.UserPreferenceInstance.Instance.UserPreference.RequisitionPrinter);

                        ComboBoxItem comboBoxItem = (ComboBoxItem)this.ComboBoxForm.SelectedItem;
                        switch (comboBoxItem.Content.ToString())
                        {
                        case "Standard":
                            StandardRequisition standardRequisition = new StandardRequisition(this.m_ClientId);
                            standardRequisition.Print(this.m_Copies, printQueue);
                            break;

                        case "Cytology":
                            CytologyRequisition cytologyRequisition = new CytologyRequisition(this.m_ClientId);
                            cytologyRequisition.Print(this.m_Copies, printQueue);
                            break;

                        case "Oncology":
                            OncologyRequisition oncologyRequisition = new OncologyRequisition(this.m_ClientId);
                            oncologyRequisition.Print(this.m_Copies, printQueue);
                            break;

                        case "IHC/Molecular":
                            IHCMolecularRequisition ihcMolecularRequisition = new IHCMolecularRequisition(this.m_ClientId);
                            ihcMolecularRequisition.Print(this.m_Copies, printQueue);
                            break;
                        }
                        Close();
                    }
                    else
                    {
                        MessageBox.Show("You must select a printer.");
                    }
                }
                else
                {
                    MessageBox.Show("You must select a form type.");
                }
            }
        }
Пример #13
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            //9、点击出菜,打印机打印一条小票,显示桌号、备注信息、名称、份数、开台服务员名字。
            if (GridMenuComplete.SelectedItem != null)
            {
                MenuInfo mi = GridMenuComplete.SelectedItem as MenuInfo;
                if (mi.SelectedDesk != null)
                {
                    DXInfo.Restaurant.DeskManageFacade dmf = new DXInfo.Restaurant.DeskManageFacade();
                    dmf.CancelOutMenu(uow, mi.OrderMenuId, App.MyIdentity.oper.UserId, mi.SelectedDesk.DeskId);

                    List <SelInv> confirmmenu = new List <SelInv>();
                    SelInv        si          = new SelInv();
                    var           inv         = (from d in uow.Inventory.GetAll() where d.Id == mi.InventoryId select d).FirstOrDefault();
                    si.Category = inv.Category;
                    si.Amount   = mi.Price;
                    si.Quantity = 1;
                    si.Name     = mi.InvName;
                    si.Comment  = mi.Comment;
                    confirmmenu.Add(si);

                    var ctx = new
                    {
                        DeskNo     = mi.SelectedDesk.DeskCode + "(取消出菜)",
                        Sum        = mi.Price,
                        Count      = 1,
                        lSelInv    = confirmmenu,
                        CreateDate = DateTime.Now,
                        DeptName   = App.MyIdentity.dept.DeptName,
                    };
                    System.Printing.LocalPrintServer lp = new System.Printing.LocalPrintServer();
                    System.Printing.PrintQueue       pq = new System.Printing.PrintQueue(lp, inv.Printer);
                    DeskConfirmWindow dcw = new DeskConfirmWindow(ctx, pq);
                    if (dcw.ShowDialog().GetValueOrDefault())
                    {
                    }

                    MessageBox.Show(mi.SelectedDesk.DeskCode + "(" + mi.InvName + ")" + "取消出菜成功");
                    UpdateOrderMenuData();
                }
                else
                {
                    MessageBox.Show("请选中桌台号");
                }
            }
        }
Пример #14
0
        public static System.Printing.PrintQueue GetSlideLabelPrintQueue(string slideLabelPrinter)
        {
            System.Printing.PrintQueue  printQueue  = null;
            System.Printing.PrintServer printServer = null;

            switch (slideLabelPrinter)
            {
            case "Histology Slide Label Printer":
                printServer = new System.Printing.LocalPrintServer();
                printQueue  = printServer.GetPrintQueue("Histology Slide Label Printer");
                break;

            case "Cytology Slide Label Printer":
                printServer = new System.Printing.PrintServer(@"\\YPIIHISTO03");
                printQueue  = printServer.GetPrintQueue("CytologySlideLabelPrinter");
                break;
            }

            return(printQueue);
        }
Пример #15
0
        public void addQueue(String queue)
        {
            string qCmd = "rundll32 printui.dll,PrintUIEntry /ga /n\\\\GHSMSPS01\\" + queue;

            //Console.WriteLine(cmd);
            //System.Diagnostics.Process.Start("CMD.exe, cmd");
            System.Diagnostics.Process cmd = new System.Diagnostics.Process();
            cmd.StartInfo.FileName = "cmd.exe";
            cmd.StartInfo.RedirectStandardInput  = true;
            cmd.StartInfo.RedirectStandardOutput = true;
            cmd.StartInfo.CreateNoWindow         = false;
            cmd.StartInfo.UseShellExecute        = false;
            cmd.Start();

            cmd.StandardInput.WriteLine(qCmd);
            cmd.StandardInput.Flush();
            cmd.StandardInput.Close();
            cmd.WaitForExit();
            Console.WriteLine(cmd.StandardOutput.ReadToEnd());

            System.Printing.PrintQueue pq = new System.Printing.PrintQueue(myPrintServer, queue);
        }
        private void HyperLinkPrintAllPaperSlides_Click(object sender, RoutedEventArgs e)
        {
            foreach (Business.Specimen.Model.SpecimenOrder specimenOrder in this.m_AccessionOrder.SpecimenOrderCollection)
            {
                foreach (Business.Test.AliquotOrder aliquotOrder in specimenOrder.AliquotOrderCollection)
                {
                    foreach (Business.Slide.Model.SlideOrder slideOrder in aliquotOrder.SlideOrderCollection)
                    {
                        System.Windows.Controls.PrintDialog printDialog = new System.Windows.Controls.PrintDialog();
                        System.Printing.PrintServer         printServer = new System.Printing.LocalPrintServer();

                        System.Printing.PrintQueue printQueue = printServer.GetPrintQueue(YellowstonePathology.Business.User.UserPreferenceInstance.Instance.UserPreference.HistologySlideLabelPrinter);
                        printDialog.PrintQueue = printQueue;

                        YellowstonePathology.Business.Label.Model.HistologySlidePaperLabel histologySlidePaperLabel = new Business.Label.Model.HistologySlidePaperLabel(slideOrder.SlideOrderId,
                                                                                                                                                                        slideOrder.ReportNo, slideOrder.Label, slideOrder.PatientLastName, slideOrder.TestAbbreviation, slideOrder.AccessioningFacility);
                        YellowstonePathology.Business.Label.Model.HistologySlidePaperLabelPrinter histologySlidePaperLabelPrinter = new Business.Label.Model.HistologySlidePaperLabelPrinter();
                        histologySlidePaperLabelPrinter.Queue.Enqueue(histologySlidePaperLabel);
                        histologySlidePaperLabelPrinter.Print();
                    }
                }
            }
        }
Пример #17
0
 public void Print(System.Printing.PrintQueue printQueue)
 {
     this.m_PrintDocument.PrinterSettings.PrinterName = printQueue.FullName;
     this.m_PrintDocument.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(PrintDocument_PrintPage);
     this.m_PrintDocument.Print();
 }
Пример #18
0
        private void btnConfirm_Click(object sender, RoutedEventArgs e)
        {
            #region 菜品入库
            Hashtable htAdd = new Hashtable();
            Hashtable htSub = new Hashtable();
            if (GridSelected.ItemsSource == null)
            {
                ocSelDesks = new ObservableCollection <DXInfo.Models.OrderMenuEx>();
            }
            else
            {
                ocSelDesks = GridSelected.ItemsSource as ObservableCollection <DXInfo.Models.OrderMenuEx>;
            }
            if (desk != null && order != null && ocSelDesks.Count > 0)
            {
                using (TransactionScope transaction = new TransactionScope())
                {
                    int addmenu = 0;
                    foreach (DXInfo.Models.OrderMenuEx selDesk in ocSelDesks)
                    {
                        if (selDesk.Id != Guid.Empty)
                        {
                            DXInfo.Models.OrderMenus orderMenu = uow.OrderMenus.GetById(selDesk.Id);//.Where(w => w.Id == selDesk.Id).FirstOrDefault();
                            if (orderMenu != null)
                            {
                                if (orderMenu.Status == 2 && orderMenu.Quantity != selDesk.Quantity)
                                {
                                    DXInfo.Models.Inventory inv = uow.Inventory.GetById(orderMenu.InventoryId);//.Where(w => w.Id == orderMenu.InventoryId).FirstOrDefault();
                                    if (!string.IsNullOrEmpty(inv.Printer))
                                    {
                                        if (orderMenu.Quantity > selDesk.Quantity)
                                        {
                                            if (htSub.Contains(inv.Printer))
                                            {
                                                List <InventoryEx> confirmmenu = htSub[inv.Printer] as List <InventoryEx>;
                                                InventoryEx        si          = new InventoryEx();
                                                si.Category = inv.Category;
                                                //si.Quantity = orderMenu.Quantity - selDesk.Quantity;
                                                si.SalePrice = inv.SalePrice;
                                                //si.Amount = inv.SalePrice * (orderMenu.Quantity - selDesk.Quantity);
                                                si.Quantity = orderMenu.Quantity - selDesk.Quantity;
                                                si.Name     = inv.Name;
                                                si.Comment  = orderMenu.Comment;
                                                confirmmenu.Add(si);
                                                htSub[inv.Printer] = confirmmenu;
                                            }
                                            else
                                            {
                                                List <InventoryEx> confirmmenu = new List <InventoryEx>();
                                                InventoryEx        si          = new InventoryEx();
                                                si.Category = inv.Category;
                                                //si.Amount = inv.SalePrice * (orderMenu.Quantity - selDesk.Quantity);
                                                //si.Quantity = orderMenu.Quantity - selDesk.Quantity;
                                                si.SalePrice = inv.SalePrice;
                                                si.Quantity  = orderMenu.Quantity - selDesk.Quantity;
                                                si.Name      = inv.Name;
                                                si.Comment   = orderMenu.Comment;
                                                confirmmenu.Add(si);
                                                htSub.Add(inv.Printer, confirmmenu);
                                            }
                                        }
                                        else
                                        {
                                            if (htAdd.Contains(inv.Printer))
                                            {
                                                List <InventoryEx> confirmmenu = htAdd[inv.Printer] as List <InventoryEx>;
                                                InventoryEx        si          = new InventoryEx();
                                                si.Category = inv.Category;
                                                //si.Amount = inv.SalePrice*(selDesk.Quantity-orderMenu.Quantity);
                                                //si.Quantity = orderMenu.Quantity - selDesk.Quantity;
                                                si.SalePrice = inv.SalePrice;
                                                si.Quantity  = selDesk.Quantity - orderMenu.Quantity;
                                                si.Name      = inv.Name;
                                                si.Comment   = orderMenu.Comment;
                                                confirmmenu.Add(si);
                                                htAdd[inv.Printer] = confirmmenu;
                                            }
                                            else
                                            {
                                                List <InventoryEx> confirmmenu = new List <InventoryEx>();
                                                InventoryEx        si          = new InventoryEx();
                                                si.Category = inv.Category;
                                                //si.Amount = inv.SalePrice * (selDesk.Quantity - orderMenu.Quantity);
                                                si.SalePrice = inv.SalePrice;
                                                si.Quantity  = selDesk.Quantity - orderMenu.Quantity;
                                                si.Name      = inv.Name;
                                                si.Comment   = orderMenu.Comment;
                                                confirmmenu.Add(si);
                                                htAdd.Add(inv.Printer, confirmmenu);
                                            }
                                        }
                                    }
                                }
                                orderMenu.Quantity = selDesk.Quantity;
                                orderMenu.Amount   = selDesk.Quantity * orderMenu.Price;
                                orderMenu.Comment  = selDesk.Comment;

                                DXInfo.Models.OrderMenusHis menuHis = new DXInfo.Models.OrderMenusHis();
                                menuHis.LinkId      = orderMenu.Id;
                                menuHis.OrderId     = orderMenu.OrderId;
                                menuHis.InventoryId = orderMenu.InventoryId;
                                menuHis.Price       = orderMenu.Price;
                                menuHis.Quantity    = orderMenu.Quantity;
                                menuHis.Amount      = orderMenu.Amount;
                                menuHis.UserId      = App.MyIdentity.oper.UserId;
                                menuHis.CreateDate  = DateTime.Now;
                                menuHis.Status      = orderMenu.Status;
                                menuHis.Comment     = orderMenu.Comment;
                                uow.OrderMenusHis.Add(menuHis);
                            }
                        }
                        else
                        {
                            DXInfo.Models.OrderMenus orderMenu = new DXInfo.Models.OrderMenus();
                            orderMenu.OrderId     = order.Id;
                            orderMenu.InventoryId = selDesk.InventoryId;
                            orderMenu.Price       = selDesk.Price;
                            orderMenu.Quantity    = selDesk.Quantity;
                            orderMenu.Amount      = selDesk.Amount;
                            orderMenu.Comment     = selDesk.Comment;
                            orderMenu.CreateDate  = DateTime.Now;
                            orderMenu.UserId      = App.MyIdentity.user.UserId;
                            uow.OrderMenus.Add(orderMenu);

                            uow.Commit();

                            DXInfo.Models.OrderMenusHis menuHis = new DXInfo.Models.OrderMenusHis();
                            menuHis.LinkId      = orderMenu.Id;
                            menuHis.OrderId     = orderMenu.OrderId;
                            menuHis.InventoryId = orderMenu.InventoryId;
                            menuHis.Price       = orderMenu.Price;
                            menuHis.Quantity    = orderMenu.Quantity;
                            menuHis.Amount      = orderMenu.Amount;
                            menuHis.UserId      = App.MyIdentity.oper.UserId;
                            menuHis.CreateDate  = DateTime.Now;
                            menuHis.Status      = orderMenu.Status;
                            menuHis.Comment     = orderMenu.Comment;
                            uow.OrderMenusHis.Add(menuHis);
                            addmenu++;
                        }
                    }
                    if (addmenu > 0)
                    {
                        DXInfo.Models.OrderDishes odish = uow.OrderDishes.GetById(order.Id);//.Where(w => w.Id == order.Id).FirstOrDefault();
                        odish.Status = 0;
                    }
                    uow.Commit();
                    transaction.Complete();
                }
            }
            #endregion
            string deskCodes = "";
            DXInfo.Restaurant.DeskManageFacade dmf = new DXInfo.Restaurant.DeskManageFacade(uow, Guid.Empty, Guid.Empty);
            deskCodes = dmf.GetOrderDeskCodes(uow, order.Id);

            if (htAdd.Count > 0)
            {
                foreach (DictionaryEntry de in htAdd)
                {
                    List <InventoryEx> confirmmenu = de.Value as List <InventoryEx>;
                    decimal            dsum        = confirmmenu.Sum(s => s.Amount);
                    decimal            dcount      = confirmmenu.Sum(s => s.Quantity);
                    if (confirmmenu.Count > 0)
                    {
                        var ctx = new
                        {
                            DeskNo     = deskCodes + "(加单)",
                            Sum        = dsum,
                            Count      = dcount,
                            lSelInv    = confirmmenu,
                            CreateDate = DateTime.Now,
                            DeptName   = App.MyIdentity.dept.DeptName,
                        };
                        System.Printing.LocalPrintServer lp = new System.Printing.LocalPrintServer();
                        System.Printing.PrintQueue       pq = new System.Printing.PrintQueue(lp, de.Key.ToString());
                        DeskConfirmWindow dcw = new DeskConfirmWindow(ctx, pq);
                        if (dcw.ShowDialog().GetValueOrDefault())
                        {
                        }
                    }
                }
            }
            if (htSub.Count > 0)
            {
                foreach (DictionaryEntry de in htSub)
                {
                    List <InventoryEx> confirmmenu = de.Value as List <InventoryEx>;
                    decimal            dsum        = confirmmenu.Sum(s => s.Amount);
                    decimal            dcount      = confirmmenu.Sum(s => s.Quantity);
                    if (confirmmenu.Count > 0)
                    {
                        var ctx = new
                        {
                            DeskNo     = deskCodes + "(减单)",
                            Sum        = dsum,
                            Count      = dcount,
                            lSelInv    = confirmmenu,
                            CreateDate = DateTime.Now,
                            DeptName   = App.MyIdentity.dept.DeptName,
                        };
                        System.Printing.LocalPrintServer lp = new System.Printing.LocalPrintServer();
                        System.Printing.PrintQueue       pq = new System.Printing.PrintQueue(lp, de.Key.ToString());
                        DeskConfirmWindow dcw = new DeskConfirmWindow(ctx, pq);
                        if (dcw.ShowDialog().GetValueOrDefault())
                        {
                        }
                    }
                }
            }
            this.DialogResult = true;
        }
Пример #19
0
 internal XpsDocumentWriter(System.Printing.PrintQueue printQueue)
 {
 }