public RecipeDetailView(RecipeEntryModel recipeEntry)
        {
            InitializeComponent();
            var pageservice = new PageService();

            BindingContext = new RecipeDetailViewModel(recipeEntry, pageservice);
        }
Ejemplo n.º 2
0
        public ActionResult RecipePrint(int recipeId)
        {
            var recipe = this.RecipeService.GetRecipeById(recipeId);

            if (recipe == null)
            {
                return(this.Issue404());
            }

            var recipeViewModel = Mapper.Map(recipe, new RecipeViewModel());

            recipeViewModel.CommentWrapperViewModel = new CommentWrapperViewModel {
                CommentViewModels = new List <CommentViewModel>()
            };

            // Get Additional Data
            var user = this.UserService.GetUserById(recipe.CreatedBy);

            var recipeDetailViewModel = new RecipeDetailViewModel
            {
                RecipeViewModel = recipeViewModel,
                UserSummary     = Mapper.Map(user, new UserSummary()),
                TastingNotes    = new List <TastingNote>()
            };

            return(this.View(recipeDetailViewModel));
        }
        public RecipeDetailViewModel Detail(int id)
        {
            bool isFriend = User.IsInRole("Friend");
            RecipeDetailViewModel recipe = _recipeService.LoadRecipe(id, true);

            return(recipe);
        }
Ejemplo n.º 4
0
        public RecipeDetailViewModel GetRecipeByRecipeId(int recipeId)
        {
            RecipeDetailViewModel recipeDetail = new RecipeDetailViewModel();
            Ingredient            ingredient   = new Ingredient();

            string sql = "SELECT * FROM Recipes " +
                         "INNER JOIN RecipesIngredients ON Recipes.recipe_id = RecipesIngredients.recipe_id " +
                         "INNER JOIN Ingredients ON RecipesIngredients.ingredient_id = Ingredients.ingredient_id " +
                         "WHERE Recipes.recipe_id = @recipeId;";

            using (SqlConnection conn = new SqlConnection(_connectionString))
            {
                conn.Open();

                SqlCommand cmd = new SqlCommand(sql, conn);
                cmd.Parameters.AddWithValue("@recipeId", recipeId);

                SqlDataReader reader = cmd.ExecuteReader();

                while (reader.Read())
                {
                    recipeDetail.Recipe = GetRecipeFromReader(reader);
                    recipeDetail.Ingredients.Add(ingredient = GetIngredientFromReader(reader));
                    recipeDetail.Quantities.Add(Convert.ToString(reader["quantity"]));
                }
            }

            return(recipeDetail);
        }
Ejemplo n.º 5
0
        // GET: Selected Recipe's Detail
        public ActionResult Detail(int RecipeId)
        {
            var selectedRecipe = _context.Recipe.Include(u => u.User).SingleOrDefault(r => r.ID == RecipeId);
            var ingredients    = selectedRecipe.Ingredients.Split('\n').Where(i => !String.IsNullOrEmpty(i)).ToList();

            var shoppingList         = new List <ShoppingList>();
            var ingredientsViewModel = new List <IngredientViewModel>();

            if (User.Identity.IsAuthenticated)
            {
                var userObj = _context.Users.FirstOrDefault(u => u.UserName == User.Identity.Name);

                shoppingList = _context.ShoppingList.Where(s => s.UserID == userObj.Id).ToList();
            }

            foreach (var ingredient in ingredients)
            {
                var vm = new IngredientViewModel();
                vm.Name             = ingredient;
                vm.IsInShoppingList = shoppingList.Any(x => x.ItemName.ToLowerInvariant() == ingredient.ToLowerInvariant());

                ingredientsViewModel.Add(vm);
            }

            var viewModel = new RecipeDetailViewModel()
            {
                Recipe      = selectedRecipe,
                Ingredients = ingredientsViewModel
            };

            return(View(viewModel));
        }
