public async Task <ActionResult> DeleteConfirmed(int id) { clientes_dietas clientes_dietas = await db.clientes_dietas.FindAsync(id); db.clientes_dietas.Remove(clientes_dietas); await db.SaveChangesAsync(); return(RedirectToAction("Index")); }
// GET: ClientesDietas/Details/5 public async Task <ActionResult> Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } clientes_dietas clientes_dietas = await db.clientes_dietas.FindAsync(id); if (clientes_dietas == null) { return(HttpNotFound()); } return(View(clientes_dietas)); }
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)); }
public async Task <ActionResult> Global(int id) { int daysInMonth = DateTime.DaysInMonth(CurrentDate.getNow().Year, CurrentDate.getNow().Month); DateTime today = CurrentDate.getNow(); DateTime firstDay = new DateTime(today.Year, today.Month, 1); DateTime lastDay = new DateTime(today.Year, today.Month, daysInMonth); // Info General clientes client = await db.clientes .Where(m => m.id_alt == id) .Include(m => m.nutricionistas.usuarios) .FirstOrDefaultAsync(); // Info Programa programa_clientes program = await db.programa_clientes .Where(m => m.cliente_id == client.id_alt && m.fecha_inicio <= today && m.fecha_fin >= today) .Include(m => m.programa) .Include(m => m.horario.sala.local) .OrderBy(m => m.fecha_fin) .FirstOrDefaultAsync(); ViewBag.ProgramId = program != null?program.id.ToString() : ""; ViewBag.ProgramName = program != null ? program.programa.nombre : ""; ViewBag.ProgramInitDate = program != null?program.fecha_inicio.ToShortDateString() : ""; ViewBag.ProgramEndDate = program != null?program.fecha_fin.ToShortDateString() : ""; ViewBag.ProgramSchedule = program != null?program.horario.hora.ToString() : ""; ViewBag.Gym = program != null ? program.horario.sala.local.nombre : ""; // Info Notas del cliente List <clientes_notas> notes = await db.clientes_notas.Where(n => n.idCliente == id).OrderByDescending(n => n.created_at).Take(15).ToListAsync(); ViewBag.ClientNotes = notes; //// Info Calendario. //List<pesos_medidas> clientPyM = await db.pesos_medidas.Where(m => m.clienteId == id && m.created_at >= firstDay && m.created_at <= lastDay).ToListAsync(); //List<clientes_asistencia> clientAssistance = await db.clientes_asistencia.Where(m => m.clienteId == id && m.fecha >= firstDay && m.fecha <= lastDay).ToListAsync(); //List<clientes_congelamientos> clientFreezing = await db.clientes_congelamientos.Where(m => m.clienteId == id && m.fecha_desde >= firstDay).ToListAsync(); //List<citas> clientConsults = await db.citas.Where(m => m.cliente_id == id && m.fecha >= firstDay && m.fecha <= lastDay).ToListAsync(); // Info Nutricion. ViewBag.AssignedNutritionist = client.nutricionistas.usuarios.nombres + " " + client.nutricionistas.usuarios.apellidos; if (program != null) { // Info Ficha Medica fichas_medicas medicalHistory = await db.fichas_medicas.Where(m => m.programa_id == program.id).Include(m => m.cardio).FirstOrDefaultAsync(); ViewBag.MedicalId = "No ha sido creada."; ViewBag.Cardio = "No se han ingresado datos."; if (medicalHistory != null) { int clientCurrMedicalHistoryIdCode = 10000000 + medicalHistory.id; ViewBag.MedicalId = clientCurrMedicalHistoryIdCode.ToString("FS#"); if (medicalHistory.cardio != null) { CardioInfo lastCardioResults = medicalHistory.cardio.OrderByDescending(m => m.fecha).FirstOrDefault(); if (lastCardioResults.cardiologia_aprobacion == CardioSuittable.Apto) { ViewBag.Cardio = CardioSuittable.Apto.ToString(); } else { ViewBag.Cardio = CardioSuittable.NoApto.ToString(); } } } // Info Dieta clientes_dietas clientDiet = await db.clientes_dietas.Where(m => m.programa_clientes_id == program.id).OrderByDescending(m => m.created_at).FirstOrDefaultAsync(); if (clientDiet != null) { int dietCode = 10000000 + clientDiet.id; ViewBag.DietCode = dietCode.ToString("D#"); } } // Info Ventas venta_usuarios usrSales = await db.venta_usuarios .Where(m => m.cliente_id == client.id_alt) .OrderByDescending(m => m.created_at) .FirstOrDefaultAsync(); if (usrSales != null) { usuarios usr = await db.vendedores.Where(v => v.usuario_id == usrSales.vendedor_id).Include(v => v.usuarios).Select(v => v.usuarios).FirstOrDefaultAsync(); ViewBag.Seller = usr.nombres + " " + usr.apellidos; ViewBag.LastTicket = usrSales.numero_boleta; ViewBag.LastRenewal = usrSales.fecha_inicio.ToShortDateString(); semanas_precios weeks = db.semanas_precios.Where(s => s.id == usrSales.semanas_precio_id).FirstOrDefault(); int boughtWeeks = weeks.cantidad_semanas; ViewBag.BoughtWeeks = boughtWeeks.ToString(); int usedWeeks = await GetUsedWeeks(ClientId : client.id_alt, LastSaleId : usrSales.id); ViewBag.UsedWeeks = usedWeeks; ViewBag.PendingWeeks = boughtWeeks - usedWeeks; } //ViewBag.venta_usuario = db.venta_usuarios.Where(vu => vu.cliente_id == id).FirstOrDefault(); //ViewBag.programa_cliente = db.programa_clientes.Where(pc => pc.cliente_id == id).FirstOrDefault(); //ViewBag.calPyM = clientPyM; //ViewBag.calAsist = clientAssistance; //ViewBag.calFrz = clientFreezing; //ViewBag.calCitas = clientConsults; // //ViewBag.cardioApt = cardioApt; //ViewBag.foto = Convert.ToBase64String(cliente.foto); return(View(client)); }