Created
June 21, 2019 10:00
-
-
Save AlexKenbo/94ab1e3ccc7da1022f284ebfd888149e to your computer and use it in GitHub Desktop.
[Dart snippets]
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Разложить отсортированные дни по неделям | |
Map<int,List> _createDaysByWeeks(DateTime from, DateTime to) { | |
/* | |
vacations/$ID/daysByWeeks/$weekNum/[$weekDay..] | |
vacations/$ID/vacationDays/$ID_DAY:true если в этом дне что-то запланированно | |
{ | |
'$weekNum': ['$weekDay1','$weekDay2'], | |
}; | |
*/ | |
Map<int, List> _daysByWeeks = { | |
1:[] | |
}; | |
int _weekNum = 1; | |
var _rangeDay = Utils.daysInRange(from, to.add(Duration(days:1))); | |
_rangeDay.forEach((d) { | |
//print('${d.toIso8601String()} ${d.weekday}'); | |
final DateTime nextDay = d.add(Duration(days:1)); | |
_daysByWeeks[_weekNum].add('${d.toIso8601String()} ${d.weekday}'); | |
//if (Utils.isSameWeek(d, nextDay) == false) { | |
if (d.weekday > nextDay.weekday) { //FIX Ошибка если следующего дня нету, то неделю не создаем | |
_weekNum += 1; | |
_daysByWeeks.putIfAbsent(_weekNum, () => []); | |
//print('Следующий день не на этой недели. Создаем список для следющей недели'); | |
} | |
//print('\n'); | |
}); | |
//print(_daysByWeeks); | |
return _daysByWeeks; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment