public static int GetMaximumDays(DietViewModel diet) { int maxDayMeals = diet.Meals != null && diet.Meals.Any() ? diet.Meals.Max(dm => dm.Day.ToIntArray().Count()) : 0; int maxDayIngredients = diet.Ingredients != null && diet.Ingredients.Any() ? diet.Ingredients.Max(dm => dm.Day.ToIntArray().Count()) : 0; return maxDayMeals > maxDayIngredients ? maxDayMeals : maxDayIngredients; }
public static List<ScheduleViewModel> GenerateSchedule(DietViewModel diet) { var list = new List<ScheduleViewModel>(); foreach (var ingredient in diet.Ingredients) { list.AddRange(ingredient.Day.ToIntArray().Select(day => new ScheduleViewModel { Day = day, Time = ingredient.Time, Name = ingredient.Ingredient.Name, Link = string.Format("<a href='/Ingredient/Details/{0}' title='{1}'>{2}</a>", ingredient.IngredientId, ingredient.Ingredient.Name, ingredient.Ingredient.Name.Shorten(33)) })); } foreach (var meal in diet.Meals) { list.AddRange(meal.Day.ToIntArray().Select(day => new ScheduleViewModel { Day = day, Time = meal.Time, Name = meal.Meal.Name, Link = string.Format("<a href='/Meal/Meal/{0}' title='{1}'>{2}</a>", meal.MealId, meal.Meal.Name, meal.Meal.Name.Shorten(33)) })); } return list; }
public static string CreateTimeTable(DietViewModel diet) { var days = GetMaximumDays(diet); var meals = diet.Meals; var ingredients = diet.Ingredients; var header = CreateHeader(days); var body = CreateBody(days + 1, meals, ingredients); return string.Format("<table class='timetable'><thead><tr>{0}</tr></thead><tbody>{1}{2}</tbody></table>", header, body, CreateFooter()); }
public ActionResult Create(DietViewModel viewModel, HttpPostedFileBase file) { ViewData["Categories"] = _categoryRepository.GetAll().OrderBy(category => category.Name); if (ModelState.IsValid) { if (file != null && file.ContentLength > 0) { viewModel.ImgUrl = string.Format("/Uploads/{0}", file.FileName); string filePath = Path.Combine(HttpContext.Server.MapPath("~/Uploads"), Path.GetFileName(file.FileName)); file.SaveAs(filePath); } viewModel.DateAdded = DateTime.Now; var diet = _dietRepository.Create(Mapper.Map<DietViewModel, Diet>(viewModel)); return RedirectToAction("AddMeals", new {id = diet.Id}); } return View(viewModel); }
public ActionResult AddMeals(DietViewModel viewModel) { return View(); }
public DietNotifier(DietViewModel diet, DateTime date) { _diet = diet; _date = date; }