Code Duplication    Length = 21-27 lines in 2 locations

src/DataSource/NetteDatabaseTableDataSource.php 1 location

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

src/DataSource/NetteDatabaseTableMssqlDataSource.php 1 location

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