public async Task <IActionResult> SeleccionComensales(int nComensales, int nHabitacion, int idServicio, string nCliente) { ReservaMenuViewModel rmvm = new ReservaMenuViewModel { nHabitacion = nHabitacion, idServicio = idServicio, nCliente = nCliente }; Menu menu = _context.Menu.FirstOrDefault(m => m.idServicio == idServicio); Habitacion habitacion = await _context.Habitacion.SingleOrDefaultAsync <Habitacion>(h => h.numero == nHabitacion); string result = "Failure"; ResultMenuViewModel remvm = new ResultMenuViewModel { menu = menu, result = result }; if (menu == null || habitacion == null) { return(RedirectToAction("ContratarMenu", remvm)); } if (nComensales <= 0) { return(View("SeleccionComensales", rmvm)); } FacturasController fc = new FacturasController(_context); ReservaHabitacionsController rhc = new ReservaHabitacionsController(_context); Reserva reserva = await rhc.GetReserva(nHabitacion); Factura factura = await fc.GetFactura(reserva); LineaFacturasController lfc = new LineaFacturasController(_context); result = "Error: couldn't get factura"; if (factura != null) { bool chk = await lfc.CrearLineaMenu(menu, nComensales, factura, habitacion); if (!chk) { result = "Error: out of time"; } else { result = "Success"; } } remvm.result = result; return(RedirectToAction("ContratarMenu", remvm)); }
public void setServReserva(int servId, float precio, DateTime fechaIni, DateTime fechaFin, int numHabitacion) { ReservaServicio resserv = new ReservaServicio(); var serv = _context.Servicio.SingleOrDefault(m => m.idServicio == servId); resserv.Servicio = serv; resserv.fechaInicio = fechaIni; resserv.fechaFin = fechaFin; LineaFacturasController lf = new LineaFacturasController(_context); lf.setLineaFactura(resserv, precio, fechaIni, fechaFin, numHabitacion); _context.ReservaServicio.Add(resserv); }