Ejemplo n.º 6
0
        public RecipeDetailViewModel LoadRecipe(int id, bool isFriend)
        {
            RecipeDetailViewModel model = null;

            IRecipeDetailData recipe = _recipeRepository.LoadRecipeDetail(id, true, isFriend);

            if (recipe != null)
            {
                model = new RecipeDetailViewModel()
                {
                    Id              = recipe.Id,
                    Name            = recipe.Name,
                    Description     = recipe.Description,
                    Content         = recipe.Content,
                    PublishDate     = recipe.PublishDate,
                    TeaserImageUrl  = String.IsNullOrEmpty(recipe.TeaserImageUrl) ? "default_teaser_image.png" : recipe.TeaserImageUrl,
                    IngredientCount = recipe.IngredientCount,
                    Measurement     = new MeasurementViewModel()
                    {
                        Id = recipe.Measurement.Id, Name = recipe.Measurement.Name
                    },
                    PreparationTime = recipe.PreparationTime,
                    WaitingTime     = recipe.WaitingTime
                };

                if (model.Id != 0)
                {
                    List <IIngredientListData> ingredientListDatas = _ingredientListRepository.LoadIngredientListFromRecipe(model.Id);
                    foreach (IIngredientListData ingredientListData in ingredientListDatas)
                    {
                        model.Ingredients.Add(new IngredientsViewModel()
                        {
                            Amount      = ingredientListData.Amount,
                            Ingredient  = ingredientListData.IngredientName,
                            Measurement = ingredientListData.MeasurementName
                        });
                    }
                }

                if (model.Id != 0)
                {
                    List <IRecipeContent> contentItems = _recipeRepository.LoadRecipeContents(model.Id);
                    if (contentItems != null)
                    {
                        foreach (IRecipeContent contentItem in contentItems)
                        {
                            model.ContentItems.Add(new LudwigRecipe.Service.Models.Recipe.RecipeContent()
                            {
                                Id          = contentItem.Id,
                                Content     = contentItem.Content,
                                ContentType = (RecipeContentType)contentItem.RecipeContentTypeId,
                                SortOrder   = contentItem.SortOrder
                            });
                        }
                    }
                }
            }
            return(model);
        }
Ejemplo n.º 7
0
        public RecipeDetailPage(string id)
        {
            InitializeComponent();
            BindingContext = _viewModel = new RecipeDetailViewModel();

            _viewModel.RecipeId = id;
            _recipeId           = id;
        }
        public async Task <IActionResult> Index()
        {
            var recipe     = new RecipeDetailViewModel();
            var authResult = await _authService.AuthorizeAsync(User, recipe, "CanManageRecipe");

            recipe.CanEditRecipe = authResult.Succeeded;
            return(View(recipe));
        }
Ejemplo n.º 9
0
 public RecipeDetailDataSource(UITableView tableView, NSString cellId, RecipeDetailViewModel viewModel,
                               UIView headerView, nfloat headerViewHeight) : base(tableView)
 {
     _cellId           = cellId;
     _viewModel        = viewModel;
     _headerView       = headerView;
     _headerViewHeight = headerViewHeight;
 }
Ejemplo n.º 10
0
        public RecipeDetailPage(RecipeDetailViewModel model)
        {
            InitializeComponent();

            BindingContext = viewModel = model;

            Init();
        }
        public IActionResult Detail(int id)
        {
            Recipe recipe = context.Recipes.Single(e => e.Id == id);

            RecipeDetailViewModel viewModel = new RecipeDetailViewModel(recipe);

            return(View(viewModel));
        }
        public IActionResult Create()
        {
            var model = new RecipeDetailViewModel
            {
                RecipeTypes = combosHelper.GetComboRecipeTypes()
            };

            return(View(model));
        }
Ejemplo n.º 13
0
        public IActionResult Details(int Id)
        {
            RecipeDetailViewModel recipeDetailViewModel = new RecipeDetailViewModel()
            {
                Recipe   = _recipeRepository.GetRecipe(Id),
                Comments = _commentRepository.GetAllComments().Where(c => c.RecipeId == Id)
            };

            return(View(recipeDetailViewModel));
        }
