public void AddRouteForMenu(long menuId, long routeId, string flightNo)
        {
            var routeForMenu = (from rm in _context.tMenuForRoute where rm.MenuID == menuId && rm.RouteID == routeId select rm).FirstOrDefault();

            if (routeForMenu == null)
            {
                routeForMenu = new tMenuForRoute();

                routeForMenu.MenuID  = menuId;
                routeForMenu.RouteID = routeId;
                routeForMenu.Flights = flightNo;
                _context.tMenuForRoute.Add(routeForMenu);
                _context.SaveChanges();
            }
            else
            {
                routeForMenu.Flights = routeForMenu.Flights + "," + flightNo;
            }
        }
Exemple #2
0
        public long CreateReorderMenuFromMenuid(long menuId, int userid)
        {
            var originalMenu = _menuManagement.GetMenuById(menuId);
            var currCycleId  = (from c in _context.tCycle where c.Active == true select c.CycleID).FirstOrDefault();

            if (originalMenu != null)
            {
                //getdata
                var getOldMenuData = (from om in _context.tMenu where om.ID == menuId select om).FirstOrDefault();

                long newMenuId = 0;
                if (getOldMenuData != null)
                {
                    //create new menu
                    var ifDuplicate = '_';
                    var newmenu     = new tMenu();
                    newmenu.MenuName = getOldMenuData.MenuName;
                    if (getOldMenuData.MenuCode.Contains(ifDuplicate))
                    {
                        string oldMenucode = getOldMenuData.MenuCode;
                        string str1        = oldMenucode.Substring(0, 8);
                        int    str2        = Convert.ToInt16(oldMenucode.Substring(8));
                        //check if there is a higher version of the menu already exist
                        for (var i = 1; i < 50; i++)
                        {
                            string str3          = Convert.ToString(str2 + i);
                            string checkmenucode = str1 + str3;
                            var    checkmenu     = _menuManagement.GetMenuIdByMenuCode(checkmenucode);
                            if (checkmenu == 0)
                            {
                                newmenu.MenuCode = checkmenucode;
                                break;
                            }
                        }
                    }
                    else
                    {
                        string oldMenucode = getOldMenuData.MenuCode;

                        string str1 = oldMenucode + "_";
                        for (var i = 1; i < 50; i++)
                        {
                            string str2          = Convert.ToString(i);
                            string checkmenucode = str1 + str2;
                            var    checkmenu     = _menuManagement.GetMenuIdByMenuCode(checkmenucode);
                            if (checkmenu == 0)
                            {
                                newmenu.MenuCode = checkmenucode;
                                break;
                            }
                        }
                    }
                    newmenu.MenuTypeID = getOldMenuData.MenuTypeID;
                    newmenu.IsDeleted  = false;
                    newmenu.CreatedAt  = DateTime.Now;
                    newmenu.CreatedBy  = userid;
                    newmenu.LanguageID = getOldMenuData.LanguageID;
                    newmenu.CycleID    = currCycleId;
                    newmenu.CurrentApprovalStatusID = 1;
                    newmenu.IsMovedToLiveOrder      = false;
                    newmenu.ReorderCount            = null;
                    _context.tMenu.Add(newmenu);
                    _context.SaveChanges();

                    newMenuId = newmenu.ID;
                }
                //get and create new Menuforroutes
                var oldMenuforRoutesData = (from mfr in _context.tMenuForRoute where mfr.MenuID == menuId select mfr).ToList();

                foreach (var mfrdata in oldMenuforRoutesData)
                {
                    var newmfr = new tMenuForRoute();
                    newmfr.MenuID  = newMenuId;
                    newmfr.RouteID = mfrdata.RouteID;
                    newmfr.Flights = mfrdata.Flights;
                    _context.tMenuForRoute.Add(newmfr);
                    _context.SaveChanges();
                }

                //get and create new MenuItem
                var oldMenuItemData = (from mi in _context.tMenuItem where mi.MenuID == menuId select mi).ToList();

                foreach (var midata in oldMenuItemData)
                {
                    var newmi = new tMenuItem();
                    newmi.MenuID       = newMenuId;
                    newmi.BaseItemCode = midata.BaseItemCode;
                    _context.tMenuItem.Add(newmi);
                    _context.SaveChanges();
                }

                //get and create new MenuTemplate
                var oldMenuTemplate = (from mt in _context.tMenuTemplates where mt.MenuID == menuId select mt).FirstOrDefault();

                var newMenuTemp = new tMenuTemplates();
                newMenuTemp.MenuID          = newMenuId;
                newMenuTemp.TemplateID      = oldMenuTemplate.TemplateID;
                newMenuTemp.ChiliDocumentID = oldMenuTemplate.ChiliDocumentID;
                _context.tMenuTemplates.Add(newMenuTemp);
                _context.SaveChanges();

                return(newMenuId);
            }
            else
            {
                return(0);
            }
        }
