/// <summary> /// Zwraca listę wszystkich dostępnych akcji czasów użytkownika. /// </summary> /// <param name="userModel">Dane uzytkownika (imię, nazwisko)</param> /// <returns>Listę akcji.</returns> public List <Model.UserWorkTime> GetUserWorkTime(UserModel userModel) { List <UserWorkTime> userWorkTimes = new List <UserWorkTime>(); var userTimeEvents = FileFolderCore.GetDayWorkTimes(userModel).OrderBy(s => s.date).ToArray(); for (int i = 0; i < userTimeEvents.Count() - 1; i++) { TimeCheckpointModel currItem = userTimeEvents[i]; TimeCheckpointModel nextItem = userTimeEvents[i + 1]; if (currItem.status == TimeCheckpoinStatus.Start && nextItem.status == TimeCheckpoinStatus.Break) { var singleDate = nextItem.date - currItem.date; if (userWorkTimes.Any(s => s.DayStamp == currItem.date.Date)) { userWorkTimes.FirstOrDefault(s => s.DayStamp == currItem.date.Date).DataWork += singleDate; } else { userWorkTimes.Add(new UserWorkTime() { DataWork = singleDate, DayStamp = currItem.date.Date }); } } } return(userWorkTimes); }