public ServiceReferenceReservaVehiculos.ReservaEntity cancelarReserva(ReservaSOAP reserva) { var request = new ServiceReferenceReservaVehiculos.CancelarReservaRequest(); request.CodigoReserva = reserva.getCodigoReserva(); var respuesta = cliente.CancelarReserva(credenciales, request); return(respuesta.Reserva); }
public ServiceReferenceReservaVehiculos.ReservaEntity reservarVehiculo(ReservaSOAP reserva) { var request = new ServiceReferenceReservaVehiculos.ReservarVehiculoRequest(); request.ApellidoNombreCliente = reserva.getApellidoNombreCliente(); request.FechaHoraDevolucion = reserva.getFechaHoraDevolucion(); request.FechaHoraRetiro = reserva.getFechaHoraRetiro(); request.IdVehiculoCiudad = reserva.getIdVehiculoCiudad(); request.LugarDevolucion = this.lugarEnum(reserva.getLugarDevolucion()); request.LugarRetiro = this.lugarEnum(reserva.getLugarRetiro()); request.NroDocumentoCliente = reserva.getNroDocumentoCliente(); var respuesta = cliente.ReservarVehiculo(credenciales, request); return(respuesta.Reserva); }
public IHttpActionResult PutReserva(ServiceReferenceReservaVehiculos.ReservaEntity reserva) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Reserva reservaModificada = new Reserva(); reservaModificada.CodigoReserva = reserva.CodigoReserva; reservaModificada.Costo = reserva.TotalReserva; reservaModificada.FechaReserva = reserva.FechaReserva; reservaModificada.Id = reserva.Id; reservaModificada.IdCiudad = db.Reservas.Find(reserva.Id).IdCiudad; reservaModificada.IdCliente = db.Reservas.Find(reserva.Id).IdCliente; reservaModificada.IdPais = db.Reservas.Find(reserva.Id).IdPais; reservaModificada.IdVehiculoCiudad = reserva.VehiculoPorCiudadId; reservaModificada.IdVendedor = db.Reservas.Find(reserva.Id).IdVendedor; reservaModificada.PrecioVenta = db.Reservas.Find(reserva.Id).PrecioVenta; reservaModificada.Estado = 0; reservaModificada.Cliente = db.Reservas.Find(reserva.Id).Cliente; reservaModificada.Vendedor = db.Reservas.Find(reserva.Id).Vendedor; db.Entry(reservaModificada).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!ReservaExistsByCodReserva(reserva.CodigoReserva)) { return(NotFound()); } else { throw; } } var datosReserva = new DatosReserva(); var reservaSOAP = new ReservaSOAP(reserva); ServiceReferenceReservaVehiculos.ReservaEntity reservaCancelada = datosReserva.cancelarReserva(reservaSOAP); return(StatusCode(HttpStatusCode.NoContent)); }
//public IHttpActionResult PostReserva(ServiceReferenceReservaVehiculos.ReservaEntity reserva, int idCiudad, int idPais, int idVendedor) public IHttpActionResult PostReserva(ServiceReferenceReservaVehiculos.ReservaEntity reserva, int idCiudad, int idPais, int idVendedor) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var datosReserva = new DatosReserva(); //Copio los datos del parametro "reserva" en un objeto ReservaSOAP //Debo generar objeto JavaScript con esos parámetros en ReservaSOAP var reservaSOAP = new ReservaSOAP(reserva); //Creo la reserva en el Servicio SOAP y obtengo la respuesta actualizada en formato ReservaEntity, ya con parametros que agrega el mismo post //como ser codigo de reserva y fecha de reserva. ServiceReferenceReservaVehiculos.ReservaEntity reservaCreada = datosReserva.reservarVehiculo(reservaSOAP); //Ya con una ReservaEntity ReservaSOAP en entidad de mi modelo Reserva var reservaNueva = new Reserva(); if (this.ClienteExistsByDNI(int.Parse(reserva.NroDocumentoCliente))) { reservaNueva.Cliente = this.GetCliente(int.Parse(reserva.NroDocumentoCliente)); } else { var clienteNuevo = new Cliente(); clienteNuevo.Apellido = reserva.ApellidoNombreCliente.Split(',')[0]; clienteNuevo.Nombre = reserva.ApellidoNombreCliente.Split(',')[1]; clienteNuevo.NroDocumento = int.Parse(reserva.NroDocumentoCliente); db.Clientes.Add(clienteNuevo); db.SaveChanges(); } reservaNueva.CodigoReserva = reservaCreada.CodigoReserva; reservaNueva.Costo = reserva.TotalReserva / (decimal)1.2; reservaNueva.Estado = 1; reservaNueva.FechaReserva = reservaCreada.FechaReserva; reservaNueva.IdCiudad = idCiudad; reservaNueva.IdCliente = this.GetCliente(int.Parse(reserva.NroDocumentoCliente)).Id; reservaNueva.IdPais = idPais; reservaNueva.IdVehiculoCiudad = reservaCreada.VehiculoPorCiudadId; //no se lo pasa reservaCreada reservaNueva.IdVendedor = idVendedor; //lo toma del parametro original reservaNueva.PrecioVenta = reserva.TotalReserva; //obtiene nombre del vendedor reservaNueva.Vendedor = GetVendedor(idVendedor); db.Reservas.Add(reservaNueva); try { db.SaveChanges(); } catch (DbUpdateException) { if (ReservaExistsByCodReserva(reserva.CodigoReserva)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = reserva.Id }, reserva)); }