public static string Code(this DailyDiet dailyDiet) { var stringBuilder = new StringBuilder(); dailyDiet.Meals.ForEach(m => stringBuilder.Append(m.Code())); return(stringBuilder.ToString()); }
public static DailyDiet CopyDailyDiet(DailyDiet dailyDiet) { var copy = new DailyDiet(); dailyDiet.Meals.ForEach(meal => copy.Meals.Add(CopyMeal(meal))); return(copy); }
public ActionResult DeleteConfirmed(int id) { DailyDiet dailydiet = ddb.DailyDiet.Find(id); ddb.DailyDiet.Remove(dailydiet); ddb.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult Edit(DailyDiet dailydiet) { if (ModelState.IsValid) { ddb.Entry(dailydiet).State = EntityState.Modified; ddb.SaveChanges(); return(RedirectToAction("Index")); } return(View(dailydiet)); }
public DietSummary SummarizeDaily(DailyDiet diet) { var dietSummary = new DietSummary(); foreach (var meal in diet.Meals) { AddMealSummary(dietSummary, meal); } return(dietSummary); }
private DailyDiet CreateRandomDailyDiet(int numberOfMeals, List <Food> foods) { var dailyDiet = new DailyDiet(); for (var j = 0; j < numberOfMeals; j++) { dailyDiet.Meals.Add(CreateRandomMeal(foods)); } return(dailyDiet); }
public ActionResult Create(DailyDiet dailydiet) { if (ModelState.IsValid) { ddb.DailyDiet.Add(dailydiet); ddb.SaveChanges(); return(RedirectToAction("Index")); } return(View(dailydiet)); }
private double EvaluateDaily(DailyDiet dailyDiet, DietSummary targetDailyDiet) { var dailySummary = _dietAnalyzer.SummarizeDaily(dailyDiet); var distance = Math.Abs(targetDailyDiet.Proteins - dailySummary.Proteins) + Math.Abs(targetDailyDiet.Fat - dailySummary.Fat) + Math.Abs(targetDailyDiet.Calories - dailySummary.Calories) + Math.Abs(targetDailyDiet.Carbohydrates - dailySummary.Carbohydrates); return(distance); //distance > 0 //? 1 / (distance) //: 1; }
public void ShouldMakeFullCopyOfDiet() { var diet = new Diet(); var dailyDiet = new DailyDiet(); var meal = new Meal(); var amount = 123; var food = new Food(); var portion = new FoodPortion(food, amount); meal.FoodPortions.Add(portion); dailyDiet.Meals.Add(meal); diet.DailyDiets.Add(dailyDiet); DietCopier.Copy(diet).ShouldBeEquivalentTo(diet); }
public async Task <ActionResult> Create(string json) { List <Dictionary <string, object> > oDict = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Dictionary <string, object> > >(json); clientes_dietas cd = new clientes_dietas(); cd.created_at = CurrentDate.getNow(); cd.updated_at = CurrentDate.getNow(); cd.programa_clientes_id = int.Parse(oDict[oDict.Count - 1]["programID"].ToString()); List <DailyDiet> dietDetails = new List <DailyDiet>(); for (int i = 0; i < oDict.Count - 1; i++) { DailyDiet dietDetail = new DailyDiet(); dietDetail.clientes_dietas_id = cd.id; dietDetail.opcion = int.Parse(oDict[i]["option"].ToString()); dietDetail.tipo_comida = (FoodTypes)int.Parse(oDict[i]["foodType"].ToString()); dietDetail.texto = oDict[i]["detail"].ToString(); dietDetail.dia = int.Parse(oDict[i]["day"].ToString()) + 1; dietDetails.Add(dietDetail); } cd.dieta_diaria = dietDetails; db.clientes_dietas.Add(cd); int s = await db.SaveChangesAsync(); if (s > 0) { return(RedirectToAction("Index")); } ViewBag.clientId = int.Parse(oDict[oDict.Count - 1]["clientId"].ToString()); ViewBag.programId = int.Parse(oDict[oDict.Count - 1]["programID"].ToString()); return(View()); }
public async Task <ActionResult> Edit(string json) { List <Dictionary <string, object> > oDict = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Dictionary <string, object> > >(json); int dietId = int.Parse(oDict[oDict.Count - 1]["dietID"].ToString()); IQueryable <clientes_dietas> cdQuery = db.clientes_dietas.Where(m => m.id == dietId).Include(m => m.dieta_diaria); clientes_dietas cd = cdQuery.FirstOrDefault(); cd.updated_at = CurrentDate.getNow(); List <DailyDiet> dietDetails = new List <DailyDiet>(); for (int i = 0; i < oDict.Count - 1; i++) { int id = int.Parse(oDict[i]["id"].ToString()); DailyDiet dd = null; if (id > 0) { dd = cd.dieta_diaria.Where(c => c.id == id).FirstOrDefault(); } if (dd != null) { dd.clientes_dietas_id = cd.id; dd.opcion = int.Parse(oDict[i]["option"].ToString()); dd.tipo_comida = (FoodTypes)int.Parse(oDict[i]["foodType"].ToString()); dd.texto = oDict[i]["detail"].ToString(); dd.dia = int.Parse(oDict[i]["day"].ToString()) + 1; dietDetails.Add(dd); } else { DailyDiet dietDetail = new DailyDiet(); dietDetail.clientes_dietas_id = cd.id; dietDetail.opcion = int.Parse(oDict[i]["option"].ToString()); dietDetail.tipo_comida = (FoodTypes)int.Parse(oDict[i]["foodType"].ToString()); dietDetail.texto = oDict[i]["detail"].ToString(); dietDetail.dia = int.Parse(oDict[i]["day"].ToString()) + 1; dietDetails.Add(dietDetail); } } cd.dieta_diaria = dietDetails; db.Entry(cd).State = EntityState.Modified; int s = await db.SaveChangesAsync(); if (s > 0) { return(RedirectToAction("Index")); } ViewBag.clientId = int.Parse(oDict[oDict.Count - 1]["clientId"].ToString()); ViewBag.programId = int.Parse(oDict[oDict.Count - 1]["programID"].ToString()); return(View()); }
// GET: ClientesDietas/Edit/5 public async Task <ActionResult> Edit(int id) { ViewBag.programId = id; clientes_dietas clientes_dietas = await db.clientes_dietas.Where(m => m.id == id).Include(m => m.programa_clientes).Include(m => m.dieta_diaria).FirstOrDefaultAsync(); ViewBag.clientId = clientes_dietas.programa_clientes.cliente_id; int createdOptions = clientes_dietas.dieta_diaria.OrderByDescending(d => d.opcion).Select(d => d.opcion).FirstOrDefault(); ViewBag.optionsCount = createdOptions; StringBuilder diets = new StringBuilder(); for (int opt = 0; opt < createdOptions; opt++) { StringBuilder dietsDiv = new StringBuilder(); var newDietOptionLabelRow = "<div class='row mar-bot-10'><label class='diet-title-sub'>Opción " + (opt + 1).ToString() + "</label></div>"; dietsDiv.Append(newDietOptionLabelRow); var dietDivRowId = "opt-" + opt.ToString(); var newDietDivRow = "<div id='" + dietDivRowId + "' class='row diet-row mar-bot-15'>"; dietsDiv.Append(newDietDivRow); StringBuilder dietOptionRow = new StringBuilder(); for (var i = 0; i < 7; i++) { var optColId = dietDivRowId + "-col-" + i.ToString(); if (i == 0) { var newDietColumn = "<div id='" + optColId + "' class='col-2'>"; dietOptionRow.Append(newDietColumn); } else { var newDietColumn = "<div id='" + optColId + "' class='col-2 mar-lef-10'>"; dietOptionRow.Append(newDietColumn); } StringBuilder currentColumn = new StringBuilder(); switch (i) { case 0: currentColumn.Append("<label class='diet-title'>Lun</label>"); break; case 1: currentColumn.Append("<label class='diet-title'>Mar</label>"); break; case 2: currentColumn.Append("<label class='diet-title'>Mie</label>"); break; case 3: currentColumn.Append("<label class='diet-title'>Jue</label>"); break; case 4: currentColumn.Append("<label class='diet-title'>Vie</label>"); break; case 5: currentColumn.Append("<label class='diet-title'>Sab</label>"); break; case 6: currentColumn.Append("<label class='diet-title'>Dom</label>"); break; default: break; } for (var j = 0; j < 5; j++) { var currentBoxId = optColId + "-row-" + j.ToString(); int dia = i + 1; int opc = opt + 1; FoodTypes tc = (FoodTypes)j; DailyDiet existingDiet = clientes_dietas.dieta_diaria.Where(c => c.dia == dia && c.tipo_comida == tc && c.opcion == opc).FirstOrDefault(); switch (j) { case 0: if (existingDiet != null) { currentColumn.Append("<div class='model daily-diet'><label>Desayuno</label><textarea id='" + currentBoxId + "'>" + existingDiet.texto + "</textarea></div>"); currentColumn.Append("<input type='hidden' id='opt-" + opt + "-col-" + i + "-row-" + j + "-id' value='" + existingDiet.id + "'/>"); } else { currentColumn.Append("<div class='model daily-diet'><label>Desayuno</label><textarea id='" + currentBoxId + "'></textarea></div>"); currentColumn.Append("<input type='hidden' id='opt-" + opt + "-col-" + i + "-row-" + j + "-id' value='0'/>"); } break; case 1: if (existingDiet != null) { currentColumn.Append("<div class='model daily-diet'><label>Media Mañana</label><textarea id='" + currentBoxId + "'>" + existingDiet.texto + "</textarea></div>"); currentColumn.Append("<input type='hidden' id='opt-" + opt + "-col-" + i + "-row-" + j + "-id' value='" + existingDiet.id + "'/>"); } else { currentColumn.Append("<div class='model daily-diet'><label>Media Mañana</label><textarea id='" + currentBoxId + "'></textarea></div>"); currentColumn.Append("<input type='hidden' id='opt-" + opt + "-col-" + i + "-row-" + j + "-id' value='0'/>"); } break; case 2: if (existingDiet != null) { currentColumn.Append("<div class='model daily-diet'><label>Almuerzo</label><textarea id='" + currentBoxId + "'>" + existingDiet.texto + "</textarea></div>"); currentColumn.Append("<input type='hidden' id='opt-" + opt + "-col-" + i + "-row-" + j + "-id' value='" + existingDiet.id + "'/>"); } else { currentColumn.Append("<div class='model daily-diet'><label>Almuerzo</label><textarea id='" + currentBoxId + "'></textarea></div>"); currentColumn.Append("<input type='hidden' id='opt-" + opt + "-col-" + i + "-row-" + j + "-id' value='0'/>"); } break; case 3: if (existingDiet != null) { currentColumn.Append("<div class='model daily-diet'><label>Media Tarde</label><textarea id='" + currentBoxId + "'>" + existingDiet.texto + "</textarea></div>"); currentColumn.Append("<input type='hidden' id='opt-" + opt + "-col-" + i + "-row-" + j + "-id' value='" + existingDiet.id + "'/>"); } else { currentColumn.Append("<div class='model daily-diet'><label>Media Tarde</label><textarea id='" + currentBoxId + "'></textarea></div>"); currentColumn.Append("<input type='hidden' id='opt-" + opt + "-col-" + i + "-row-" + j + "-id' value='0'/>"); } break; case 4: if (existingDiet != null) { currentColumn.Append("<div class='model daily-diet'><label>Cena</label><textarea id='" + currentBoxId + "'>" + existingDiet.texto + "</textarea></div>"); currentColumn.Append("<input type='hidden' id='opt-" + opt + "-col-" + i + "-row-" + j + "-id' value='" + existingDiet.id + "'/>"); } else { currentColumn.Append("<div class='model daily-diet'><label>Cena</label><textarea id='" + currentBoxId + "'></textarea></div>"); currentColumn.Append("<input type='hidden' id='opt-" + opt + "-col-" + i + "-row-" + j + "-id' value='0'/>"); } break; default: break; } } currentColumn.Append("</div>"); dietOptionRow.Append(currentColumn.ToString()); } dietOptionRow.Append("</div>"); dietsDiv.Append(dietOptionRow.ToString()); dietsDiv.Append("</div>"); diets.Append(dietsDiv.ToString()); } ViewBag.optionsHtml = diets.ToString(); return(View(clientes_dietas)); }
private static void Output(DailyDiet dailyDiet, StreamWriter file) { var recipes = dailyDiet.Meals.SelectMany(meal => meal.Receipes); recipes.ToList().ForEach(recipe => file.Write(recipe.Name.Substring(5))); }
// // GET: /DailyDiet/Edit/5 public ActionResult Edit(int id) { DailyDiet dailydiet = ddb.DailyDiet.Find(id); return(View(dailydiet)); }
// // GET: /DailyDiet/Details/5 public ViewResult Details(int id) { DailyDiet dailydiet = ddb.DailyDiet.Find(id); return(View(dailydiet)); }