Beispiel #1
0
        /**
         * Retrieve a list of Milestone objects from storage corresponding to the input list of milestone ids.
         **/
        private List <Milestone> GetMilestonesByIds(List <int> ids)
        {
            MilestoneDatabaseAccess milestoneDatabaseAccess = new MilestoneDatabaseAccess();

            milestoneDatabaseAccess.InitializeSync();
            List <Task <Milestone> > readTasks  = new List <Task <Milestone> >();
            List <Milestone>         milestones = new List <Milestone>();

            if (ids != null && ids.Count > 0)
            {
                foreach (int milestoneID in ids)
                {
                    milestones.Add(milestoneDatabaseAccess.GetMilestoneByIdSync(milestoneID));
                }
            }
            //if (readTasks != null && readTasks.Count > 0)
            //{
            //    foreach (Task<Milestone> task in readTasks)
            //    {
            //        milestones.Add(task.Result);
            //    }
            //}
            milestoneDatabaseAccess.CloseSyncConnection();
            return(milestones);
        }
        public UnansweredMilestones GenerateNewUnansweredMilestones()
        {
            this._unansweredMilestones = new Dictionary <MilestoneDueDate, List <int> >();

            // Generate empyty lists of milestone IDs for holding unanswered milestones for a Child.
            foreach (MilestoneDueDate dueDate in Enum.GetValues(typeof(MilestoneDueDate)))
            {
                List <int> milestonesByAge = new List <int>();
                _unansweredMilestones[dueDate] = milestonesByAge;
            }

            // Populate Dictionary of unansweredMilestones questions with milestones separated by AgeRange.
            MilestoneDatabaseAccess milestoneDatabaseAccess = new MilestoneDatabaseAccess();

            milestoneDatabaseAccess.InitializeSync();
            List <Milestone> milestones = milestoneDatabaseAccess.GetAllMilestonesSync();

            foreach (Milestone milestone in milestones)
            {
                List <int> milestonesByAge = _unansweredMilestones[(MilestoneDueDate)milestone.MilestoneDueDate];
                milestonesByAge.Add(milestone.ID);
            }
            milestoneDatabaseAccess.CloseSyncConnection();
            return(this);
        }
Beispiel #3
0
        /**
         * Record the milestone BinaryAnswer for the given milestone ID and then remove it from the unanswered milestones list.
         */
        public void AddOrUpdateMilestoneHistory(int milestoneID, BinaryAnswer answer)
        {
            MilestoneDatabaseAccess milestoneDatabaseAccess = new MilestoneDatabaseAccess();

            milestoneDatabaseAccess.InitializeSync();
            Milestone milestone = milestoneDatabaseAccess.GetMilestoneByIdSync(milestoneID);

            MilestoneHistory.UpdateOrInsertToMilestoneHistory(milestone, answer);
            Boolean milestoneRemoved = UnansweredMilestones.RemoveMilestone(milestone);
        }