public TransactViewDesfire(FlowType flowType, ICardInterfaceManger cardInterfaceManger)
        {
            InitializeComponent();
            totalAmount            = new TotalAmountViewModel();
            gridProgress.IsVisible = false;

            this.cardInterfaceManger = cardInterfaceManger;
            this.flowType            = flowType;

            lblTotal.BindingContext  = totalAmount;
            txtAmount.BindingContext = totalAmount;

            UpdateView(ViewState.Step1TransactDetails);
        }
        public POSTransactView(ICardInterfaceManger cardInterfaceManger, int amount, List <POSTransactionItem> posTransactionItems, IConfigurationProvider configProvider)
        {
            InitializeComponent();
            gridProgress.IsVisible = false;
            this.configProvider    = configProvider;
            totalAmount            = new TotalAmountViewModel();

            this.posTransactionItems = posTransactionItems;
            this.cardInterfaceManger = cardInterfaceManger;

            lblTotal.BindingContext = totalAmount;
            totalAmount.Total       = Validate.CentsToAmount(amount);

            StartCardScanner();
            UpdateView(ViewState.Step2TapCard);
        }
示例#3
0
        private void btnGuardarIncome_Click(object sender, EventArgs e)
        {
            try
            {
                var data = new IncomeViewModel()
                {
                    Amount       = Convert.ToDecimal(txtIncomeAmount.Text),
                    UserId       = Convert.ToInt32(cbUsers.SelectedValue),
                    IncomeMonth  = Enum.GetName(typeof(Months), Convert.ToInt32(cbMonths.SelectedValue)),
                    IncomeTypeId = Convert.ToInt32(cbIncomeType.SelectedValue),
                    IncomeDate   = dateTimePicker1.Value,
                    rowguid      = Guid.NewGuid()
                };

                var result = _incomeRepository.Add(data);

                if (result != null)
                {
                    var totalAmount = _totalAmountRepo.Get();

                    decimal lastAmount = 0;
                    TotalAmountViewModel lastTotalAmount = new TotalAmountViewModel();
                    if (totalAmount.Any())
                    {
                        lastTotalAmount = totalAmount.LastOrDefault();
                    }
                    else
                    {
                        lastTotalAmount.Amount = 0;
                    }

                    lastAmount = lastTotalAmount.Amount + data.Amount;

                    var dataTotalAmount = new TotalAmountViewModel()
                    {
                        Amount  = lastAmount,
                        rowguid = Guid.NewGuid()
                    };
                    var resultTotal = _totalAmountRepo.Add(dataTotalAmount);
                }
                MessageBox.Show("Creado OK");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
示例#4
0
        public POSView(ICardInterfaceManger contactCardInterfaceManger, ICardInterfaceManger contactlessCardInterfaceManger, IConfigurationProvider configProvider, IOnlineApprover onlineApprover, TCPClientStream tcpClientStream)
        {
            InitializeComponent();

            this.contactCardInterfaceManger     = contactCardInterfaceManger;
            this.contactlessCardInterfaceManger = contactlessCardInterfaceManger;
            this.configProvider  = configProvider;
            this.onlineApprover  = onlineApprover;
            this.tcpClientStream = tcpClientStream;

            emvTxCtl.TxCompleted += EmvTxCtl_TxCompleted;

            UpdateView(POSViewState.POS);

            basketItems             = new ObservableCollection <POSTransactionLineItem>();
            totalAmount             = new TotalAmountViewModel();
            lblTotal.BindingContext = totalAmount;

            try
            {
                Task.Run(async() =>
                {
                    groups = await CacheProvider.Instance.GetInventoryGroups();
                    items  = await CacheProvider.Instance.GetinventoryItems();
                })
                .ContinueWith((x) =>
                {
                    UpdataItemNavigator();
                    Device.BeginInvokeOnMainThread(() =>
                    {
                        if (lstBasketItems.ItemsSource == null)
                        {
                            lstBasketItems.ItemsSource = basketItems;
                        }
                        gridProgress.IsVisible = false;
                    });
                }, TaskContinuationOptions.OnlyOnRanToCompletion);
            }
            catch (Exception ex)
            {
                Task.Run(async() =>
                {
                    await App.Current.MainPage.DisplayAlert("Error", ex.Message, "OK");
                });
            }
        }