Ejemplo n.º 14
0
        public async Task <IActionResult> Detail(Guid id)
        {
            var recipe = await _recipeFacade.GetByIdAsync(id);

            var recipeDetailViewModel = new RecipeDetailViewModel
            {
                RecipeDetail = recipe
            };

            return(View(recipeDetailViewModel));
        }
        public ActionResult ModifyRecipe(int recipeId)
        {
            RecipeDetailViewModel recipe = _dal.GetRecipeByRecipeId(recipeId);

            if (IsAuthenticated)
            {
                _nextView = "ModifyRecipe";
            }

            return(GetAuthenticatedView(_nextView, recipe));
        }
Ejemplo n.º 16
0
        protected override async void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            var id = (int)e.Parameter;

            this.viewModel   = new RecipeDetailViewModel();
            this.DataContext = this.viewModel;

            await this.viewModel.LoadRecipeDetail(id);
        }
        public async Task <IActionResult> OnGetAsync(int id)
        {
            Recipe = await _service.GetRecipeDetail(id);

            if (Recipe is null)
            {
                // If id is not for a valid Recipe, generate a 404 error page
                // TODO: Add status code pages middleware to show friendly 404 page
                return(NotFound());
            }
            return(Page());
        }
Ejemplo n.º 18
0
        public RecipeDetail(Guid recipeId)
        {
            InitializeComponent();

            var viewModel = new RecipeDetailViewModel(recipeId);

            _recipeId = viewModel.Recipe.Id;

            BtnShowPlanDate.Command = viewModel.ShowPlanDate;

            BindingContext = viewModel;
        }
Ejemplo n.º 19
0
        public RecipeDetailPage()
        {
            InitializeComponent();

            var recipe = new Recipe
            {
                Text  = "Recipe ONE",
                Title = "This is the first recipe"
            };

            viewModel      = new RecipeDetailViewModel(recipe);
            BindingContext = viewModel;
        }
Ejemplo n.º 20
0
        public RecipeDetailPage()
        {
            InitializeComponent();

            var item = new Recipe
            {
                // TODO: Is it necessary to set anything here?
                Title = "Is this used???",
            };

            _viewModel     = new RecipeDetailViewModel(item);
            BindingContext = _viewModel;
        }
        public ActionResult GetRecipe(int recipeId)
        {
            RecipeDetailViewModel recipe = new RecipeDetailViewModel();

            if (IsAuthenticated)
            {
                _nextView = "RecipeDetail";
                recipe    = _dal.GetRecipeByRecipeId(recipeId);
                recipe.Recipe.FoodImageBase64 = _dal.GetImageByRecipeId(recipeId);
            }

            return(GetAuthenticatedView(_nextView, recipe));
        }
Ejemplo n.º 22
0
        public EditRecipePage()
        {
            InitializeComponent();

            var recipe = new Recipe
            {
                Name        = "Item 1",
                Description = "This is an item description."
            };

            viewModel      = new RecipeDetailViewModel(recipe);
            BindingContext = viewModel;
        }
        public ActionResult DeleteRecipe(int recipeId)
        {
            RecipeDetailViewModel recipeDetail = _dal.GetRecipeByRecipeId(recipeId);

            for (int i = 0; i < recipeDetail.Ingredients.Count; i++)
            {
                _dal.DeleteRecipeIngredient(recipeDetail.Recipe.Id, recipeDetail.Ingredients[i].Id);
            }

            //_dal.DeleteRecipeFromMeal(recipeDetail.Recipe); **redundant after DeleteRecipe being updated**
            _dal.DeleteRecipe(recipeDetail.Recipe);

            return(RedirectToAction("GetRecipes"));
        }
Ejemplo n.º 24
0
        public ActionResult GetRecipeDetails(int id)
        {
            var idUser = User.Identity.GetUserId();

            ViewBag.ID_USER_SUPPLIER_INSUMO = new SelectList(db.USER_SUPPLIER_INSUMO.Where(x => x.ID_USER == idUser && x.ACTIVE == true).ToList(), "ID_USER_SUPPLIER_INSUMO", "NAME");
            ViewBag.ID_PORTIONED_BY         = new SelectList(db.MEDIDAs, "ID_MEDIDA", "NOMBRE");


            RecipeDetailViewModel rcd = new RecipeDetailViewModel
            {
                ID_RECIPE = id,
                details   = db.RECIPE_DETAIL.Where(x => x.ID_RECIPE == id && x.ACTIVE == true)
            };

            return(PartialView("_recipeDetails", rcd));
        }
