Exemplo n.º 1
0
        private void btnAddCustom_Click(object sender, EventArgs e)
        {
            // add custom menu
            if (string.IsNullOrEmpty(txtCustomName.Text) || string.IsNullOrEmpty(txtPrice.Text))
            {
                MessageBox.Show("Custom Menu and Price are required fields");
                return;
            }

            OrderDetail orderDetail = new OrderDetail();

            orderDetail.OrderID    = _currentOrderId;
            orderDetail.MenuCardID = 1124; //dummy
            if (cboMenuQuantity.SelectedItem != null)
            {
                orderDetail.Quantity = Convert.ToInt32(cboMenuQuantity.SelectedItem);
            }
            else
            {
                orderDetail.Quantity = 0;
            }
            orderDetail.Remarks         = string.Empty;
            orderDetail.CustomMenuName  = txtCustomName.Text;
            orderDetail.CustomMenuPrice = Convert.ToDecimal(txtPrice.Text);

            ctx.OrderDetails.InsertOnSubmit(orderDetail);
            ctx.SubmitChanges();

            ItemRowUserControl row = new ItemRowUserControl();

            row.Name      = "1";
            row.ItemTitle = txtCustomName.Text;
            row.Price     = Convert.ToDecimal(txtPrice.Text);
            row.SubTotal  = orderDetail.Quantity * row.Price;
            row.Quantity  = orderDetail.Quantity.ToString();
            decimal currentTotal = 0;

            if (lbTotal.Text.Trim().Length > 2)
            {
                currentTotal = Convert.ToDecimal(lbTotal.Text.Replace("Rp.", ""));
            }
            decimal totalAll = currentTotal + row.SubTotal;

            row.OrderDetailSelected = orderDetail;

            row.DeleteItemHandler       += new EventHandler <SelectedItemEventArgs>(row_DeleteItemHandler);
            row.RecalculateTotalHandler += new EventHandler <EventArgs>(row_RecalculateTotalHandler);
            panelRightContent.Controls.Add(row);

            row.Top  = 2 + (panelRightContent.Controls.Count - 1) * 64;
            row.Left = 5;

            lbTotal.Text = "Rp. " + totalAll.ToString("N0");
        }
Exemplo n.º 2
0
        private void Recalculate()
        {
            decimal totalAll = 0;

            foreach (var item in panelRightContent.Controls)
            {
                ItemRowUserControl row = (ItemRowUserControl)item;
                totalAll = totalAll + row.SubTotal;
            }
            lbTotal.Text = "Rp. " + totalAll.ToString("N0");
        }
Exemplo n.º 3
0
        private void OrderDetailPopulate(int orderId)
        {
            POSDataContext db = new POSDataContext();

            panelRightContent.Controls.Clear();
            int index   = 0;
            var details = from a in db.OrderDetails
                          where a.OrderID == orderId
                          select a;

            decimal totalAll = 0;

            foreach (var detail in details)
            {
                ItemRowUserControl row = new ItemRowUserControl();
                row.Name = detail.MenuCardID.ToString();

                if (!string.IsNullOrEmpty(detail.CustomMenuName))
                {
                    row.ItemTitle = detail.CustomMenuName;
                    row.SubTotal  = detail.CustomMenuPrice * detail.Quantity;
                }
                else
                {
                    row.SubTotal  = detail.MenuCard.Price * detail.Quantity;
                    row.ItemTitle = detail.MenuCard.MenuName;
                }


                if (detail.CustomMenuPrice > 0)
                {
                    row.Price = detail.CustomMenuPrice;
                }
                else
                {
                    row.Price = detail.MenuCard.Price;
                }

                totalAll = totalAll + (row.SubTotal);
                row.OrderDetailSelected = detail;
                row.Quantity            = detail.Quantity.ToString();

                row.DeleteItemHandler       += new EventHandler <SelectedItemEventArgs>(row_DeleteItemHandler);
                row.RecalculateTotalHandler += new EventHandler <EventArgs>(row_RecalculateTotalHandler);
                panelRightContent.Controls.Add(row);

                row.Top  = 2 + index * 64;
                row.Left = 5;
                index++;
            }
            lbTotal.Text = "Rp. " + totalAll.ToString("N0");
        }
Exemplo n.º 4
0
        private void LabelControl_MouseClick(object sender, MouseEventArgs e)
        {
            POSDataContext posDb = new POSDataContext();
            MenuCard       menu  = Helper.GetMenuCard(((MenuCard)((Label)sender).Tag).id);

            if (menu.Stock.HasValue)
            {
                if (menu.Stock.Value <= 0)
                {
                    MessageBox.Show("Stok Habis!!!");
                    return;
                }
            }
            else
            {
                MessageBox.Show("Stok Habis!!!");
                return;
            }

            if (!panelRightContent.Controls.ContainsKey(menu.id.ToString()))
            {
                OrderDetail orderDetail = new OrderDetail();
                orderDetail.OrderID         = _currentOrderId;
                orderDetail.MenuCardID      = menu.id;
                orderDetail.Quantity        = 1;
                orderDetail.Remarks         = string.Empty;
                orderDetail.CustomMenuName  = string.Empty;
                orderDetail.CustomMenuPrice = 0;

                posDb.OrderDetails.InsertOnSubmit(orderDetail);
                posDb.SubmitChanges();

                ItemRowUserControl row = new ItemRowUserControl();
                row.Name      = menu.id.ToString();
                row.ItemTitle = menu.MenuName;
                row.Price     = menu.Price;
                row.SubTotal  = menu.Price;
                row.Quantity  = "1";
                decimal currentTotal = 0;
                if (lbTotal.Text.Trim().Length > 2)
                {
                    currentTotal = Convert.ToDecimal(lbTotal.Text.Replace("Rp.", ""));
                }
                decimal totalAll = currentTotal + row.SubTotal;
                row.OrderDetailSelected = orderDetail;
                //row.OrderDetailId = orderDetail.OrderDetailID;

                row.DeleteItemHandler       += new EventHandler <SelectedItemEventArgs>(row_DeleteItemHandler);
                row.RecalculateTotalHandler += new EventHandler <EventArgs>(row_RecalculateTotalHandler);
                panelRightContent.Controls.Add(row);

                row.Top  = 2 + (panelRightContent.Controls.Count - 1) * 64;
                row.Left = 5;

                lbTotal.Text = "Rp. " + totalAll.ToString("N0");
            }
            else
            {
                var item = from a in posDb.OrderDetails
                           where a.MenuCardID == menu.id && a.OrderID == _currentOrderId
                           select a;
                if (item.Count() > 0)
                {
                    var orderDetail = item.ToArray()[0];
                    orderDetail.Quantity = orderDetail.Quantity + 1;
                    posDb.SubmitChanges();

                    ((ItemRowUserControl)panelRightContent.Controls[menu.id.ToString()]).Quantity            = orderDetail.Quantity.ToString();
                    ((ItemRowUserControl)panelRightContent.Controls[menu.id.ToString()]).OrderDetailSelected = orderDetail;
                }
            }

            var stock = menu.Stock.HasValue ? (menu.Stock.Value - 1) : 0;

            UpdateMenuCard(menu.id, stock);
        }