public IActionResult PerformClockOut(AccountShift accountshift)
        {
            Shift temp = _weberpagecontext.Shift.Where(obj => obj.Id == accountshift.ShiftId).Single();

            temp.ClockedIn          = false;
            temp.DateTimeClockedOut = DateTime.Now;

            _weberpagecontext.Shift.Update(temp);

            accountshift.DateTimeClockedOut = DateTime.Now;
            accountshift.ClockedIn          = false;
            accountshift.Shifts             = _weberpagecontext.Shift.Where(obj => obj.AccountId == ActiveUser.This.CurrentUser.Id &&
                                                                            obj.DateTimeClockedIn > startOfWeek && obj.DateTimeClockedOut < endOfWeek).ToList();

            _weberpagecontext.SaveChanges();

            return(View("ClockIn", accountshift));
        }
        public IActionResult ClockIn()
        {
            var   today = DateTime.Now.Date;
            Shift shift = _weberpagecontext.Shift.Where(obj => obj.AccountId == ActiveUser.This.CurrentUser.Id)
                          .OrderByDescending(obj => obj.DateTimeClockedIn).FirstOrDefault();

            startOfWeek = DateTime.Today;
            delta       = DayOfWeek.Monday - startOfWeek.DayOfWeek;
            startOfWeek = startOfWeek.AddDays(delta);

            endOfWeek = startOfWeek.AddDays(7);

            if (shift == null)
            {
                shift = new Shift()
                {
                    Id        = 0,
                    AccountId = ActiveUser.This.CurrentUser.Id,
                    ClockedIn = false
                };
            }

            AccountShift temp = new AccountShift()
            {
                UserId    = ActiveUser.This.CurrentUser.Id,
                ShiftId   = shift.Id,
                ClockedIn = shift.ClockedIn,
                Username  = ActiveUser.This.CurrentUser.Username,
                Shifts    = _weberpagecontext.Shift.Where(obj => obj.AccountId == ActiveUser.This.CurrentUser.Id &&
                                                          obj.DateTimeClockedIn > startOfWeek && obj.DateTimeClockedOut < endOfWeek).ToList()
            };

            if (Debugger.IsAttached)
            {
                foreach (var item in temp.Shifts)
                {
                    Debug.WriteLine(item.DateTimeClockedIn + " " + item.DateTimeClockedOut);
                }
            }

            return(View(temp));
        }
        public IActionResult PerformClockIn(AccountShift accountshift)
        {
            _weberpagecontext.Shift.Add(new Shift()
            {
                AccountId         = accountshift.UserId,
                DateTimeClockedIn = DateTime.Now,
                ClockedIn         = true
            });
            _weberpagecontext.SaveChanges();

            accountshift.DateTimeClockedIn = DateTime.Now;
            accountshift.ShiftId           = _weberpagecontext.Shift.Where(i => i.AccountId == accountshift.UserId)
                                             .OrderByDescending(i => i.DateTimeClockedIn).First().Id;

            accountshift.ClockedIn = true;
            accountshift.Shifts    = _weberpagecontext.Shift.Where(obj => obj.AccountId == ActiveUser.This.CurrentUser.Id &&
                                                                   obj.DateTimeClockedIn > startOfWeek && obj.DateTimeClockedOut < endOfWeek).ToList();

            _weberpagecontext.SaveChanges();

            return(View("ClockIn", accountshift));
        }