Ejemplo n.º 25
0
        public EditRecipePage(int id)
        {
            InitializeComponent();
            RecipeDetailViewModel vm = new RecipeDetailViewModel(id);
            var _item = vm.Recipe;

            Recipe = _item;
            foreach (string x in Recipe.Ingredients)
            {
                if (!string.IsNullOrWhiteSpace(x))
                {
                    IngredientsText += x + "\n";
                }
            }
            BindingContext = this;
            FilePath       = Recipe.ImageURL;
        }
        public async Task <IActionResult> Create(RecipeDetailViewModel model)
        {
            if (ModelState.IsValid)
            {
                var recipeDetail = new RecipeDetail
                {
                    Name        = model.Name,
                    Instruction = model.Instruction,
                    Ingredients = model.Ingredients,
                    RecipeType  = await dataContext.RecipeTypes.FirstOrDefaultAsync(m => m.Id == model.RecipeTypeId),
                    ImageUrl    = await imageHelper.UploadImageAsync(model.ImageFile, model.Name, "RecipeDetail")
                };
                dataContext.RecipeDetails.Add(recipeDetail);
                await dataContext.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(model));
        }
Ejemplo n.º 27
0
        public HttpResponseMessage UpdateRecipeProduct(RecipeDetailViewModel model)
        {
            var entity = context.Recipe.Find(model.Id);

            if (entity == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound));
            }
            entity.Name        = model.Name;
            entity.Description = model.Description;
            context.ProductRecipe.RemoveRange(entity.Products);
            entity.Products = model.Products.Where(y => y.Value > 0).Select(x => new ProductRecipe()
            {
                ProductId = x.ProductId,
                Value     = x.Value,
                RecipeId  = model.Id
            }).ToList();
            context.SaveChanges();
            return(Request.CreateResponse(HttpStatusCode.OK));
        }
Ejemplo n.º 28
0
        public HttpResponseMessage Create(RecipeDetailViewModel model)
        {
            var entity = new Recipe();

            entity.Name        = model.Name;
            entity.Description = model.Description;
            foreach (var product in model.Products)
            {
                entity.Products.Add(new ProductRecipe {
                    ProductId = product.ProductId, Value = product.Value
                });
            }
            entity = context.Recipe.Add(entity);
            context.SaveChanges();
            var recipe = new RecipeViewModel();

            recipe.Name        = entity.Name;
            recipe.Id          = entity.RecipeId;
            recipe.Description = entity.Description;
            return(Request.CreateResponse(HttpStatusCode.Created, recipe));
        }
Ejemplo n.º 29
0
        public ActionResult Detail(int id)
        {
            var model  = new RecipeDetailViewModel();
            var recipe = unitOfWork.RecipeRep.Get(id);

            if (recipe != null)
            {
                model.Name        = recipe.Name;
                model.Description = recipe.Description;
                model.Components  = recipe.Products.Select(x =>
                                                           new RecipeComponentViewModel()
                {
                    Name   = x.Product.Name,
                    Unit   = x.Product.Unit.Symbol,
                    Amount = x.Value.ToString()
                }).ToList();
                model.Locations = recipe.Locations.Select(x => x.Name).ToList();
                return(View(model));
            }
            return(RedirectToAction("Index"));
        }
Ejemplo n.º 30
0
        public HttpResponseMessage GetRecipe(int id)
        {
            var recipe = context.Recipe.Find(id);

            if (recipe == null)
            {
                return(Request.CreateResponse(HttpStatusCode.NotFound, "Рецептов нет"));
            }
            var model = new RecipeDetailViewModel();

            model.Id          = recipe.RecipeId;
            model.Name        = recipe.Name;
            model.Description = recipe.Description;
            model.Product     = recipe.Products.Select(x => new ProductRecipeViewModel
            {
                ProductRecipeId = x.ProductRecipeId,
                Value           = (double)x.Value,
                ProductName     = x.Product.Name
            }).ToList();

            return(Request.CreateResponse(HttpStatusCode.OK, model));
        }