public static bool CheckExistsNumSeats(string RideId, DateTime date, int numSeats)
        {
            try
            {
                if (!RedisRideDataProvider.ExistsRide(RideId))
                {
                    return(false);
                }

                using (var client = new RedisClient(RedisDataLayer.SingleHost))
                {
                    var numS      = client.Get <object>(GetRideDateId(RideId, date));
                    var numSInt   = client.Get <int>(GetRideDateId(RideId, date));
                    var rideSeats = RedisRideDataProvider.NumSeats(RideId);
                    if (numS != null && numSInt >= numSeats)
                    {
                        return(true);
                    }

                    if (numS == null && numSeats <= rideSeats)
                    {
                        return(true);
                    }

                    return(false);
                }
            }
            catch (Exception e)
            {
                return(false);
            }
        }
        public static bool AddCards(BusinessTrip trip, int numCards)
        {
            try
            {
                if (!CheckExistsNumSeats(trip, numCards))
                {
                    return(false);
                }
                foreach (var card in trip.CardsInTrip)
                {
                    foreach (var ride in card.Rides)
                    {
                        var rideDate = ride.TakeOfDate.Date;
                        var key      = GetRideDateId(ride.Ride.Id, rideDate);
                        using (var client = new RedisClient(RedisDataLayer.SingleHost))
                        {
                            if (client.Get <object>(key) != null)
                            {
                                client.DecrBy(key, numCards);
                            }
                            else
                            {
                                var numSeats = RedisRideDataProvider.NumSeats(ride.Ride.Id);
                                client.Set <int>(key, numSeats - numCards);
                            }
                        }
                    }
                }

                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }