Esempio n. 1
0
 public HttpResponseMessage Post([FromBody] ClientesReserva fechas, int pag_actual = 1, int regxpag = 10)
 {
     return(inf.Reservas(fechas, ModelState, pag_actual, regxpag));
 }
 public HttpResponseMessage Reservas(ClientesReserva fechas, ModelStateDictionary modelo, int pag_actual, int regxpag)
 {
     try
     {
         if (modelo.IsValid)
         {
             var proveedor_id = HttpContext.Current.User.Identity.GetUserId();
             var reservas     =
                 (
                     from r in contexto.reservaexcursionactividad
                     join f in contexto.calendarioexcursion on r.calendario_id equals f.id
                     where (fechas.Desde <= f.fecha && f.fecha <= fechas.Hasta) && f.estadoexcursion_id == 1 && r.reserva.proveedor_id == proveedor_id
                     select new
             {
                 id = r.reserva.id,
                 fechatransaccion = r.reserva.fechatransaccion,
                 precio = r.reserva.precio,
                 factura = r.reserva.factura,
                 codigoqr = r.reserva.codigoqr,
                 numadultos = r.numadultos,
                 numjuniors = r.numjuniors,
                 numseniors = r.numseniors,
                 numninos = r.numninos,
                 numinfantes = r.numinfantes,
                 fechaexcursion = f.fecha,
                 puntorecogida = (r.punto.nombre == null) ? null : new
                 {
                     nombre = r.punto.nombre,
                     lat = r.punto.lat,
                     lng = r.punto.lng,
                     direccion = r.punto.direccion,
                     descripcion = r.punto.descripcion,
                     localidad = r.punto.localidad.nombre,
                     codigo_postal = r.punto.localidad.cp,
                     provincia = r.punto.localidad.provincia.nombre,
                     pais = r.punto.localidad.provincia.pais.nombre
                 },
                 cliente = new
                 {
                     nombre = r.reserva.cliente.usuario.nombre,
                     primerapellido = r.reserva.cliente.usuario.primerapellido,
                     segundoapellido = r.reserva.cliente.usuario.segundoapellido,
                     email = r.reserva.cliente.usuario.Email,
                     telefono = r.reserva.cliente.usuario.PhoneNumber,
                     hotel = r.nombrehotel,
                     direccionhotel = r.direccion,
                     observaciones = r.observaciones,
                     localidad = r.localidad.nombre,
                     codigo_postal = r.localidad.cp,
                     provincia = r.localidad.provincia.nombre,
                     pais = r.localidad.provincia.pais.nombre
                 }
             }
                 ).OrderBy(x => x.fechatransaccion).Skip((pag_actual - 1) * regxpag).Take(regxpag).ToList();
             var paginacion = this.Paginacion(contexto.reservaexcursionactividad.Where(x => (fechas.Desde <= x.calendarioexcursion.fecha && x.calendarioexcursion.fecha <= fechas.Hasta) && x.calendarioexcursion.estadoexcursion_id == 1 && x.reserva.proveedor_id == proveedor_id).Count(), pag_actual, regxpag);
             var result     = new
             {
                 reservas   = reservas,
                 paginacion = paginacion
             };
             resp.Codigo    = (int)Codigos.OK;
             resp.Mensaje   = Enum.GetName(typeof(Codigos), (int)Codigos.OK);
             resp.Contenido = result;
             return(resp.ObjectoRespuesta());
         }
         else
         {
             resp.Codigo      = (int)Codigos.ERROR_DE_VALIDACION;
             resp.Mensaje     = Enum.GetName(typeof(Codigos), (int)Codigos.ERROR_DE_VALIDACION);
             resp.Objetoerror = modelo;
             return(resp.ObjectoRespuesta());
         }
     }
     catch (Exception ex)
     {
         resp.Codigo    = (int)Codigos.ERROR_DE_SERVIDOR;
         resp.Mensaje   = Enum.GetName(typeof(Codigos), (int)Codigos.ERROR_DE_SERVIDOR);
         resp.Excepcion = Excepcion.Create(ex);
         return(resp.ObjectoRespuesta());
     }
 }