Beispiel #1
0
        private void UpdateTotals(PosTotal posTotal, TotalType end, TotalName totalName)
        {
            foreach (object obj in posTotal.Totals)
            {
                EclipsePos.Data.Total total = obj as EclipsePos.Data.Total;
                if ((int)total.Total_type < (int)end)
                {
                    total.AddToTotalAndCount(
                        PosSettings.Default.Organization,
                        PosContext.Instance.RetailStore.Retail_store_no,
                        PosSettings.Default.Station,
                        (TotalName)((int)posTotal.Total_name + 1),
                        (TotalType)total.Total_type,
                        total.Total_amount,
                        total.Total_count);

                    //total.Delete();
                }
            }



            posTotal.UpdateEndDate(PosSettings.Default.Organization,
                                   PosSettings.Default.Store,
                                   PosSettings.Default.Station,
                                   (int)totalName);
        }
Beispiel #2
0
        private bool AmountIsValid()
        {
            // because it is already negative

            double amount = this.cashBack;


            PosTotal posTotal = new PosTotal();

            posTotal.Organization_no = PosSettings.Default.Organization;
            posTotal.Store_no        = PosSettings.Default.Store;
            posTotal.Pos_no          = PosSettings.Default.Station;
            posTotal.Total_name      = (int)TotalName.DAILY_BASE;
            posTotal.Load();
            posTotal.Relations();
            foreach (object obj in posTotal.Totals)
            {
                EclipsePos.Data.Total tot = obj as EclipsePos.Data.Total;
                if (tot.Total_type == (int)EclipsePos.Data.TotalType.CASH_IN_DRAWER)
                {
                    if (tot.Total_amount >= amount)
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }
Beispiel #3
0
        public override void UpdateTotals()
        {
            if (PosContext.Instance.Training)
            {
                return;
            }

            EclipsePos.Data.Total total = new EclipsePos.Data.Total();
            total.AddToTotal(
                PosSettings.Default.Organization,
                PosSettings.Default.Store,
                PosSettings.Default.Station,
                EclipsePos.Data.TotalName.DAILY_BASE,
                TotalType.CREDIT_CARD_BASE,
                this.Amount);


            if (transTender.Change_amount > 0)
            {
                EclipsePos.Data.Total total2 = new EclipsePos.Data.Total();
                total2.AddToTotal(
                    PosSettings.Default.Organization,
                    PosSettings.Default.Store,
                    PosSettings.Default.Station,
                    EclipsePos.Data.TotalName.DAILY_BASE,
                    TotalType.CASH_IN_DRAWER,
                    PosContext.Instance.PosMath.Mult(transTender.Change_amount, -1.0));
            }

            this.transTender.State = (int)EjLineStates.PAID;
            this.transTender.UpdateState();
        }
        public override void UpdateTotals()
        {
            //return null;
            if (PosContext.Instance.Training)
            {
                return;
            }

            EclipsePos.Data.Total total = new EclipsePos.Data.Total();
            total.AddToTotal(
                PosSettings.Default.Organization,
                PosContext.Instance.RetailStore.Retail_store_no,
                PosSettings.Default.Station,
                EclipsePos.Data.TotalName.DAILY_BASE,
                TotalType.DEBIT,
                this.Amount);

            if (transTender.Change_amount > 0)
            {
                // subtract cash back from drawer
                EclipsePos.Data.Total total2 = new EclipsePos.Data.Total();
                total2.AddToTotal(
                    PosSettings.Default.Organization,
                    PosContext.Instance.RetailStore.Retail_store_no,
                    PosSettings.Default.Station,
                    EclipsePos.Data.TotalName.DAILY_BASE,
                    TotalType.CASH_IN_DRAWER,
                    PosContext.Instance.PosMath.Mult(transTender.Change_amount, -1.0)
                    );
            }


            int count = PosContext.Instance.CurrentEj.SalesPerson.Count;

            PosContext.Instance.CurrentEj.SalesPerson.ForEach(delegate(EjSalesPerson ejSalesPerson) {
                TransSalesPerson transSalesPerson = (TransSalesPerson)ejSalesPerson.DataRecord();
                string employee_id = transSalesPerson.Employee_no;

                EclipsePos.Data.PosEmployeeTotal empTotal = new EclipsePos.Data.PosEmployeeTotal();
                empTotal.AddToEmployeeTotalAndCount(
                    PosSettings.Default.Organization,
                    PosContext.Instance.RetailStore.Retail_store_no,
                    PosSettings.Default.Station,
                    employee_id,
                    0,
                    EclipsePos.Data.TotalName.DAILY_BASE,
                    TotalType.DEBIT,
                    1,
                    Amount / count
                    );
            });



            transTender.State = (int)EjLineStates.PAID;
            transTender.UpdateState();
        }
Beispiel #5
0
        public override void UpdateTotals()
        {
            //return null;
            if (PosContext.Instance.Training)
            {
                return;
            }

            EclipsePos.Data.Total total1 = new EclipsePos.Data.Total();
            total1.AddToTotal(
                PosSettings.Default.Organization,
                PosContext.Instance.RetailStore.Retail_store_no,
                PosSettings.Default.Station,
                EclipsePos.Data.TotalName.DAILY_BASE,
                TotalType.CASH_SALES,
                Amount - Change);


            EclipsePos.Data.Total total2 = new EclipsePos.Data.Total();
            total2.AddToTotal(
                PosSettings.Default.Organization,
                PosContext.Instance.RetailStore.Retail_store_no,
                PosSettings.Default.Station,
                EclipsePos.Data.TotalName.DAILY_BASE,
                TotalType.CASH_IN_DRAWER,
                Amount - Change);


            int count = PosContext.Instance.CurrentEj.SalesPerson.Count;

            PosContext.Instance.CurrentEj.SalesPerson.ForEach(delegate(EjSalesPerson ejSalesPerson) {
                TransSalesPerson transSalesPerson = (TransSalesPerson)ejSalesPerson.DataRecord();
                string employee_id = transSalesPerson.Employee_no;

                EclipsePos.Data.PosEmployeeTotal empTotal = new EclipsePos.Data.PosEmployeeTotal();
                empTotal.AddToEmployeeTotalAndCount(
                    PosSettings.Default.Organization,
                    PosContext.Instance.RetailStore.Retail_store_no,
                    PosSettings.Default.Station,
                    employee_id,
                    0,
                    EclipsePos.Data.TotalName.DAILY_BASE,
                    TotalType.CASH_IN_DRAWER,
                    1,
                    (Amount - Change) / count
                    );
            });



            this.transTender.State = (int)EjLineStates.PAID;
            this.transTender.UpdateState();
        }
Beispiel #6
0
        public override void UpdateTotals()
        {
            if (PosContext.Instance.Training)
            {
                return;
            }

            EclipsePos.Data.Total total = new EclipsePos.Data.Total();
            total.AddToTotal(
                PosSettings.Default.Organization,
                PosSettings.Default.Store,
                PosSettings.Default.Station,
                EclipsePos.Data.TotalName.DAILY_BASE,
                TotalType.ALT_CURRENCY_BASE + PosContext.Instance.AltCurrencyCode.Pos_key_number,
                this.SplitAmount);


            total.AddToTotal(
                PosSettings.Default.Organization,
                PosSettings.Default.Store,
                PosSettings.Default.Station,
                EclipsePos.Data.TotalName.DAILY_BASE,
                TotalType.CASH_SALES,
                transTender.Amount - transTender.Change_amount);

            if (transTender.Change_amount != 0.0)
            {
                //EclipsePos.Data.Total total2 = new EclipsePos.Data.Total();
                total.AddToTotal(
                    PosSettings.Default.Organization,
                    PosSettings.Default.Store,
                    PosSettings.Default.Station,
                    EclipsePos.Data.TotalName.DAILY_BASE,
                    TotalType.CASH_IN_DRAWER,
                    PosContext.Instance.PosMath.Mult(transTender.Change_amount, -1));
            }

            /* total.AddToTotal(
             *       PosSettings.Default.Organization,
             *       PosContext.Instance.RetailStore.Retail_store_no,
             *       PosSettings.Default.Station,
             *       EclipsePos.Data.TotalName.DAILY_BASE,
             *       TotalType.CASH_IN_DRAWER,
             *       transTender.Amount - transTender.Change_amount );*/

            this.transTender.State = (int)EjLineStates.PAID;
            this.transTender.UpdateState();
        }
        private void TerminalReportForCashInDrawer(TerminalReport report, int start, int end)
        {
            this.PrintReceipt(PosContext.Instance.Parameters.getParam("CashInDrawer"), 0, PosContext.Instance.Training);
            double cashInDrawer = 0;

            foreach (object obj in report.PosTotal.Totals)
            {
                EclipsePos.Data.Total total = obj as EclipsePos.Data.Total;


                String countLit  = null;
                String amountLit = null;


                if ((total.Total_type > start) && (total.Total_type < end))
                {
                    int type = total.Total_type - start;
                    switch (type)
                    {
                    case (int)TotalType.CASH_SALES:

                        countLit  = PosContext.Instance.Parameters.getParam("CashSalesCount");
                        amountLit = PosContext.Instance.Parameters.getParam("CashSalesAmount");
                        break;

                    //	case (int) TotalType.CASH_IN_DRAWER:

                    //		countLit = PosContext.Instance.Parameters.getParam("CashInDrCount");
                    //		amountLit = PosContext.Instance.Parameters.getParam("CashInDrAmount");
                    //		break;



                    case (int)TotalType.CASH_BACK:

                        countLit  = PosContext.Instance.Parameters.getParam("CashBackCount");
                        amountLit = PosContext.Instance.Parameters.getParam("CashBackAmount");
                        break;



                    case (int)TotalType.PAID_IN:

                        countLit  = PosContext.Instance.Parameters.getParam("PaidInCount");
                        amountLit = PosContext.Instance.Parameters.getParam("PaidInAmount");
                        break;

                    case (int)TotalType.PAID_OUT:

                        countLit  = PosContext.Instance.Parameters.getParam("PaidOutCount");
                        amountLit = PosContext.Instance.Parameters.getParam("PaidOutAmount");
                        break;

                    case (int)TotalType.LOAN:

                        countLit  = PosContext.Instance.Parameters.getParam("LoanCount");
                        amountLit = PosContext.Instance.Parameters.getParam("LoanAmount");
                        break;

                    case (int)TotalType.PICK_UP:

                        countLit  = PosContext.Instance.Parameters.getParam("PickupCount");
                        amountLit = PosContext.Instance.Parameters.getParam("PickupAmount");
                        break;


                    default:
                        break;
                    }


                    if (countLit != null)
                    {
                        this.PrintReceipt(amountLit.Trim(), total.Total_amount, PosContext.Instance.Training);
                        cashInDrawer += total.Total_amount;
                    }
                }
            }

            string strCashInDrawer = PosContext.Instance.Parameters.getParam("CashInDrAmount");

            this.PrintReceipt(strCashInDrawer, cashInDrawer, PosContext.Instance.Training);
        }
        private void TerminalReportByCollections(TerminalReport report, int start, int end)
        {
            this.PrintReceipt(PosContext.Instance.Parameters.getParam("Collections"), 0, PosContext.Instance.Training);
            double totalCollection = 0;

            foreach (object obj in report.PosTotal.Totals)
            {
                EclipsePos.Data.Total total = obj as EclipsePos.Data.Total;


                String countLit  = null;
                String amountLit = null;


                if ((total.Total_type > start) && (total.Total_type < end))
                {
                    int type = total.Total_type - start;
                    switch (type)
                    {
                    case (int)TotalType.CASH_SALES:

                        countLit  = PosContext.Instance.Parameters.getParam("CashSalesCount");
                        amountLit = PosContext.Instance.Parameters.getParam("CashSalesAmount");
                        break;


                    case (int)TotalType.GIFT_CERTIFICATE:

                        countLit  = PosContext.Instance.Parameters.getParam("GiftCertCount");
                        amountLit = PosContext.Instance.Parameters.getParam("GiftCertAmount");
                        break;

                    case (int)TotalType.CHECK:
                    case (int)TotalType.CHECK_IN_DRAWER:

                        countLit  = PosContext.Instance.Parameters.getParam("CheckCount");
                        amountLit = PosContext.Instance.Parameters.getParam("CheckAmount");
                        break;

                    default:
                        break;
                    }

                    if (type > 400 && type < 500)
                    {
                        object objCard = PosContext.Instance.Config.CardMediaByTotalType[type];
                        if (objCard is CardMedia)
                        {
                            CardMedia cMedia = objCard as CardMedia;
                            countLit  = cMedia.Media_name;
                            amountLit = cMedia.Media_name;
                        }
                    }

                    if (countLit != null)
                    {
                        this.PrintReceipt(amountLit.Trim(), total.Total_amount, PosContext.Instance.Training);
                        totalCollection += total.Total_amount;
                    }
                }
            }

            string strCollectionTotal = PosContext.Instance.Parameters.getParam("CollectionTotal");

            this.PrintReceipt(strCollectionTotal, totalCollection, PosContext.Instance.Training);
        }
Beispiel #9
0
        /**
         * Validate the validity of the input amount.
         */
        private bool AmountIsValid()
        {
            if (this.transType == (int)TotalType.PAID_IN)
            {
                return(true);
            }

            // because it is already negative

            double amount = PosContext.Instance.PosMath.Mult(transAmount, -1.0);


            PosTotal posTotal = new PosTotal();

            posTotal.Organization_no = PosSettings.Default.Organization;
            posTotal.Store_no        = PosSettings.Default.Store;
            posTotal.Pos_no          = PosSettings.Default.Station;
            posTotal.Total_name      = (int)TotalName.DAILY_BASE;
            posTotal.Load();
            posTotal.Relations();
            foreach (object obj in posTotal.Totals)
            {
                EclipsePos.Data.Total tot = obj as EclipsePos.Data.Total;
                if (tot.Total_type == (int)EclipsePos.Data.TotalType.CASH_IN_DRAWER)
                {
                    if (tot.Total_amount > amount)
                    {
                        return(true);
                    }
                }
            }

            return(false);


            /*	String fetchSpec = PosTotal.getBySiteAndPos (context ().siteID (), context ().posNo ());
             *      Vector results = Application.dbConnection ().fetch (new PosTotal (), fetchSpec);
             *
             *      if (results.size () > 0)
             *      {
             *              PosTotal posTotal = (PosTotal) results.elementAt (0);
             *              for (int i=0; i<posTotal.totals ().size (); i++)
             *              {
             *
             *                      Total total = (Total) posTotal.totals ().elementAt (i);
             *
             *
             *                      if (total.totalType () == Total.CASH_IN_DRAWER)
             *                      {
             *
             *                              double mediaTotal = total.totalAmount ();
             *                              if (mediaTotal < amount)
             *                              {
             *                                       return false;
             *                              }
             *                      }
             *              }
             *      }
             */
            //return false;
        }
Beispiel #10
0
        public override void UpdateTotals()
        {
            if (PosContext.Instance.Training)
            {
                return;
            }

            if (this.Amount != 0.0)
            {
                /*
                 * EclipsePos.Data.Total total = new EclipsePos.Data.Total();
                 * total.AddToTotal(
                 * PosContext.Instance.RetailStore.Retail_store_no,
                 *      PosSettings.Default.Station,
                 *      TotalType.CASH,
                 *       transBank.Amount);
                 *
                 *
                 *
                 * switch ((TotalType)transBank.Pay_type)
                 * {
                 *
                 *      case TotalType.PAID_IN:
                 *      case TotalType.PAID_OUT:
                 *      case TotalType.PICK_UP:
                 *      case TotalType.LOAN:
                 *
                 *              EclipsePos.Data.Total total2 = new EclipsePos.Data.Total();
                 * total2.Total_id = PosContext.Instance.RetailStore.Retail_store_no;
                 *              total2.Pos_total_id = PosSettings.Default.Station;
                 *              total2.Total_type = (int)TotalType.CASH_IN_DRAWER;
                 *              total2.Total_count = 0;
                 *              total2.Total_amount = transBank.Amount;
                 *              total2.Add();
                 *
                 *              break;
                 *      default:
                 *              break;
                 * }
                 */

                //return null;


                EclipsePos.Data.Total total1 = new EclipsePos.Data.Total();
                total1.AddToTotal(
                    PosSettings.Default.Organization,
                    PosSettings.Default.Store,
                    PosSettings.Default.Station,
                    EclipsePos.Data.TotalName.DAILY_BASE,
                    (TotalType)transBank.Pay_type,
                    transBank.Amount);


                EclipsePos.Data.Total total2 = new EclipsePos.Data.Total();
                total2.AddToTotal(
                    PosSettings.Default.Organization,
                    PosSettings.Default.Store,
                    PosSettings.Default.Station,
                    EclipsePos.Data.TotalName.DAILY_BASE,
                    TotalType.CASH_IN_DRAWER,
                    transBank.Amount);

                int count = PosContext.Instance.CurrentEj.SalesPerson.Count;
                PosContext.Instance.CurrentEj.SalesPerson.ForEach(delegate(EjSalesPerson ejSalesPerson) {
                    TransSalesPerson transSalesPerson = (TransSalesPerson)ejSalesPerson.DataRecord(); //PosContext.Instance.CurrentEj.SalesPerson.DataRecord();
                    string employee_id = transSalesPerson.Employee_no;

                    EclipsePos.Data.PosEmployeeTotal empTotal = new EclipsePos.Data.PosEmployeeTotal();
                    empTotal.AddToEmployeeTotalAndCount(
                        PosSettings.Default.Organization,
                        PosContext.Instance.RetailStore.Retail_store_no,
                        PosSettings.Default.Station,
                        employee_id,
                        0,
                        EclipsePos.Data.TotalName.DAILY_BASE,
                        (TotalType)transBank.Pay_type,
                        1,
                        (Amount - Change) / count
                        );
                });
            }
        }