Advertisement
Guest User

Untitled

a guest
Jan 25th, 2020
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.24 KB | None | 0 0
  1. static bool[] minutesArray = new bool[7 * 24 * 60];
  2.         static int countMinutes(string s)
  3.         {
  4.             if (string.IsNullOrEmpty(s))
  5.                 return 0;
  6.  
  7.             var schedulerList = s.Split('\n');
  8.             var offset = 1440;
  9.  
  10.             foreach (var item in schedulerList)
  11.             {
  12.                 var dayList = item.Split(' ');
  13.                 var minutesList = convertStringToMinutes(dayList[1]);
  14.  
  15.                 switch (dayList[0])
  16.                 {
  17.                     case "Mon":
  18.                         fillTable(minutesList[0], minutesList[1]);
  19.                         break;
  20.                     case "Tue":
  21.                         fillTable(offset + minutesList[0], offset + minutesList[1]);
  22.                         break;
  23.                     case "Wen":
  24.                         fillTable(offset * 2 + minutesList[0], offset * 2 + minutesList[1]);
  25.                         break;
  26.                     case "Thu":
  27.                         fillTable(offset * 3 + minutesList[0], offset * 3 + minutesList[1]);
  28.                         break;
  29.                     case "Fri":
  30.                         fillTable(offset * 4 + minutesList[0], offset * 4 + minutesList[1]);
  31.                         break;
  32.                     case "Sat":
  33.                         fillTable(offset * 5 + minutesList[0], offset * 5 + minutesList[1]);
  34.                         break;
  35.                     case "Sun":
  36.                         fillTable(offset * 6 + minutesList[0], offset * 6 + minutesList[1]);
  37.                         break;
  38.                 }
  39.  
  40.             }
  41.  
  42.  
  43.             return 0;
  44.         }
  45.  
  46.         static List<int> convertStringToMinutes(string hoursRange)
  47.         {
  48.             var hours = hoursRange.Split('-');
  49.             var minutesList = new List<int>();
  50.  
  51.             foreach (var hour in hours)
  52.             {
  53.                 var dt = Convert.ToDateTime(hour);
  54.                 var minutes = dt.Hour * 60 + dt.Minute;
  55.                 minutesList.Add(minutes);
  56.             }
  57.  
  58.             return minutesList;
  59.         }
  60.  
  61.         static void fillTable(int start, int end)
  62.         {
  63.             for (int i = start; i < end; i++)
  64.             {
  65.                 minutesArray[i] = true;
  66.             }
  67.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement