示例#1
0
 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 }));
 }
示例#2
0
 public ActionResult EditVali(MatriculaGuarderia matriculaGuarderia)
 {
     if (ModelState.IsValid)
     {
         _context.SaveChanges();
         return(Json(new { result = true }));
     }
     return(Json(new { result = false }));
 }
示例#3
0
        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));
        }
示例#4
0
 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 }));
 }
示例#5
0
 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));
 }