public CommandResult Handle(ActualizarCIPBookingPagoCommand command)
        {
            var dominio = _reservaBookingPago.Get(x => x.rbp_int_id == command.rbp_int_id).LastOrDefault();

            if (dominio == null)
            {
                throw new ReservaBookingException("No se encontro el pago seleccionado");
            }

            string[]    aux       = command.ids.Split(',');
            List <long> ids_final = new List <long>();

            foreach (var item in aux)
            {
                ids_final.Add(Convert.ToInt64(item));
            }



            dominio.rbp_str_cip = command.cip;
            //  dominio.

            try
            {
                _reservaBookingPago.Commit();
                _reservaBookingPago.Commit();


                var handler = new ActualizarEstadoReservaDetalleHandler(this._reservabookingdetalle);
                var output  = (ActualizarEstadoReservaDetalleOutput)handler.Handle(new ActualizarEstadoReservaDetalleCommand()
                {
                    lst_rbd_int_id = ids_final,
                    //rbd_str_estado_bookingdet = ActualizarEstadoReservaDetalleCommand.EstadoReservaDetalle.PendientePagar,
                    rbd_str_estado_bookingdet = ActualizarEstadoReservaDetalleCommand.EstadoReservaDetalle.PendientePagar,
                    //suarioCreacion = command.rbp_str_usuario_creacion,
                    DescripcionOpcional = "Generando Resumen pago"
                });


                return(new ActualizarCIPBookingPagoOutput()
                {
                    ActualizarCIP = true
                });
            }
            catch (Exception ex) {
                return(new ActualizarCIPBookingPagoOutput()
                {
                    ActualizarCIP = false
                });
            }
        }
