public async Task <IActionResult> Create([Bind("idSesionxm,idMascota,idSesion")] SesionxMascota sesionxMascota) { if (ModelState.IsValid) { //VERIFICAR QUE LA MASCOTA INGRESADA NO SEA LA MISMA //Busco el idMascota y busco el idSesion bool duplicado = _context.SesionxMascota.Any(s => s.idMascota == sesionxMascota.idMascota && s.idSesion == sesionxMascota.idSesion); var sesion = _context.Sesion.Find(sesionxMascota.idSesion); var mascota = _context.Mascota.Where(m => m.idMascota == sesionxMascota.idMascota).Select(s => s.idRaza).First(); var tipoRaza = _context.Raza.Where(r => r.idRaza == mascota).Select(s => s.idTipo).First(); if (!duplicado) { //Actualiza el tipo de raza de la sesion y agrega mascotas a la sesion sesion.idTipo = tipoRaza; _context.Update(sesion); _context.Add(sesionxMascota); await _context.SaveChangesAsync(); return(RedirectToAction("Details/" + sesionxMascota.idSesion, "Sesions")); } else { ModelState.AddModelError(string.Empty, "¡La mascota ingresada ya está en este Sesión!"); return(View(sesion)); } } ViewData["idMascota"] = new SelectList(_context.Mascota, "idMascota", "idMascota", sesionxMascota.idMascota); ViewData["idSesion"] = new SelectList(_context.Sesion, "idSesion", "idSesion", sesionxMascota.idSesion); return(View(sesionxMascota)); }
public async Task <IActionResult> Edit(int id, [Bind("idSesionxm,idMascota,idSesion")] SesionxMascota sesionxMascota) { if (id != sesionxMascota.idSesionxm) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(sesionxMascota); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!SesionxMascotaExists(sesionxMascota.idSesionxm)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["idMascota"] = new SelectList(_context.Mascota, "idMascota", "idMascota", sesionxMascota.idMascota); ViewData["idSesion"] = new SelectList(_context.Sesion, "idSesion", "idSesion", sesionxMascota.idSesion); return(View(sesionxMascota)); }
public async Task <IActionResult> Create([Bind("idReserva,fechaReservada,fechaSesion,estado,idCliente,idServicio,idTrabajador,idSesion")] Reserva reserva) { reserva.fechaReservada = DateTime.Now; if (ModelState.IsValid) { int clienteFinded = _context.Cliente.Where(c => c.idCliente == reserva.idCliente).Select(c => c.idLugar).First(); string nombreLugarFinded; //int servicioFinded = _context.Servicio.Where(s => s.idServicio == reserva.idServicio).Select(s => s.idServicio).First(); //Busca en las sesiones si hay lugares if (reserva.idServicio == 1) { nombreLugarFinded = "Local"; } else { nombreLugarFinded = _context.Lugar.Where(l => l.idLugar == clienteFinded).Select(l => l.nombre).First(); } DateTime fechaSesionFinded = reserva.fechaSesion; //Encuentra la sesión donde el lugar, la fecha y el servicio es el mismo int idSesionFinded = _context.Sesion.Include(s => s.reservas).Where(s => s.lugar == nombreLugarFinded && s.fechaSesion == fechaSesionFinded && s.idServicio == reserva.idServicio).Select(s => s.idSesion).FirstOrDefault(); if (idSesionFinded != 0) { reserva.idSesion = idSesionFinded; _context.Add(reserva); _context.SaveChanges(); } else if (idSesionFinded.Equals(0)) { Sesion newSesion = new Sesion(); newSesion.fechaSesion = reserva.fechaSesion; newSesion.idServicio = reserva.idServicio; if (reserva.idServicio == 1) { newSesion.lugar = "Local"; } else { newSesion.lugar = nombreLugarFinded; } //newSesion.servicio = _context.Add(newSesion); _context.SaveChanges(); reserva.idSesion = newSesion.idSesion; _context.Add(reserva); _context.SaveChanges(); } SesionxMascota sesionxMascota = new SesionxMascota(); sesionxMascota.idSesion = reserva.idSesion; _context.Add(sesionxMascota); ViewData["idMascota"] = new SelectList(_context.Mascota.Where(e => e.idCliente == reserva.idCliente), "idMascota", "nombre"); return(View("AddsPetsToSesion", sesionxMascota)); } ViewData["idCliente"] = new SelectList(_context.Cliente, "idCliente", "apellidos", reserva.idCliente); ViewData["idServicio"] = new SelectList(_context.Servicio, "idServicio", "categoria", reserva.idServicio); ViewData["idSesion"] = new SelectList(_context.Sesion, "idSesion", "idSesion", reserva.idSesion); ViewData["idTrabajador"] = new SelectList(_context.Trabajador, "idTrabajador", "apellidos", reserva.idTrabajador); return(View(reserva)); }