Ejemplo n.º 1
0
        /// <summary>
        /// Load lại bảng theo khu vực
        /// </summary>
        private void LoadTableByAreaID()
        {
            UltraTab activeTab = tabAreaTableMapping.ActiveTab;

            if (activeTab == null || string.IsNullOrEmpty(activeTab.Key))
            {
                return;
            }

            Guid areaID = Guid.Parse(activeTab.Key);

            BusinessDataSet dsTable = new BusinessDataSet();

            dsTable.AreaTableMapping.Merge(_oblArea.GetTableMappingByAreaID(areaID, dteDateAreaTableMapping.DateTime));
            FlowLayoutPanel flowLayout = new FlowLayoutPanel();

            flowLayout.Padding    = new Padding(10);
            flowLayout.Dock       = DockStyle.Fill;
            flowLayout.AutoScroll = true;
            if (dsTable.AreaTableMapping.Rows.Count > 0)
            {
                // Bỏ số lượng của Khu vực đi để cộng lại
                Area_All_Status_Empty[Key_All]          -= Area_All_Status_Empty[areaID.ToString()];
                Area_All_Status_Empty[areaID.ToString()] = 0;

                foreach (BusinessDataSet.AreaTableMappingRow iAreaTable in dsTable.AreaTableMapping.Rows)
                {
                    EnumTableStatus tableStatus = (EnumTableStatus)iAreaTable.TableStatus;
                    if (tableStatus == EnumTableStatus.Empty)
                    {
                        Area_All_Status_Empty[areaID.ToString()] += 1;
                        Area_All_Status_Empty[Key_All]           += 1;
                    }
                    else if (tableStatus == EnumTableStatus.Booking)
                    {
                        TimeSpan timeSpan;
                        timeSpan = iAreaTable.BookingDate - DateTime.Now;
                        if (timeSpan.Minutes >= 15)
                        {
                            BLBooking bLBooking = new BLBooking();
                            DictionaryDataSet.BookingRow row = dsDictionary.Booking.FindByBookingID(iAreaTable.BookingID);
                            row.BookingStatus = 2;
                            bLBooking.InsertUpdate(row);
                        }
                    }
                    UctTableMapping tableMapping = CreateUctTableMapping(iAreaTable);
                    tableMapping.Click          += Table_Click;
                    tableMapping.DoubleClick    += Table_DoubleClick;
                    tableMapping.LoadAreaStatus += ChangeAreaStatus;
                    flowLayout.Controls.Add(tableMapping);
                }
            }
            activeTab.TabPage.Controls.Clear();
            activeTab.TabPage.Controls.Add(flowLayout);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Xử lý sự kiện nhấn vào bàn
        /// </summary>
        /// <param name="sender"></param>
        private void HandlerTableMapping(object sender)
        {
            UctTableMapping uctTableMapping = (UctTableMapping)sender;

            if (uctTableMapping.TableStatus == EnumTableStatus.Booking)
            {
                ShowBooking(uctTableMapping);
            }
            else if (uctTableMapping.TableStatus == EnumTableStatus.Using)
            {
                ShowOrder(uctTableMapping);
            }
            else
            {
                MessageBoxCommon.ShowMessage("Bàn chưa được sử dụng");
            }
        }
Ejemplo n.º 3
0
 /// <summary>
 /// Hiện Order
 /// </summary>
 private void ShowOrder(UctTableMapping control)
 {
     LoadOrder(_today);
     using (FrmOrderDetail frm = new FrmOrderDetail())
     {
         frm.FormActionMode      = ActionMode.Edit;
         frm.DsDictionary        = dsDictionary;
         frm.BsDetail.DataSource = frm.DsDictionary;
         frm.OrderID             = control.OrderID;
         frm.TableID             = control.TableID;
         frm.BookingID           = control.BookingID;
         if (frm.ShowDialog() == DialogResult.OK)
         {
             dsDictionary.AcceptChanges();
             if (frm.OrderStatus == EnumOrderStatus.Cancel || frm.OrderStatus == EnumOrderStatus.Done)
             {
                 control.Empty();
             }
             else if (control.TableID != frm.TableID)
             {
                 var tabControl = control.Parent.Parent;
                 foreach (var fLayout in tabControl.Controls)
                 {
                     if (fLayout.GetType() == typeof(FlowLayoutPanel))
                     {
                         foreach (var uctControl in ((FlowLayoutPanel)fLayout).Controls)
                         {
                             if (uctControl.GetType() == typeof(UctTableMapping))
                             {
                                 var uct = (UctTableMapping)uctControl;
                                 if (uct.TableID == frm.TableID)
                                 {
                                     uct.OrderID     = frm.OrderID;
                                     uct.TableStatus = EnumTableStatus.Using;
                                 }
                             }
                         }
                     }
                 }
             }
             LoadOrderPanel();
         }
     }
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Khởi tạo UserControl TableMapping
        /// </summary>
        /// <param name="iAreaTable"></param>
        /// <returns></returns>
        private UctTableMapping CreateUctTableMapping(BusinessDataSet.AreaTableMappingRow iAreaTable)
        {
            EnumTableStatus tableStatus = (EnumTableStatus)iAreaTable.TableStatus;

            UctTableMapping tableMapping = new UctTableMapping(iAreaTable.TableID, iAreaTable.SortOrder, tableStatus);

            tableMapping.Today = Today;
            if (tableStatus == EnumTableStatus.Booking)
            {
                tableMapping.BookingID = iAreaTable.BookingID;
                tableMapping.FromTime  = iAreaTable.FromTime;
            }
            else if (tableStatus == EnumTableStatus.Using)
            {
                tableMapping.OrderID   = iAreaTable.OrderID;
                tableMapping.OrderDate = iAreaTable.OrderDate;
            }
            return(tableMapping);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Load danh sách khu vực
        /// </summary>
        private void LoadArea()
        {
            Area_All_Status.Clear();
            Area_All_Status_Empty.Clear();
            Area_All_Status.Add(Key_All, 0);
            Area_All_Status_Empty.Add(Key_All, 0);

            ShareDictionary.LoadArea(true);
            dsDictionary.Area.Clear();
            dsDictionary.Area.Merge(ShareDictionary.DsDictionary.Area);
            tabAreaTableMapping.Tabs.Clear();

            // Bắt đầu sửa giao diện
            tabAreaTableMapping.BeginUpdate();
            tabAreaTableMapping.UseMnemonics = DefaultableBoolean.True;
            // Danh sách Tab
            UltraTabsCollection tabs = tabAreaTableMapping.Tabs;

            if (dsDictionary.Area.Rows.Count == 0)
            {
                lblArea_Detail_Title.Text = String.Empty;
                lblArea_Detail.Text       = String.Empty;
            }
            foreach (DictionaryDataSet.AreaRow iArea in dsDictionary.Area.Rows)
            {
                // Tăng tổng toàn cửa hàng
                Area_All_Status[Key_All] += iArea.NumberOfTable;
                // Tổng số bàn của khu vực
                Area_All_Status.Add(iArea.AreaID.ToString(), iArea.NumberOfTable);
                Area_All_Status_Empty.Add(iArea.AreaID.ToString(), 0);

                // Khởi tạo Tab
                UltraTab ultraTab;
                ultraTab = tabs.Add(iArea.AreaID.ToString(), iArea.AreaName + " (" + iArea.NumberOfTable.ToString() + ")");

                BusinessDataSet dsTable = new BusinessDataSet();
                dsTable.AreaTableMapping.Merge(_oblArea.GetTableMappingByAreaID(iArea.AreaID, dteDateAreaTableMapping.DateTime));
                FlowLayoutPanel flowLayout = new FlowLayoutPanel();
                flowLayout.Padding    = new Padding(10);
                flowLayout.Dock       = DockStyle.Fill;
                flowLayout.AutoScroll = true;
                if (dsTable.AreaTableMapping.Rows.Count > 0)
                {
                    foreach (BusinessDataSet.AreaTableMappingRow iAreaTable in dsTable.AreaTableMapping.Rows)
                    {
                        EnumTableStatus tableStatus = (EnumTableStatus)iAreaTable.TableStatus;
                        if (tableStatus == EnumTableStatus.Empty)
                        {
                            Area_All_Status_Empty[iArea.AreaID.ToString()] += 1;
                            Area_All_Status_Empty[Key_All] += 1;
                        }
                        UctTableMapping tableMapping = CreateUctTableMapping(iAreaTable);
                        tableMapping.Click          += Table_Click;
                        tableMapping.DoubleClick    += Table_DoubleClick;
                        tableMapping.LoadAreaStatus += ChangeAreaStatus;
                        flowLayout.Controls.Add(tableMapping);
                    }
                }
                ultraTab.TabPage.Controls.Add(flowLayout);
                ChangeAreaStatus();
            }
            tabAreaTableMapping.EndUpdate();
        }