Ejemplo n.º 1
0
 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);
     }
 }
Ejemplo n.º 3
0
        public MenuDeleter Delete(Menu menu)
        {
            if (!menu.Id.HasValue)
            {
                throw new MenuIdRequiredException();
            }

            this.menusToDelete.Add(menu);
            return this;
        }
Ejemplo n.º 4
0
        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);
             }
        }
Ejemplo n.º 6
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);
        }
Ejemplo n.º 7
0
 public MenuDeleter(IKPCContext context, Menu menu)
 {
     this.context = context;
      menusToDelete = new List<Menu>() {menu};
 }
Ejemplo n.º 8
0
 public MenuResult CreateMenu(Menu menu, params Guid[] recipeIds)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 9
0
 /// <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);
 }
Ejemplo n.º 10
0
 public static Menu ToMenu(Menus dtoMenu)
 {
     var resultMenu = new Menu(dtoMenu.MenuId, dtoMenu.Title);
     return resultMenu;
 }
Ejemplo n.º 11
0
 public MenuResult Commit()
 {
     var newMenu = new Menu(null, title);
      return context.CreateMenu(newMenu, recipes.Select(r => r.Id).ToArray());
 }
Ejemplo n.º 12
0
 public MenuUpdater Update(Menu menu)
 {
     return new MenuUpdater(context, menu);
 }
Ejemplo n.º 13
0
 public MenuLoader Load(Menu menu)
 {
     return new MenuLoader(context, menu);
 }
Ejemplo n.º 14
0
 public MenuDeleter Delete(Menu menu)
 {
     return new MenuDeleter(context, menu);
 }
Ejemplo n.º 15
0
 public MoveAction To(Menu menu)
 {
     mover.TargetMenu = menu;
      return this;
 }
Ejemplo n.º 16
0
 public MenuLoader(IKPCContext context, Menu menu)
 {
     this.context = context;
      menusToLoad = new List<Menu>() {menu};
 }
Ejemplo n.º 17
0
        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();
            }
             }
        }
Ejemplo n.º 18
0
        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;
             }
        }
Ejemplo n.º 19
0
        /// <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;
 }