public ActionResult DeleteVali(MatriculaGuarderia matriculaGuarderia) { using (var dbContextTransaction = _context.Database.BeginTransaction()) { try { MatriculaGuarderia matriculaFind = /*await*/ _context.MatriculaGuarderia.Find/*Async*/ (matriculaGuarderia.IdMatricula); var desconCupo = _context.ClaseGuarderia.Where(cl => cl.IdClaseGuarderia == matriculaFind.IdClaseGuarderia); foreach (var item in desconCupo) { item.Cupo = ((int)(item.Cupo + 1)); _context.Update(item); } _context.MatriculaGuarderia.Remove(matriculaFind); dbContextTransaction.Commit(); _context.SaveChanges(); } catch { dbContextTransaction.Rollback(); //return Json(new { result = false }); } } return(Json(new { result = true })); }
public ActionResult EditVali(MatriculaGuarderia matriculaGuarderia) { if (ModelState.IsValid) { _context.SaveChanges(); return(Json(new { result = true })); } return(Json(new { result = false })); }
public async Task <IActionResult> Create([Bind("IdMatricula,IdClaseGuarderia,IdHijo")] MatriculaGuarderia matriculaGuarderia) { matriculaGuarderia.Fecha = DateTime.Now; if (ModelState.IsValid) { var validarCliente = _context.MatriculaGuarderia.Any(m => m.IdHijo.Equals(matriculaGuarderia.IdHijo)); if (validarCliente) { ModelState.AddModelError("IdHijo", "El hijo que quiere ingresar ya esta matriculado"); Thread.Sleep(3500); return(View("create")); } using (var dbContextTransaction = _context.Database.BeginTransaction()) { try { _context.Add(matriculaGuarderia); var restarCupo = from clas in _context.ClaseGuarderia where (clas.IdClaseGuarderia == matriculaGuarderia.IdClaseGuarderia) select clas; foreach (var item in restarCupo) { if (item.Cupo == 0) { ModelState.AddModelError("", errorMessage: "La clase seleccionada ya no quedan cupo disponible!"); return(View("Create")); } item.Cupo = ((int)(item.Cupo - 1)); _context.ClaseGuarderia.Update(item); } await _context.SaveChangesAsync(); dbContextTransaction.Commit(); } catch { dbContextTransaction.Rollback(); } } Thread.Sleep(1000); return(RedirectToAction(nameof(Index))); } TempData["IdClaseGuarderia"] = new SelectList(_context.ClaseGuarderia, "IdClaseGuarderia", "Estado", matriculaGuarderia.IdClaseGuarderia); ViewData["IdHijo"] = _context.Hijo .Where(h => h.IdHijo == matriculaGuarderia.IdHijo) .Select(h => new SelectListItem { Text = h.Nombre + " " + h.Apellido1, Value = h.IdHijo.ToString() }); return(View(matriculaGuarderia)); }
public ActionResult CreateVali(MatriculaGuarderia matriculaGuarderia) { matriculaGuarderia.Fecha = DateTime.Now; if (ModelState.IsValid) { var validarHijo = _context.MatriculaGuarderia.Any(m => m.IdHijo.Equals(matriculaGuarderia.IdHijo)); if (validarHijo) { //ModelState.AddModelError("IdCliente", "El cliente que quiere ingresar ya esta matriculado"); return(Json(new { result = false })); } return(Json(new { result = true })); } return(Json(new { result = false })); }
public async Task <IActionResult> Edit(int id, [Bind("IdMatricula,IdClaseGuarderia,IdHijo")] MatriculaGuarderia matriculaGuarderia) { if (id != matriculaGuarderia.IdMatricula) { return(NotFound()); } matriculaGuarderia.Fecha = DateTime.Now; if (ModelState.IsValid) { using (var dbContextTransaction = _context.Database.BeginTransaction()) { try { var cambiarCupo = _context.MatriculaGuarderia .Where(m => m.IdMatricula == matriculaGuarderia.IdMatricula && m.IdClaseGuarderia == matriculaGuarderia.IdClaseGuarderia) .Select(m => m); if (cambiarCupo != null) { var clasenew = _context.ClaseGuarderia .Where(cl => cl.IdClaseGuarderia == matriculaGuarderia.IdClaseGuarderia); var clasbefore = _context.MatriculaGuarderia .Where(m => m.IdMatricula == matriculaGuarderia.IdMatricula) .Select(m => m.IdClaseGuarderia) .FirstOrDefault(); var clase2 = _context.ClaseGuarderia.Where(cl => cl.IdClaseGuarderia == clasbefore); foreach (var item1 in clasenew) { item1.Cupo = ((int)(item1.Cupo - 1)); _context.Update(item1); } foreach (var item2 in clase2) { item2.Cupo = ((int)(item2.Cupo + 1)); _context.Update(item2); } _context.Update(matriculaGuarderia); dbContextTransaction.Commit(); await _context.SaveChangesAsync(); } } catch (DbUpdateConcurrencyException) { dbContextTransaction.Rollback(); if (!MatriculaGuarderiaExists(matriculaGuarderia.IdMatricula)) { return(NotFound()); } else { throw; } } } Thread.Sleep(1000); return(RedirectToAction(nameof(Index))); } if (TempData.ContainsKey("IdClase2")) { ViewData["IdClaseGuarderia"] = (int)TempData["IdClase2"]; } ViewData["IdHijo"] = _context.Hijo .Where(h => h.IdHijo == matriculaGuarderia.IdHijo) .Select(h => new SelectListItem { Text = h.Nombre + " " + h.Apellido1, Value = h.IdHijo.ToString() }); return(View(matriculaGuarderia)); }