Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static bool[] minutesArray = new bool[7 * 24 * 60];
- static int countMinutes(string s)
- {
- if (string.IsNullOrEmpty(s))
- return 0;
- var schedulerList = s.Split('\n');
- var offset = 1440;
- foreach (var item in schedulerList)
- {
- var dayList = item.Split(' ');
- var minutesList = convertStringToMinutes(dayList[1]);
- switch (dayList[0])
- {
- case "Mon":
- fillTable(minutesList[0], minutesList[1]);
- break;
- case "Tue":
- fillTable(offset + minutesList[0], offset + minutesList[1]);
- break;
- case "Wen":
- fillTable(offset * 2 + minutesList[0], offset * 2 + minutesList[1]);
- break;
- case "Thu":
- fillTable(offset * 3 + minutesList[0], offset * 3 + minutesList[1]);
- break;
- case "Fri":
- fillTable(offset * 4 + minutesList[0], offset * 4 + minutesList[1]);
- break;
- case "Sat":
- fillTable(offset * 5 + minutesList[0], offset * 5 + minutesList[1]);
- break;
- case "Sun":
- fillTable(offset * 6 + minutesList[0], offset * 6 + minutesList[1]);
- break;
- }
- }
- return 0;
- }
- static List<int> convertStringToMinutes(string hoursRange)
- {
- var hours = hoursRange.Split('-');
- var minutesList = new List<int>();
- foreach (var hour in hours)
- {
- var dt = Convert.ToDateTime(hour);
- var minutes = dt.Hour * 60 + dt.Minute;
- minutesList.Add(minutes);
- }
- return minutesList;
- }
- static void fillTable(int start, int end)
- {
- for (int i = start; i < end; i++)
- {
- minutesArray[i] = true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement