Example #1
0
        public static void ShowTableOnDisp(Object o)
        {
            DocumentFileHelper docHelper      = null;
            SalesDocument      document       = null;
            decimal            totalAdjAmount = 0.0m;

            if (o is DocumentFileHelper)
            {
                docHelper = o as DocumentFileHelper;
            }
            else
            {
                MenuLabel label = o as MenuLabel;
                docHelper = label.Value as DocumentFileHelper;
            }

            if (docHelper.FileInfo.Name.IndexOf("MASA10") > -1)
            {
                cr.State = AlertCashier.Instance(new Confirm("MASA BOÞ", OpenTables));
            }
            else if (countToSellingState == 1)
            {
                document            = docHelper.LoadDocument();
                document.FileOnDisk = docHelper.FileInfo;
                document.Id         = cr.Document.Id;
                String label = "{0}:{1:D3}\t{2}\n{3}?({4})";
                label = String.Format(label, PosMessage.TABLE_NUMBER, docHelper.Id, document.TotalAmount, PosMessage.CLOSE_TABLE, PosMessage.ENTER);
                Confirm e = new Confirm(label,
                                        new StateInstance <Hashtable>(RepeatConfirmed),
                                        new StateInstance(OpenTables));

                countToSellingState = 0;
                e.Data["Document"]  = document;
                cr.State            = ConfirmCashier.Instance(e);
                docHelper.Id        = cr.Document.Id;
                docHelper.Remove(cr.Document);
            }
            else
            {
                document = docHelper.LoadDocument();
                foreach (Adjustment adj in document.Adjustments)
                {
                    totalAdjAmount += adj.NetAmount;
                }

                DisplayAdapter.Customer.ShowTableContent(document, totalAdjAmount);
                countToSellingState++;
            }
        }
Example #2
0
        /// <summary>
        /// - repeates document printed before.
        /// - Documents:Receipt,Invoice,Waybill,ReturnDocument,DiplomaticSale
        /// </summary>
        /// <param name="o"></param>
        public static void RepeatDocument(Object o)
        {
            DocumentFileHelper docHelper = null;

            if (o is DocumentFileHelper)
            {
                docHelper = o as DocumentFileHelper;
            }
            else
            {
                MenuLabel label = o as MenuLabel;
                docHelper = label.Value as DocumentFileHelper;
            }
            Hashtable data = new Hashtable();

            SalesDocument document = null;

            document            = docHelper.LoadDocument();
            document.FileOnDisk = docHelper.FileInfo;



            data.Add("Document", document);
            cr.State = RepeatConfirmed(data);
            //cr.Document.Id = docHelper.Id;
            cr.Document.Id = cr.Printer.CurrentDocumentId;
            docHelper.Remove(cr.Document);
        }
Example #3
0
        static IState RepeatConfirmed(Hashtable data)
        {
            SalesDocument      document = null;
            DocumentFileHelper helper   = null;

            if (data["Document"] is DocumentFileHelper)
            {
                helper = ((DocumentFileHelper)data["Document"]);
                helper.LoadDocument();
            }
            else
            {
                document = (SalesDocument)data["Document"];
            }
            if (document.Status == DocumentStatus.Suspended)
            {
                document.Resume();
            }

            /*ICustomer customer = cr.Document.Customer;
             * cr.Document = (SalesDocument)document.Clone();
             *
             * if (customer != null)
             *  cr.Document.Customer = customer;
             */
            if (document.FileOnDisk != null)
            {
                if (document.FileOnDisk.Name.IndexOf("MASA") > -1)
                {
                    DisplayAdapter.Cashier.ClearTableContent();
                }
            }
            cr.ChangeDocumentType((SalesDocument)document.Clone());
            cr.Document.Id = cr.Printer.CurrentDocumentId;

            return(cr.State);
        }