Exemplo n.º 1
0
        private void CloneNowMenuBased(string fromCycle, string menuCodes, string toCycle)
        {
            this.InvokeEx(f => f.lblStatus.Visible = true);
            this.InvokeEx(f => f.lblStatus.Text    = "In Progress, please wait!");
            this.InvokeEx(f => f.btnSubmit.Enabled = false);

            var newClonedMenus = _menuManagement.CloneMenuCodesToNewCycle(fromCycle, menuCodes, toCycle);

            ChiliProcessor chili = new ChiliProcessor();

            foreach (var key in newClonedMenus.Keys)
            {
                var newMenuID = key;
                var oldMenuId = newClonedMenus[key];

                var newMenu = _menuManagement.GetMenuById(newMenuID);

                var menuCode = "MNU" + Helper.Get8Digits();
                menuCode = MenuProcessor.GenerateMenuCode(Convert.ToInt32(newMenu.MenuTypeId), menuCode);

                var newMenuCodeWeek = menuCode;

                //only food guide will not have _1

                if (newMenu.MenuTypeId != 5)
                {
                    newMenuCodeWeek += "_1";
                }

                _menuManagement.UpdateMenuCode(newMenuID, newMenuCodeWeek);

                var newDOc = chili.CloneChiliDocument(oldMenuId);

                var oldMenuTemplate = _menuManagement.GetMenuTemplate(oldMenuId);
                _menuManagement.UpdateMenuTemplate(newMenuID, oldMenuTemplate.TemplateID, newDOc);


                //apply cycle menucode chili variable in chii doc
                _menuProcessor.RebuildFlightNumberLotNumberChiliVariableForMenu(newMenuID);
            }

            this.InvokeEx(f => f.lblStatus.Visible = true);
            this.InvokeEx(f => f.lblStatus.Text    = "Menu cloning has been completed successfully!");
            this.InvokeEx(f => f.btnSubmit.Enabled = true);

            MessageBox.Show("Menu cloning has been completed successfully!");
        }
Exemplo n.º 2
0
        /// <summary>
        /// Generate the order PDF - Upper class chili doc is copied and then PDF generation is done on copy
        /// </summary>
        private void GenerateOrderPDF(int menuTypeSelectedIndex)
        {
            try
            {
                MessageBox.Show("Order PDF Generation is in progress, you will be notified once the PDF generation is complete!");

                this.InvokeEx(f => f.lblStatus.Visible           = true);
                this.InvokeEx(f => f.btnGenerateOrderPDF.Enabled = false);

                var order = txtBoxOrderId.Text.Trim();

                long orderId = Convert.ToInt64(order);

                OrderManagement _orderManagement = new OrderManagement();
                MenuProcessor   _menuProcessor   = new MenuProcessor();

                var liveOrderId = _orderManagement.GetLiveOrderIdFromOrderId(orderId);
                var cycleId     = _orderManagement.GetCycleIdOfLiveOrder(liveOrderId);


                //FOOD GUIDE
                if (menuTypeSelectedIndex == 1)
                {
                    _menuProcessor.GeneratePdfForOrder(cycleId, 1, 5, orderId);
                }
                //all PE class

                if (menuTypeSelectedIndex == 4)
                {
                    _menuProcessor.GeneratePdfForOrder(cycleId, 2, orderId);
                }
                //all Eco class
                if (menuTypeSelectedIndex == 5)
                {
                    _menuProcessor.GeneratePdfForOrder(cycleId, 3, orderId);
                }

                //BRK
                if (menuTypeSelectedIndex == 2)
                {
                    _menuProcessor.GeneratePdfForOrder(cycleId, 1, 3, orderId);
                }


                //MAIN MENU
                if (menuTypeSelectedIndex == 3)
                {
                    List <long> UCMainMenuList   = new List <long>();
                    var         liveOrderDetails = _orderManagement.GetOrderDetailsbyOrderId(orderId);

                    foreach (var ordeDetails in liveOrderDetails)
                    {
                        if (ordeDetails.MenuType == "Main Menu" && ordeDetails.ClassName == "Upper")
                        {
                            if (!UCMainMenuList.Contains(ordeDetails.MenuId))
                            {
                                UCMainMenuList.Add(ordeDetails.MenuId);
                            }
                        }
                    }

                    ChiliProcessor chili = new ChiliProcessor();

                    foreach (var menuId in UCMainMenuList)
                    {
                        _menuProcessor.RebuildFlightNumberLotNumberChiliVariableForMenu(menuId);

                        var newDOc = chili.CloneChiliDocument(menuId);

                        chili.UpdateChiliDocumentVariablesallowServerRendering(1, menuId, newDOc);

                        _menuProcessor.GeneratePdfForMenu(cycleId, menuId, orderId, newDOc);
                    }
                }

                if (menuTypeSelectedIndex == 0)
                {
                    //FOOD GUIDE
                    _menuProcessor.GeneratePdfForOrder(cycleId, 1, 5, orderId);

                    //all PE class
                    _menuProcessor.GeneratePdfForOrder(cycleId, 2, orderId);

                    //all Eco class
                    _menuProcessor.GeneratePdfForOrder(cycleId, 3, orderId);

                    //BRK
                    _menuProcessor.GeneratePdfForOrder(cycleId, 1, 3, orderId);



                    //MAIN MENU
                    List <long> UCMainMenuList   = new List <long>();
                    var         liveOrderDetails = _orderManagement.GetOrderDetailsbyOrderId(orderId);

                    foreach (var ordeDetails in liveOrderDetails)
                    {
                        if (ordeDetails.MenuType == "Main Menu" && ordeDetails.ClassName == "Upper")
                        {
                            if (!UCMainMenuList.Contains(ordeDetails.MenuId))
                            {
                                UCMainMenuList.Add(ordeDetails.MenuId);
                            }
                        }
                    }

                    ChiliProcessor chili = new ChiliProcessor();

                    foreach (var menuId in UCMainMenuList)
                    {
                        _menuProcessor.RebuildFlightNumberLotNumberChiliVariableForMenu(menuId);

                        var newDOc = chili.CloneChiliDocument(menuId);

                        chili.UpdateChiliDocumentVariablesallowServerRendering(1, menuId, newDOc);

                        _menuProcessor.GeneratePdfForMenu(cycleId, menuId, orderId, newDOc);
                    }
                }

                MessageBox.Show("OrderPDF Generation completed successfully!");
                this.InvokeEx(f => f.lblStatus.Text = "OrderPDF Generation completed successfully!");

                this.InvokeEx(f => f.btnGenerateOrderPDF.Enabled = true);
                this.InvokeEx(f => f.btnView.Visible             = true);
                this.InvokeEx(f => f.btnView.Text = "View PDFs");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Order PDF Generation falied, please contact development team!");
                this.InvokeEx(f => f.lblStatus.Text = "Order PDF generation Failed!");

                this.InvokeEx(f => f.btnGenerateOrderPDF.Enabled = true);
            }
        }
Exemplo n.º 3
0
 public AddMenu(MenuService menuService, MenuProcessor menuProcessor)
     : base(menuProcessor, true, menuService)
 {
 }
Exemplo n.º 4
0
 public EditMenu(MenuService menuService, MenuProcessor menuProcessor)
     : base(menuProcessor, false, menuService)
 {
 }