//POST : /api/Task/CreateTask
        public IActionResult PostCapturedTime(CapturedTimeModel model)
        {
            _uow.SetActiveUserId(Int32.Parse(Request.Headers["CurrentUserId"]));

            var capturedTime = model.Id != 0 ? _uow.CapturedTimes.SingleOrDefault(u => u.Id == model.Id) : new CapturedTime();

            capturedTime.Rate      = model.Rate.Value;
            capturedTime.TaskId    = model.TaskId.Value;
            capturedTime.UserId    = model.UserId.Value;
            capturedTime.StartTime = DateTime.Parse(model.StartTime);
            capturedTime.EndTime   = DateTime.Parse(model.EndTime);
            capturedTime.Color     = model.Color.Value;
            try
            {
                if (isValidTime(model, model.Id.Value != 0))
                {
                    if (model.Id == 0)
                    {
                        _uow.CapturedTimes.Add(capturedTime);
                    }
                    _uow.Complete();
                    return(Ok(new { newId = capturedTime.Id }));
                }
                else
                {
                    return(BadRequest(new { message = "Captured time would exceed maximum of 10 hours a day" }));
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private bool isValidTime(CapturedTimeModel model, bool isUpdate)
        {
            var hoursWorked = 0.0M;
            var startDate   = DateTime.Parse(model.StartTime);
            var endDate     = DateTime.Parse(model.EndTime);

            if (!isUpdate)
            {
                hoursWorked = _uow.CapturedTimes.GetCapturefTimePerUserPerDate(startDate, model.UserId.Value);
            }
            else
            {
                hoursWorked = _uow.CapturedTimes.GetCapturefTimePerUserPerDate(startDate, model.UserId.Value, model.Id.Value);
            }

            TimeSpan dateDiff = endDate - startDate;

            hoursWorked += decimal.Parse(dateDiff.TotalHours.ToString());
            return(!(hoursWorked > 10));
        }