Пример #1
0
        private void btnProcess_Click(object sender, EventArgs e)
        {
            if (decimal.Parse(lblChange.Text) < 0)
            {
                MessageBoxUI mb = new MessageBoxUI("Amount rendered must be greater than Total Due!", GlobalVariables.Icons.Error, GlobalVariables.Buttons.OK);
                mb.showDialog();
                txtAmountRendered.Focus();
                return;
            }
            lFromClose                       = false;
            loPOSTransaction.Id              = lTransactionId;
            loPOSTransaction.Date            = DateTime.Now;
            loPOSTransaction.CashierPeriodId = GlobalVariables.CashierPeriodId;
            loPOSTransaction.CustomerId      = lCustomerId;
            loPOSTransaction.OrderType       = lOrderType;
            loPOSTransaction.TableId         = lTableId;
            loPOSTransaction.ORNo            = txtORNo.Text;
            loPOSTransaction.TotalPrice      = decimal.Parse(lblTotalPrice.Text);
            loPOSTransaction.TotalDiscount   = decimal.Parse(lblTotalDiscount.Text);
            loPOSTransaction.TotalLessVAT    = decimal.Parse(lblLessVAT.Text);
            loPOSTransaction.TotalDue        = decimal.Parse(lblTotalDue.Text);
            loPOSTransaction.VATSale         = decimal.Parse(lblVATSale.Text);
            loPOSTransaction.VATExemptSale   = decimal.Parse(lblVATExemptSale.Text);
            loPOSTransaction.VATAmount       = decimal.Parse(lblVATAmount.Text);
            loPOSTransaction.AmountTendered  = decimal.Parse(txtAmountRendered.Text);
            loPOSTransaction.Paid            = "Y";
            loPOSTransaction.DiscountId      = lDiscountId;
            loPOSTransaction.ModeOfPaymentId = lModeOfPaymentId;
            loPOSTransaction.PaymentDetails  = lPaymentDetails;
            loPOSTransaction.OutletId        = GlobalVariables.CurrentLocationId;
            loPOSTransaction.CashierId       = GlobalVariables.CashierId;
            loPOSTransaction.Terminal        = GlobalVariables.Terminal;
            loPOSTransaction.Remarks         = lblRemarks.Text;
            loPOSTransaction.UserId          = GlobalVariables.UserId;
            try
            {
                string _TransactionId;
                if (lOperation == "Add")
                {
                    _TransactionId = loPOSTransaction.save(GlobalVariables.Operation.Add);
                }
                else if (lOperation == "Edit")
                {
                    _TransactionId = loPOSTransaction.save(GlobalVariables.Operation.Edit);
                }
                else
                {
                    MessageBoxUI _mb = new MessageBoxUI("Operation not defined!", GlobalVariables.Icons.Error, GlobalVariables.Buttons.OK);
                    _mb.showDialog();
                    return;
                }
                if (_TransactionId != "")
                {
                    decimal _totalQty = 0;
                    foreach (DataGridViewRow _dr in loDataGrid.Rows)
                    {
                        loPOSTransactionDetail.TransactionId = _TransactionId;
                        loPOSTransactionDetail.StockId       = _dr.Cells["DetailStockId"].Value.ToString();
                        loPOSTransactionDetail.LocationId    = GlobalVariables.CurrentLocationId;
                        loPOSTransactionDetail.VATable       = "Y";
                        _totalQty += decimal.Parse(_dr.Cells["DetailQty"].Value.ToString());
                        loPOSTransactionDetail.Qty            = decimal.Parse(_dr.Cells["DetailQty"].Value.ToString());
                        loPOSTransactionDetail.UnitCost       = decimal.Parse(_dr.Cells["DetailUnitCost"].Value.ToString());
                        loPOSTransactionDetail.BasePrice      = decimal.Parse(_dr.Cells["DetailBasePrice"].Value.ToString());
                        loPOSTransactionDetail.UnitPrice      = decimal.Parse(_dr.Cells["DetailUnitPrice"].Value.ToString());
                        loPOSTransactionDetail.DiscountId     = "0";
                        loPOSTransactionDetail.DiscountAmount = 0;
                        loPOSTransactionDetail.TotalPrice     = decimal.Parse(_dr.Cells["DetailTotalPrice"].Value.ToString());
                        loPOSTransactionDetail.UserId         = GlobalVariables.UserId;

                        if (lOperation == "Add")
                        {
                            loPOSTransactionDetail.save(GlobalVariables.Operation.Add);
                        }
                        else if (lOperation == "Edit")
                        {
                            if (_dr.Cells[0].Value.ToString() != "")
                            {
                                loPOSTransactionDetail.DetailId = _dr.Cells["DetailId"].Value.ToString();
                                loPOSTransactionDetail.save(GlobalVariables.Operation.Edit);
                            }
                            else
                            {
                                loPOSTransactionDetail.save(GlobalVariables.Operation.Add);
                            }
                        }
                    }
                    //insert Inventory
                    loInventory.final(insertInventory(_TransactionId, lCustomerId, _totalQty));

                    try
                    {
                        OpenCashDrawer loOpenCashDrawer = new OpenCashDrawer();
                        loOpenCashDrawer.openCashDrawer();
                        this.Close();
                    }
                    catch (Exception ex)
                    {
                        MessageBoxUI mb = new MessageBoxUI(ex.Message, GlobalVariables.Icons.Information, GlobalVariables.Buttons.OK);
                        mb.showDialog();
                    }
                    writeORSeqNo();

                    if (lOperation == "Add")
                    {
                        printOrderSlip(_TransactionId, txtORNo.Text);
                    }

                    this.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBoxUI _mb = new MessageBoxUI(ex.Message, GlobalVariables.Icons.Error, GlobalVariables.Buttons.OK);
                _mb.showDialog();
                return;
            }
        }