コード例 #1
0
        public ServiceReferenceReservaVehiculos.ReservaEntity cancelarReserva(ReservaSOAP reserva)
        {
            var request = new ServiceReferenceReservaVehiculos.CancelarReservaRequest();

            request.CodigoReserva = reserva.getCodigoReserva();
            var respuesta = cliente.CancelarReserva(credenciales, request);

            return(respuesta.Reserva);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        //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));
        }