Пример #1
0
        /// <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);
        }