public void UpdateMenuHistory(long menuId, int userId, string action) { tMenuHistory menuHistory = new tMenuHistory(); menuHistory.ActionByUserID = userId; menuHistory.ActionTaken = action; menuHistory.ModifiedAt = System.DateTime.Now; menuHistory.MenuID = menuId; _context.tMenuHistory.Add(menuHistory); _context.SaveChanges(); }
public bool UpdateStatus(MenuData menu, int UserId) { try { var statusUpdate = (from m in _context.tMenu where m.ID == menu.Id select m).FirstOrDefault(); if (statusUpdate != null) { //get current status, if status is same then do not update the status if (statusUpdate.CurrentApprovalStatusID == menu.ApprovalStatusId) { return(true); } statusUpdate.CurrentApprovalStatusID = menu.ApprovalStatusId; _context.SaveChanges(); var status = (from s in _context.tApprovalStatuses where s.ApprovalStatusID == menu.ApprovalStatusId select s).FirstOrDefault(); var menuHistory = new tMenuHistory(); menuHistory.ActionByUserID = UserId; menuHistory.MenuID = menu.Id; menuHistory.ModifiedAt = DateTime.Now; menuHistory.ActionTaken = "Status Changed To: " + status.Status; _context.tMenuHistory.Add(menuHistory); _context.SaveChanges(); return(true); } else { return(false); } } catch (Exception e) { //write to Elma ErrorSignal.FromCurrentContext().Raise(e); return(false); } }
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); } }