Beispiel #1
0
        public TaskBLL(int id, int? parentGroupId, TaskInfo tInfo, TaskStatuses status,
            DateTime? resolveTime, TimedTaskSettingsInfo timingInfo)
            : base(id, parentGroupId, tInfo, resolveTime)
        {
            Status = status;
            Details = tInfo.Details;

            if (timingInfo != null)
            {
                TimingInfo = new TimedTaskSettingsInfo();
                TimingInfo.DueTime = timingInfo.DueTime;
                TimingInfo.TimeoutAction = timingInfo.TimeoutAction;
            }
        }
        public static TaskBLL CreateTaskBll(Task dalTask)
        {
            TimedTaskSettingsInfo ttsi = null;
            if (dalTask.TimedTaskSettings != null)
            {
                ttsi = new TimedTaskSettingsInfo();
                ttsi.DueTime = dalTask.TimedTaskSettings.DueTime;
                ttsi.TimeoutAction = (TaskTimeoutActions)dalTask.TimedTaskSettings.TimeoutActionID;
            }

            return  new TaskBLL(dalTask.ItemID, dalTask.ParentGroupID,
                                      new TaskInfo(dalTask.Title, dalTask.BackgroundColor, dalTask.FontColor, dalTask.FontName, dalTask.FontSize, dalTask.BeginTime, dalTask.Details),
                                      (TaskStatuses)dalTask.StatusID, dalTask.ResolveTime, ttsi);
        }
        public bool AddNewTask(TaskInfo taskInfo, int? parentGroupId,
            TimedTaskSettingsInfo timingInfo, out string errors)
        {
            errors = "";

            if (taskInfo == null)
            {
                errors = "The provided TaskInfo object is null.";
                return false;
            }

            Task taskToAdd = new Task();
            TaskInfoToTask(taskInfo, taskToAdd);
            taskToAdd.StatusID = 100;
            taskToAdd.ParentGroupID = parentGroupId;

            bool taskIsValid = true;
            bool timingInfoIsValid = true;

            string taskValidationErrs = "";
            taskIsValid = ValidateTask(taskToAdd, out taskValidationErrs);

            TimedTaskSettings newTTS = null;

            string ttsValidationErrs = "";
            if (timingInfo != null)
            {
                newTTS = new TimedTaskSettings();
                TTSInfoToTTS(timingInfo, newTTS);

                timingInfoIsValid = ValidateTimedTaskSettings(newTTS, out ttsValidationErrs);
            }

            if (!taskIsValid || !timingInfoIsValid)
                errors += taskValidationErrs + ttsValidationErrs;
            else
            {

                int newTaskKey = HardSettingsManager.GetAndAdvanceNextChecklistElementKey(_context);

                if (newTaskKey != -1)
                {
                    if (newTTS != null)
                    {
                        //sigh.. validate this too?
                        newTTS.TimedTaskSettingsID = HardSettingsManager.GetAndAdvanceNextTimedTaskSettingsKey(_context);

                        taskToAdd.TimedTaskSettings = newTTS;
                    }

                    taskToAdd.ItemID = newTaskKey;
                    BLLUtility.AddPositionInfo(_context, taskToAdd, parentGroupId);

                    _context.ChecklistElements.AddObject(taskToAdd);
                    _context.SaveChanges();

                    return true;
                }
                else
                    errors += "The next-key information could not be retreived from the database.\n";
            }

            return false;
        }
 private void TTSInfoToTTS(TimedTaskSettingsInfo ttsi, TimedTaskSettings tts)
 {
     tts.DueTime = ttsi.DueTime;
     tts.TimeoutActionID = (int)ttsi.TimeoutAction;
 }