示例#2
0
        public CommandResult Handle(InsertarEspacioContenedorCommand command)
        {
            //validando los parametros de entrada.
            if (command == null)
            {
                throw new ArgumentNullException("Se requiere el command");
            }

            var datbook = GetDatosBasicosBooking(command.rb_int_id);

            if (datbook.rb_int_espacios_disponibles == 0)
            {
                throw new ReservaBookingException(GetMensaje("ERR_ESPACIO1"));
            }
            if (datbook.rb_int_espacios_disponibles < command.rb_int_nro_contenedores)
            {
                throw new ReservaBookingException(GetMensaje("ERR_ESPACIO2"));
            }

            //long[] rbd_int_id_array = new long[command.rb_int_nro_contenedores];
            List <long> rbd_int_id_array = new List <long>();

            for (var i = 0; i < command.rb_int_nro_contenedores; i++)
            {
                var dominiobookdet = MapBookingDetalle(new ReservaBookingDetalle(), command);
                _reservaBookingDetalle.Add(dominiobookdet);
                _reservaBookingDetalle.Commit();

                rbd_int_id_array.Add(dominiobookdet.rbd_int_id);
            }

            //actualizar estado del detalle

            var handler = new ActualizarEstadoReservaDetalleHandler(this._reservaBookingDetalle);
            var output  = (ActualizarEstadoReservaDetalleOutput)handler.Handle(new ActualizarEstadoReservaDetalleCommand()
            {
                lst_rbd_int_id            = rbd_int_id_array,
                rbd_str_estado_bookingdet = ActualizarEstadoReservaDetalleCommand.EstadoReservaDetalle.Registrado,
                UsuarioCreacion           = command.rbd_str_usuario_creacion,
                DescripcionOpcional       = "Reserva de espacio"
            });


            return(new InsertarEspacioContenedorOutput()
            {
                rb_int_espacios = command.rb_int_nro_contenedores,
                rbd_int_id = rbd_int_id_array.ToArray(),
                rb_int_identificador_terminal = datbook.rb_int_identificador_terminal
            });
        }
        public CommandResult Handle(ReservaBookingPagoCommand command)
        {
            if (command.lista_servicios_adicionales.Any() == false)
            {
                throw new ReservaBookingException("No se han ingresado servicios adicionales para el pago.");
            }

            //var dominio_reserva_detalle = _reservabookinpago.Get(x => x.rb_int_id == rbd_int_id).LastOrDefault();

            var lst_rbd_int_id = new List <long>();
            var dominio_pago   = new ReservaBookingPago();

            //dominio_pago.rbp_dec_importe_final = CalcularImporteFinal(command.lista_servicios_adicionales);
            dominio_pago.rbp_dec_importe_final                       = command.rb_dec_montopagar;
            dominio_pago.rb_int_id                                   = command.rb_int_id;
            dominio_pago.rb_str_codigo_cliente_factura               = command.rb_str_codigo_cliente_factura;
            dominio_pago.rb_str_codigo_cliente_factura_descripcion   = command.rb_str_codigo_cliente_factura_descripcion;
            dominio_pago.rb_str_codigo_cliente_operacion             = command.rb_str_codigo_cliente_operacion;
            dominio_pago.rb_str_codigo_cliente_operacion_descripcion = command.rb_str_codigo_cliente_operacion_descripcion;
            dominio_pago.rb_str_codigo_cliente_tarifa                = command.rb_str_codigo_cliente_tarifa;
            dominio_pago.rb_str_codigo_cliente_tarifa_descripcion    = command.rb_str_codigo_cliente_tarifa_descripcion;
            dominio_pago.rbp_dat_fecha_creacion                      = DateTime.Now;
            //dominio_pago.rbp_int_id
            dominio_pago.rbp_str_cip = string.Empty;
            dominio_pago.rbp_str_usuario_creacion = command.rbp_str_usuario_creacion;
            dominio_pago.rpb_str_estado_pago      = command.rpb_str_estado_pago;

            dominio_pago.lista_servicios_adicionales = new List <ReservaBookingServicioAdicional>();



            foreach (var servicio_adicional in command.lista_servicios_adicionales)
            {
                var dominio_servicio_adicional = new ReservaBookingServicioAdicional();
                dominio_servicio_adicional.rbsa_dat_fecha_creacion = DateTime.Now;
                dominio_servicio_adicional.rbsa_dec_importe_tarifa = servicio_adicional.rbsa_dec_importe_tarifa;
                dominio_servicio_adicional.rbd_int_id = servicio_adicional.rbd_int_id;
                dominio_servicio_adicional.rbsa_str_codigo_servicio_adicional             = servicio_adicional.rbsa_str_codigo_servicio_adicional;
                dominio_servicio_adicional.rbsa_str_codigo_servicio_adicional_descripcion = servicio_adicional.rbsa_str_codigo_servicio_adicional_descripcion;
                dominio_servicio_adicional.rbsa_str_usuario_creacion = command.rbp_str_usuario_creacion;
                dominio_pago.lista_servicios_adicionales.Add(dominio_servicio_adicional);
                lst_rbd_int_id.Add(servicio_adicional.rbd_int_id);
            }

            _reservabookinpago.Add(dominio_pago);
            _reservabookinpago.Commit();

            //actualizar estado del detalle

            var handler = new ActualizarEstadoReservaDetalleHandler(this._reservabookingdetalle);
            var output  = (ActualizarEstadoReservaDetalleOutput)handler.Handle(new ActualizarEstadoReservaDetalleCommand()
            {
                lst_rbd_int_id = lst_rbd_int_id,
                //rbd_str_estado_bookingdet = ActualizarEstadoReservaDetalleCommand.EstadoReservaDetalle.PendientePagar,
                rbd_str_estado_bookingdet = ActualizarEstadoReservaDetalleCommand.EstadoReservaDetalle.Registrado,
                UsuarioCreacion           = command.rbp_str_usuario_creacion,
                DescripcionOpcional       = "Generando Resumen pago"
            });

            return(new ReservaBookingPagoOutput()
            {
                rbp_int_id = dominio_pago.rbp_int_id
            });
        }