示例#1
0
        public bool AddMenuItem(long menuId, string baseItemCode)
        {
            var item = new tMenuItem();

            item.BaseItemCode = baseItemCode;
            item.MenuID       = menuId;
            //item.Sequence = sequence;

            _context.tMenuItem.Add(item);
            _context.SaveChanges();

            return(true);
        }
示例#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);
            }
        }