public LifeTask PopulateLifeTaskFromModel(TaskModel model, LifeTask dbTask, int?userId = null)
        {
            dbTask.Name              = model.Name;
            dbTask.DateDue           = CustomFormatExtensions.DateFormatter(model.DateDue);
            dbTask.ScheduledDate     = CustomFormatExtensions.DateFormatter(model.ScheduledDate);
            dbTask.DurationInMinutes = model.DurationInMinutes;

            // TODO - potentially need better checks on whether a user already exists
            if (dbTask.UserId == 0)
            {
                if (userId.HasValue)
                {
                    dbTask.UserId = userId.Value;
                }
                else
                {
                    throw new InvalidOperationException("This task has not been created in the context of a user");
                }
            }

            if (dbTask.Completed && !model.Completed)
            {
                dbTask.CompletedDate = null;
            }
            else if (!dbTask.Completed && model.Completed)
            {
                dbTask.CompletedDate = _dateTimeService.GetCurrentTime();
            }

            dbTask.Completed   = model.Completed;
            dbTask.TaskTypeId  = model.TaskTypeId;
            dbTask.Description = model.Description;

            return(dbTask);
        }
Exemple #2
0
        public async Task <List <ScheduledTaskModel> > GetScheduledTasks(ScheduledTasksQueryModel model, int userId)
        {
            var fromDate = CustomFormatExtensions.TryDateFormatter(model.FromDate);
            var toDate   = CustomFormatExtensions.TryDateFormatter(model.ToDate);

            var results = await _queries.GetScheduledTasks(fromDate, toDate, userId);

            return(results);
        }