示例#1
0
        public ResponseModel GuardarReserva(Reservas reserva)
        {
            ResponseModel response = new ResponseModel();

            try
            {
                if (reserva.FechaHoraPickup > reserva.FechaHoraDropoff)
                {
                    throw new Exception($"La fecha de hora de Pickup debe ser menor que la fecha de Dropoff");
                }

                Guid id = reserva.ReservaId;
                id = id == Guid.Empty ? Guid.NewGuid() : id;
                reserva.ReservaId     = id;
                reserva.FechaCreacion = DateTime.Now;

                Validator <Reservas, ReservasValidator>(reserva);

                var newid = _data.InsertGetKey <Guid>(reserva);

                reserva = _data.ConsultarReservaPorId(id);

                response.SuccesCall(reserva, "Reserva guardada correctamente");
            }
            catch (BusinessException ex)
            {
                response.Fail(ex);
            }
            catch (Exception ex)
            {
                response.Fail(ex, $"Error en => {nameof(GuardarReserva)}");
                Logger.ErrorFatal($"ReservasServices {nameof(GuardarReserva)}", ex);
            }
            return(response);
        }
示例#2
0
        public ResponseModel ModificarReserva(Reservas reserva)
        {
            ResponseModel response = new ResponseModel();

            try
            {
                var reservaOld = _data.GetFindById(reserva.ReservaId);

                if (reservaOld == null)
                {
                    throw new Exception($"No existe la reserva con id {reserva.ReservaId}");
                }

                if (reserva.FechaHoraPickup > reserva.FechaHoraDropoff)
                {
                    throw new Exception($"La fecha de hora de Pickup debe ser menor que la fecha de Dropoff");
                }

                reservaOld.FechaHoraDropoff     = reserva.FechaHoraDropoff;
                reservaOld.FechaHoraPickup      = reserva.FechaHoraPickup;
                reservaOld.TipoIdentificacionId = reserva.TipoIdentificacionId;
                reservaOld.DocumentoIdentidad   = reserva.DocumentoIdentidad;
                reservaOld.Apellidos            = reserva.Apellidos;
                reservaOld.Nombres       = reserva.Nombres;
                reservaOld.LugarDropoff  = reserva.LugarDropoff;
                reservaOld.LugarPickup   = reserva.LugarPickup;
                reservaOld.Marca         = reserva.Marca;
                reservaOld.Modelo        = reserva.Modelo;
                reservaOld.PrecioPorHora = reserva.PrecioPorHora;

                Validator <Reservas, ReservasValidator>(reservaOld);

                _data.Update(reservaOld);

                reservaOld = _data.ConsultarReservaPorId(reserva.ReservaId);

                response.SuccesCall(reservaOld, "Reserva modificada correctamente");
            }
            catch (BusinessException ex)
            {
                response.Fail(ex);
            }
            catch (Exception ex)
            {
                response.Fail(ex, $"Error en => {nameof(ModificarReserva)}");
                Logger.ErrorFatal($"ReservasServices {nameof(ModificarReserva)}", ex);
            }
            return(response);
        }
示例#3
0
        public ResponseModel ConsultarReservaPorId(Guid reservaId)
        {
            ResponseModel response = new ResponseModel();

            try
            {
                var reserva = _data.ConsultarReservaPorId(reservaId);
                response.SuccesCall(reserva);
            }
            catch (BusinessException ex)
            {
                response.Fail(ex);
            }
            catch (Exception ex)
            {
                response.Fail(ex, $"Error en => {nameof(ConsultarReservaPorId)}");
                Logger.ErrorFatal($"ReservasServices  {nameof(ConsultarReservaPorId)}", ex);
            }
            return(response);
        }
示例#4
0
        public ResponseModel ConsultarReservas(ReservaFiltro filtro)
        {
            ResponseModel response = new ResponseModel();

            try
            {
                filtro.ReservaId = null;
                var reservas = _data.ConsultarReservas(filtro);

                response.SuccesCall(reservas);
            }
            catch (BusinessException ex)
            {
                response.Fail(ex);
            }
            catch (Exception ex)
            {
                response.Fail(ex, $"Error en => {nameof(ConsultarReservas)}");
                Logger.ErrorFatal($"ReservasServices {nameof(ConsultarReservas)}", ex);
            }
            return(response);
        }