示例#1
0
        public void CreateWorkshift(User user, decimal amount)
        {
            Workshift workshift = new Workshift();
            workshift.CashAmount = amount;
            workshift.Opening = workshift.Closing = DateTime.Now;
            workshift.UserId = user.Id;

            workshiftRepository.Add(workshift);
        }
示例#2
0
        public Sale Create(Sale sale, User user, Customer customer)
        {
            sale.TransactionNumber = Guid.NewGuid().ToString();
            sale.UserId = user.Id;
            sale.CustomerId = customer.Id;

            var newSale = salesRepository.Add(sale);
            
            sale.SaleDetails.ToList().ForEach(sd =>
            {
                sd.SaleId = newSale.Id;
                salesRepository.Add(sd);
            });

            return newSale;
        }
示例#3
0
文件: frmMain.cs 项目: njmube/PoS
        private void ValidateTills()
        {
            var workshift = workshisftService.GetLastWorkshift();

            if (workshift != null && workshift.Opened)
            {
                this.CurrentUser = usersService.Find(workshift.UserId);

                btnCloseTill.Enabled = true;
                btnOpenTill.Enabled = false;

                lblNombreUsuario.Text = this.CurrentUser.FullName;
                lblUserId.Text = this.CurrentUser.Id.ToString();
            }
            else
                OpenTill();
        }
示例#4
0
文件: frmMain.cs 项目: njmube/PoS
        private void OpenTillForUser(User user)
        {
            var tillAmount = new frmTillAmount();
            tillAmount.frmMain = this;
            tillAmount.ShowDialog();

            workshisftService.CreateWorkshift(user, tillAmount.Amount);

            MessageBox.Show("Till Opened. Now your can star sales process.");
        }
示例#5
0
文件: frmMain.cs 项目: njmube/PoS
        private void OpenTill()
        {
            frmLogin frmLogin = new frmLogin();
            frmLogin.frmMain = this;
            frmLogin.ShowDialog();

            if (frmLogin.DialogResult == DialogResult.OK)
            {
                this.CurrentUser = frmLogin.User;

                btnOpenTill.Enabled = false;
                
                lblUserId.Text = this.CurrentUser.Id.ToString();
                lblNombreUsuario.Text = this.CurrentUser.FullName;
                
                OpenTillForUser(this.CurrentUser);
                
                btnCloseTill.Enabled = true;
            }
            else if (frmLogin.DialogResult == DialogResult.No)
            {
                btnOpenTill.Enabled = true;
                btnCloseTill.Enabled = false;
            }
        }
示例#6
0
文件: frmLogout.cs 项目: njmube/PoS
 public frmLogout(User user)
 {
     InitializeComponent();
     this.User = user;
 }
示例#7
0
文件: frmCharge.cs 项目: njmube/PoS
        public frmCharge(User user, Customer customer, Sale sale, decimal amount, decimal discount, decimal total)
        {
            InitializeComponent();

            this.User = user;
            this.Customer = customer;
            sale.Amount = amount;
            sale.Discount = discount;
            sale.Total = total;
            this.Sale = sale;

            this.salesService = new SalesService();
            this.productsService = new ProductsService();

            this.Load += (s, e) =>
            {
                txtTicket.Text = salesService.GetTicketNumber().ToString();
                txtDiscout.Text = this.Sale.Discount.ToString();
                txtTotal.Text = this.Sale.Total.ToString();

                cmbUser.DataSource = new List<User> { this.User };
                cmbUser.DisplayMember = "Username";
                cmbUser.ValueMember = "Id";

                cmbCustomer.DataSource = new List<Customer> { this.Customer };
                cmbCustomer.DisplayMember = "FullName";
                cmbCustomer.ValueMember = "Id";

                txtCash.Focus();
            };

            btnCharge.Click += (s, e) =>
            {
                var currentSale = this.Sale;

                salesService.Create(currentSale, this.User, this.Customer);

                //
                //PrintTicket
                //
                PrintTicket(this.Sale);

                this.DialogResult = System.Windows.Forms.DialogResult.OK;
                this.Close();
            };

            txtCash.KeyDown += (s, e) =>
            {
                if (e.KeyCode == Keys.Enter)
                {
                    var currentSale = this.Sale;

                    salesService.Create(currentSale, this.User, this.Customer);

                    //
                    //PrintTicket
                    //
                    PrintTicket(this.Sale);

                    this.DialogResult = System.Windows.Forms.DialogResult.OK;
                    this.Close();
                }
            };

            btnCancel.Click += (s, e) =>
            {
                this.DialogResult = System.Windows.Forms.DialogResult.No;
            };
        }
示例#8
0
文件: frmSales.cs 项目: njmube/PoS
        public frmSales(User user)
        {
            InitializeComponent();
            
            this.User = user;

            customersService = new CustomersService();
            productsService = new ProductsService();
            salesService = new SalesService();

            this.Load += (s, e) =>
            {
                this.WindowState = FormWindowState.Maximized;
                StartNewSale();
            };

            this.KeyDown += (s, e) =>
            {

            };
            
            txtBarcode.KeyDown += (s, e) =>
            {
                switch (e.KeyCode)
                {
                    case Keys.Enter:
                        AddItemToList();
                        break;
                    case Keys.F4:
                        listView1.Focus();
                        break;
                    case Keys.F6:
                        Charge();
                        break;
                }
            };

            listView1.KeyDown += (s, e) =>
            {
                if (e.KeyCode == Keys.Delete)
                    RemoveItemFromList();

                if (e.KeyCode == Keys.F4)
                {
                    txtBarcode.Text = "";
                    txtBarcode.Focus();
                }

                if (e.KeyCode == Keys.F6)
                    Charge();
            };

            listView1.SelectedIndexChanged += (s, e) =>
            {
                btnRemoveItem.Enabled = true;
            };

            btnAddItem.Click += (s, e) =>
            {
                AddItemToList();
            };

            btnRemoveItem.Click += (s, e) =>
            {
                RemoveItemFromList();
            };

            btnResetSale.Click += (s, e) =>
            {
                ResetSale();
            };

            btnCharge.Click += (s, e) =>
            {
                Charge();
            };
        }