Code Duplication    Length = 21-27 lines in 3 locations

src/DataSource/NetteDatabaseTableMssqlDataSource.php 1 location

@@ 40-66 (lines=27) @@
37
	 * @param  Filter\FilterDateRange $filter
38
	 * @return void
39
	 */
40
	public function applyFilterDateRange(Filter\FilterDateRange $filter)
41
	{
42
		$conditions = $filter->getCondition();
43
44
		$value_from = $conditions[$filter->getColumn()]['from'];
45
		$value_to   = $conditions[$filter->getColumn()]['to'];
46
47
		if ($value_from) {
48
			$date_from = \DateTime::createFromFormat($filter->getPhpFormat(), $value_from);
49
			$date_from->setTime(0, 0, 0);
50
51
			$this->data_source->where(
52
				"CONVERT(varchar(10), {$filter->getColumn()}, 112) >= ?",
53
				$date_from->format('Ymd')
54
			);
55
		}
56
57
		if ($value_to) {
58
			$date_to = \DateTime::createFromFormat($filter->getPhpFormat(), $value_to);
59
			$date_to->setTime(23, 59, 59);
60
61
			$this->data_source->where(
62
				"CONVERT(varchar(10), {$filter->getColumn()}, 112) <= ?",
63
				$date_to->format('Ymd')
64
			);
65
		}
66
	}
67
68
}
69

src/DataSource/NetteDatabaseTableDataSource.php 1 location

@@ 117-137 (lines=21) @@
114
	 * @param  Filter\FilterDateRange $filter
115
	 * @return void
116
	 */
117
	public function applyFilterDateRange(Filter\FilterDateRange $filter)
118
	{
119
		$conditions = $filter->getCondition();
120
121
		$value_from = $conditions[$filter->getColumn()]['from'];
122
		$value_to   = $conditions[$filter->getColumn()]['to'];
123
124
		if ($value_from) {
125
			$date_from = \DateTime::createFromFormat($filter->getPhpFormat(), $value_from);
126
			$date_from->setTime(0, 0, 0);
127
128
			$this->data_source->where("DATE({$filter->getColumn()}) >= ?", $date_from->format('Y-m-d'));
129
		}
130
131
		if ($value_to) {
132
			$date_to = \DateTime::createFromFormat($filter->getPhpFormat(), $value_to);
133
			$date_to->setTime(23, 59, 59);
134
135
			$this->data_source->where("DATE({$filter->getColumn()}) <= ?", $date_to->format('Y-m-d'));
136
		}
137
	}
138
139
140
	/**

src/DataSource/DibiFluentDataSource.php 1 location

@@ 116-136 (lines=21) @@
113
	 * @param  Filter\FilterDateRange $filter
114
	 * @return void
115
	 */
116
	public function applyFilterDateRange(Filter\FilterDateRange $filter)
117
	{
118
		$conditions = $filter->getCondition();
119
120
		$value_from = $conditions[$filter->getColumn()]['from'];
121
		$value_to   = $conditions[$filter->getColumn()]['to'];
122
123
		if ($value_from) {
124
			$date_from = \DateTime::createFromFormat($filter->getPhpFormat(), $value_from);
125
			$date_from->setTime(0, 0, 0);
126
127
			$this->data_source->where('DATE(%n) >= ?', $filter->getColumn(), $date_from);
128
		}
129
130
		if ($value_to) {
131
			$date_to = \DateTime::createFromFormat($filter->getPhpFormat(), $value_to);
132
			$date_to->setTime(23, 59, 59);
133
134
			$this->data_source->where('DATE(%n) <= ?', $filter->getColumn(), $date_to);
135
		}
136
	}
137
138
139
	/**