private bool IsProductMatch(UpgradeProduct product, UpgradeMatchEntity entity)
        {
            if (!IsAgentMatch(product, entity.AgentId))
            {
                return(false);
            }

            if (!product.MatchTripType(entity.TripType))
            {
                return(false);
            }

            if (!product.MatchValidatingCarrier(entity.ValidatingCarrier))
            {
                return(false);
            }

            if (!product.MatchFlightNo(entity.DepartMainFlightNo))
            {
                return(false);
            }

            if (product.DAreas.Count != 0 && !IsAreaMatch(product.DAreas, entity.Origin))
            {
                return(false);
            }

            if (product.AAreas.Count != 0 && !IsAreaMatch(product.AAreas, entity.FirstArrvialCity))
            {
                return(false);
            }

            if (!product.MatchToRanges(entity.DepartDate))
            {
                return(false);
            }

            if (entity.TripType == TripType.RT && !product.MatchBackRanges(entity.ArravialDate))
            {
                return(false);
            }

            if (!product.MatchSalesDate)
            {
                return(false);
            }

            if (!product.MatchSeatClass(entity.DepartMainSegment.SeatClass))
            {
                return(false);
            }

            if (!product.MatchSeatGrade(entity.DepartMainSegment.SeatGrade))
            {
                return(false);
            }

            return(true);
        }