Esempio n. 1
0
        internal void Calculcate(WorkingTimeRecord record)
        {
            TimeSpan start = record.CheckTimeDetail.sectionList[0].StartTimeSpan.Value;

            TimeSpan end = record.CheckTimeDetail.sectionList[1].EndTimeSpan.Value;

            var pauseList = pauseProvider.GetPauseSection(record.Date);

            TimeSpan pauseSum = TimeSpan.FromSeconds(0);

            foreach (var pause in pauseList)
            {
                if (pause.Start >= start && pause.End <= end)
                {
                    pauseSum += pause.Length;
                }
            }

            TimeSpan morningEnd = record.CheckTimeDetail.sectionList[0].EndTimeSpan.Value;

            TimeSpan overlap = morningEnd - TimeSpan.FromHours(12);

            record.IsProcessed = true;

            record.TotalWorkTime = end - start - pauseSum + overlap;    
        }
Esempio n. 2
0
        internal void Calculcate(WorkingTimeRecord record)
        {
            TimeSpan total = record.CheckTimeDetail.sectionList[0].GetDiffTimeSpan.Value;
            total += record.CheckTimeDetail.sectionList[2].GetDiffTimeSpan.Value;

            TimeSpan midEnd = record.CheckTimeDetail.sectionList[1].EndTimeSpan.Value;

            TimeSpan lastEnd = record.CheckTimeDetail.sectionList[2].EndTimeSpan.Value;

            TimeSpan minStart = TimeSpan.FromSeconds(0);
            if (midEnd > lastEnd)
            {   // mid evening
                 minStart = pauseProvider.GetEveningStart(record.Date);
            }
            else
            {  // mid afternoon
                 minStart = pauseProvider.GetAfternoonStart(record.Date);
            }

            TimeSpan workTimeMid = midEnd - minStart;

            total = +workTimeMid;


            record.IsProcessed = true;

            record.TotalWorkTime = total;

        }
        public void RegisterWorkingTimeRecord(AddWorkingTimeRecordViewModel addWorkingTimeRecordViewModel)
        {
            var user    = _userRepository.Get().FirstOrDefault(user => user.Name == addWorkingTimeRecordViewModel.User);
            var lastWt  = _workingTimeRecordRepository.Get().Where(a => a.User.Id == user.Id).OrderByDescending(a => a.Id).FirstOrDefault();
            var project = _projectRepository.Get().FirstOrDefault(project => project.Id == addWorkingTimeRecordViewModel.Project);

            string wtType = "Entrada";

            if (lastWt != null && lastWt.Type == "Entrada")
            {
                wtType = "Saída";
            }

            WorkingTimeRecord workingTimeRecord = new WorkingTimeRecord
            {
                RecordDate  = DateTime.Now,
                Description = addWorkingTimeRecordViewModel.Description,
                Type        = wtType,
                User        = user,
                Project     = project
            };

            _workingTimeRecordRepository.Add(workingTimeRecord);
            _workingTimeRecordRepository.SaveChanges();
        }
Esempio n. 4
0
        internal void Calculcate(WorkingTimeRecord record)
        {
            TimeSpan start = record.CheckTimeDetail.sectionList[0].StartTimeSpan.Value;

            TimeSpan morningTime = TimeSpan.FromHours(12) - start;
          
            record.TotalWorkTime = morningTime + record.CheckTimeDetail.sectionList[1].GetDiffTimeSpan.Value;

            record.IsProcessed = true;
        }
Esempio n. 5
0
        internal void Calculcate(WorkingTimeRecord record)
        {
            var list = record.CheckTimeDetail.sectionList;

            TimeSpan morningstart = list[0].EndTimeSpan.Value;

            TimeSpan morningTime = TimeSpan.FromHours(12) - morningstart;

            TimeSpan total = morningTime + list[1].GetDiffTimeSpan.Value + list[2].GetDiffTimeSpan.Value;

            record.TotalWorkTime = total;
            record.IsProcessed = true;
        }
        internal void Calculate(WorkingTimeRecord record)
        {
            TimeSpan sum = TimeSpan.FromSeconds(0);


            foreach (var item in record.CheckTimeDetail.sectionList)
            {
                if (item.GetDiffTimeSpan.HasValue)
                {
                    sum += item.GetDiffTimeSpan.Value;
                }
            }


            record.IsProcessed = true;
            record.TotalWorkTime = sum;
        }
Esempio n. 7
0
          internal void Calculcate(WorkingTimeRecord record)
          {
              var list = record.CheckTimeDetail.sectionList;

              TimeSpan total = list[0].GetDiffTimeSpan.Value;

              TimeSpan afternoonStart = pauseProvider.GetAfternoonStart(record.Date);

              TimeSpan eveningStart = pauseProvider.GetEveningStart(record.Date);

              total += list[1].EndTimeSpan.Value - afternoonStart;
              total += list[2].EndTimeSpan.Value - eveningStart;

              record.TotalWorkTime = total;
              record.IsProcessed = true;


          }
Esempio n. 8
0
 internal void Calculate(WorkingTimeRecord record)
 {
     
 }