public MenuUpdater(IKPCContext context, Menu menu) { this.context = context; this.menu = menu; this.addQueue = new List<Recipe>(); this.removeQueue = new List<Recipe>(); this.moveQueue = new List<MenuMover>(); }
public Menu(Menu menu) : this(menu.Id, menu.Title) { if (menu.Recipes != null) { this.Recipes = new RecipeBrief[menu.Recipes.Length]; menu.Recipes.CopyTo(this.Recipes, 0); } }
public MenuDeleter Delete(Menu menu) { if (!menu.Id.HasValue) { throw new MenuIdRequiredException(); } this.menusToDelete.Add(menu); return this; }
public MenuLoader Load(Menu menu) { if (this.loadAll) { throw new FluentExpressionException("To specify individual menus to load, remove the LoadAll clause from your expression."); } this.menusToLoad.Add(menu); return this; }
public Menu(Menu menu) { Id = menu.Id; Title = menu.Title; Recipes = null; if (menu.Recipes != null) { Recipes = new RecipeBrief[menu.Recipes.Length]; menu.Recipes.CopyTo(Recipes, 0); } }
public Menu(Menu menu) { id = menu.Id; title = menu.Title; recipes = null; if (menu.Recipes == null) { return; } this.Recipes = new RecipeBrief[menu.Recipes.Length]; menu.Recipes.CopyTo(this.Recipes, 0); }
public MenuDeleter(IKPCContext context, Menu menu) { this.context = context; menusToDelete = new List<Menu>() {menu}; }
public MenuResult CreateMenu(Menu menu, params Guid[] recipeIds) { throw new NotImplementedException(); }
/// <summary> /// Created a new menu owned by the current user. /// </summary> /// <param name="menu">A menu to create.</param> /// <param name="recipeIds">Zero or more recipes to add to the newly created menu.</param> /// <returns>A result indicating the new menu ID.</returns> public virtual MenuResult CreateMenu(Menu menu, params Guid[] recipeIds) { return this.Adapter.CreateMenu(this.Identity, menu, recipeIds); }
public static Menu ToMenu(Menus dtoMenu) { var resultMenu = new Menu(dtoMenu.MenuId, dtoMenu.Title); return resultMenu; }
public MenuResult Commit() { var newMenu = new Menu(null, title); return context.CreateMenu(newMenu, recipes.Select(r => r.Id).ToArray()); }
public MenuUpdater Update(Menu menu) { return new MenuUpdater(context, menu); }
public MenuLoader Load(Menu menu) { return new MenuLoader(context, menu); }
public MenuDeleter Delete(Menu menu) { return new MenuDeleter(context, menu); }
public MoveAction To(Menu menu) { mover.TargetMenu = menu; return this; }
public MenuLoader(IKPCContext context, Menu menu) { this.context = context; menusToLoad = new List<Menu>() {menu}; }
public void MoveMenuItem(AuthIdentity identity, Guid recipeId, Menu fromMenu, Menu toMenu) { using (var session = GetSession()) { using (var transaction = session.BeginTransaction()) { if (!fromMenu.Id.HasValue || !toMenu.Id.HasValue) throw new MenuIdRequiredException(); var dbFavorite = session.QueryOver<Favorites>() .Where(p => p.Menu.MenuId == fromMenu.Id.Value) .Where(p => p.Recipe.RecipeId == recipeId) .SingleOrDefault(); if (dbFavorite == null) throw new RecipeNotFoundException(); var dbToMenu = session.QueryOver<Models.Menus>() .Where(p => p.MenuId == toMenu.Id.Value) .SingleOrDefault(); if (dbToMenu == null) throw new MenuNotFoundException(); dbFavorite.Menu = dbToMenu; session.Update(dbFavorite); transaction.Commit(); } } }
public MenuResult CreateMenu(AuthIdentity identity, Menu menu, params Guid[] recipeIds) { using (var session = GetSession()) { menu.Title = menu.Title.Trim(); var ret = new MenuResult(); using (var transaction = session.BeginTransaction()) { Models.Menus dbMenu; var dupes = session.QueryOver<Models.Menus>() .Where(p => p.UserId == identity.UserId) .Where(p => p.Title == menu.Title) .ToRowCountQuery() .RowCount(); if (dupes > 0) { throw new MenuAlreadyExistsException(); } session.Save(dbMenu = new Models.Menus { UserId = identity.UserId, Title = menu.Title, CreatedDate = DateTime.Now, }); foreach (var rid in recipeIds.NeverNull()) { var fav = new Favorites { UserId = identity.UserId, Recipe = new Models.Recipes() {RecipeId = rid}, Menu = dbMenu }; session.Save(fav); } transaction.Commit(); ret.MenuCreated = true; ret.NewMenuId = dbMenu.MenuId; } return ret; } }
/// <summary> /// Created a new menu owned by the current user. /// </summary> /// <param name="menu">A menu to create.</param> /// <param name="recipeIds">Zero or more recipes to add to the newly created menu.</param> /// <returns>A result indicating the new menu ID.</returns> public MenuResult CreateMenu(Menu menu, params Guid[] recipeIds) { menu.Title = menu.Title.Trim(); var ret = new MenuResult(); Menus dbMenu; var dupes = store.Menus .Where(p => p.UserId == Identity.UserId) .Any(p => p.Title == menu.Title); if (dupes) { throw new MenuAlreadyExistsException(); } store.Menus.Add(dbMenu = new Data.DTO.Menus { MenuId = Guid.NewGuid(), UserId = Identity.UserId, Title = menu.Title, CreatedDate = DateTime.Now, }); foreach (var rid in recipeIds.NeverNull()) { var fav = new Favorites { FavoriteId = Guid.NewGuid(), UserId = Identity.UserId, RecipeId = rid, MenuId = dbMenu.MenuId }; store.Favorites.Add(fav); } ret.IsMenuCreated = true; ret.NewMenuId = dbMenu.MenuId; return ret; }
/// <summary> /// Commits this instance to the context. /// </summary> public MenuResult Commit() { var newMenu = new Menu(null, this.title); var result = this.context.CreateMenu(newMenu, this.recipes.Select(r => r.Id).ToArray()); return result; }
public static Menu FromId(Guid menuId) { var result = new Menu(menuId, null); return result; }