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); }
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); } }