コード例 #1
0
 public ReservaSOAP(ServiceReferenceReservaVehiculos.ReservaEntity reserva)
 {
     this.apellidoNombreCliente = reserva.ApellidoNombreCliente;
     this.fechaHoraDevolucion   = reserva.FechaHoraDevolucion;
     this.fechaHoraRetiro       = reserva.FechaHoraRetiro;
     this.idVehiculoCiudad      = reserva.VehiculoPorCiudadId;
     this.lugarDevolucion       = reserva.LugarDevolucion;
     this.lugarRetiro           = reserva.LugarRetiro;
     this.nroDocumentoCliente   = reserva.NroDocumentoCliente;
     this.totalReserva          = reserva.TotalReserva;
     try { this.codigoReserva = reserva.CodigoReserva; }
     catch (System.Exception) { }
 }
コード例 #2
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));
        }
コード例 #3
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));
        }