protected function _mapConsumptionValue(\App_ListFilter_Interface $filter) { $mapService = array(SimFilterFields::CONSUMPTION_VOICE => ConsumptionCriteria\Service::VOICE, SimFilterFields::CONSUMPTION_SMS => ConsumptionCriteria\Service::SMS, SimFilterFields::CONSUMPTION_DATA => ConsumptionCriteria\Service::DATA); $mapLevel = array(SimFilterFields::CON_THRESHOLD_1 => ConsumptionCriteria\Level::THRESHOLD_1, SimFilterFields::CON_THRESHOLD_2 => ConsumptionCriteria\Level::THRESHOLD_2, SimFilterFields::CON_THRESHOLD_3 => ConsumptionCriteria\Level::THRESHOLD_3, SimFilterFields::CON_THRESHOLD_4 => ConsumptionCriteria\Level::THRESHOLD_4, SimFilterFields::CON_LIMIT => ConsumptionCriteria\Level::THRESHOLD_5); switch (true) { case $filter instanceof \App_ListFilter_EqualFilter: case $filter instanceof \App_ListFilter_GreaterThanFilter: case $filter instanceof \App_ListFilter_LessThanFilter: case $filter instanceof \App_ListFilter_LikeFilter: $result = array(); $result['service'] = $mapService[$filter->getFieldName()]; if (isset($mapLevel[$filter->getValue()])) { $result['level'] = $mapLevel[$filter->getValue()]; } else { $result['level'] = ConsumptionCriteria\Level::THRESHOLD_5; } $result['period'] = $filter->getInverted() ? ConsumptionCriteria\Period::MONTH : ConsumptionCriteria\Period::DAY; return $result; break; } return; }
public function mapFilter(\App_ListFilter_Interface $filter) { $setInverted = function ($filter, $str) { return ($filter->getInverted() ? '!' : '') . $str; }; $str = ''; switch (true) { case $filter instanceof \App_ListFilter_HasFilter: $str = $setInverted($filter, '{' . implode(',', $filter->getValue()) . '}'); break; case $filter instanceof \App_ListFilter_InFilter: $str = $setInverted($filter, '[' . implode(',', $filter->getValue()) . ']'); break; case $filter instanceof \App_ListFilter_GreaterThanFilter: $str = $setInverted($filter, '>' . $filter->getValue()); break; case $filter instanceof \App_ListFilter_LessThanFilter: $str = $setInverted($filter, '<' . $filter->getValue()); break; case $filter instanceof \App_ListFilter_BetweenFilter: $str = $filter->getMin() . $setInverted($filter, '<>') . $filter->getMax(); break; case $filter instanceof \App_ListFilter_LikeFilter: $str = $setInverted($filter, '~' . $filter->getValue()); break; case $filter instanceof \App_ListFilter_EqualFilter: $str = $setInverted($filter, $filter->getValue()); break; } return $str; }
/** * Map reverse * @param \DrSlump\Protobuf\Field $descriptor * @param \App_ListFilter_Interface $filter * @return bool */ protected function _mapReverse(\DrSlump\Protobuf\Field $descriptor, \App_ListFilter_Interface $filter, \App_ListFilter $filterList) { return (bool) $filter->getInverted(); }