public void AddPdfGenerationTaskForMenuTemplate(tMenuTemplates menuTemplate, string chiliDocId) { //DO NOT DO PDF GENERATION FOR LANGUAGE MENU AS THEY DO NOT WORK WITH CHILI var menu = _menuManagement.GetMenuById(menuTemplate.MenuID); //if (menu.LanguageId == 1) { bool overwriteExisting = true; var efTask = (from t in _context.tPDFGenerationTasks where t.PDFGenerationJobID == 1 && t.MenuID == menuTemplate.MenuID && t.TemplateID == menuTemplate.TemplateID select t).FirstOrDefault(); if (efTask == null || overwriteExisting) { if (overwriteExisting && efTask != null) { _context.tPDFGenerationTasks.Remove(efTask); } efTask = new tPDFGenerationTasks { PDFGenerationJobID = 1, MenuID = menuTemplate.MenuID, TemplateID = menuTemplate.TemplateID, Status = "Ready", ChiliDocumentID = chiliDocId, ChiliError = null, ChiliPDFURL = null, ChiliTaskID = null }; _context.tPDFGenerationTasks.Add(efTask); _context.SaveChanges(); } } }
public bool CreateMenuTemplate(long menuId, int templateId) { var menutemplate = _context.tMenuTemplates.Where(mt => mt.MenuID == menuId).FirstOrDefault(); if (menutemplate == null) { menutemplate = new tMenuTemplates(); menutemplate.MenuID = menuId; menutemplate.TemplateID = templateId; _context.tMenuTemplates.Add(menutemplate); _context.SaveChanges(); } return(true); }
public bool UpdateMenuTemplate(long menuId, int templateId, string chilidoc) { var menutemplate = _context.tMenuTemplates.Where(mt => mt.MenuID == menuId).FirstOrDefault(); if (menutemplate != null) { menutemplate.ChiliDocumentID = chilidoc; menutemplate.TemplateID = templateId; _context.SaveChanges(); } else { menutemplate = new tMenuTemplates(); menutemplate.MenuID = menuId; menutemplate.TemplateID = templateId; menutemplate.ChiliDocumentID = chilidoc; _context.tMenuTemplates.Add(menutemplate); _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); } }
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); } }