Exemple #3
0
        private void CloneMenus(string fromCycle, Dictionary <long, long> NewClonedMenus, tCycle cycleFrom, tCycle cycleTo, long toCycleID, List <tMenu> oldMenus)
        {
            foreach (var oldMenu in oldMenus)
            {
                if (oldMenu == null)
                {
                    continue;
                }

                //create menu
                var oldMenuId = oldMenu.ID;

                tMenu newMenu = new tMenu();

                var menuName = oldMenu.MenuName.Replace(cycleFrom.CycleShortName, cycleTo.CycleShortName);
                newMenu.MenuName = menuName;
                //TODO : assign new menu code
                //newMenu.MenuCode = oldMenu.MenuCode;
                newMenu.MenuTypeID = oldMenu.MenuTypeID;
                newMenu.IsDeleted  = oldMenu.IsDeleted;
                newMenu.CreatedAt  = System.DateTime.Now;
                newMenu.CreatedBy  = 2;
                newMenu.LanguageID = oldMenu.LanguageID;
                //assign new cycle id

                newMenu.CycleID = toCycleID;
                newMenu.CurrentApprovalStatusID = 1;


                _context.tMenu.Add(newMenu);
                _context.SaveChanges();


                var newMenuId = newMenu.ID;


                //create menu for route
                var menuForRoutes = _context.tMenuForRoute.Where(mr => mr.MenuID == oldMenuId).ToList();

                foreach (var menuForRoute in menuForRoutes)
                {
                    tMenuForRoute newMenuForRoute = new tMenuForRoute();
                    newMenuForRoute.MenuID  = newMenuId;
                    newMenuForRoute.RouteID = menuForRoute.RouteID;
                    newMenuForRoute.Flights = menuForRoute.Flights;

                    _context.tMenuForRoute.Add(newMenuForRoute);
                    _context.SaveChanges();
                }


                //write to menu history

                tMenuHistory history = new tMenuHistory();

                history.MenuID         = newMenuId;
                history.ActionTaken    = "Menu created by cloning from menu - " + oldMenu.MenuCode + "  cycle -" + fromCycle;
                history.ActionByUserID = 2;
                history.ModifiedAt     = System.DateTime.Now;

                _context.tMenuHistory.Add(history);
                _context.SaveChanges();

                //clone menu chili doc tempalte and assign

                var oldMenuTemplate = _context.tMenuTemplates.Where(t => t.MenuID == oldMenuId).FirstOrDefault();

                tMenuTemplates newMenuTemplate = new tMenuTemplates();

                newMenuTemplate.MenuID = newMenuId;

                newMenuTemplate.ChiliDocumentID = "";
                newMenuTemplate.TemplateID      = oldMenuTemplate.TemplateID;

                _context.tMenuTemplates.Add(newMenuTemplate);
                _context.SaveChanges();


                NewClonedMenus.Add(newMenuId, oldMenuId);
            }
        }