public static Dictionary <string, List <SatyamTaskTableEntry> > OrganizeMTurkTasksByGUID()
        {
            SatyamTaskTableAccess taskDB = new SatyamTaskTableAccess();

            //get all the MTURK related entries in the task Table
            List <SatyamTaskTableEntry> mturkEntries = new List <SatyamTaskTableEntry>();

            foreach (string taskTemplate in TaskConstants.MTurkTaskTemplates)
            {
                List <SatyamTaskTableEntry> entries = taskDB.getAllEntriesByJobtemplateType(taskTemplate);
                mturkEntries.AddRange(entries);
            }
            taskDB.close();

            if (mturkEntries.Count == 0) //there is nothing to do!!
            {
                return(null);
            }

            //Group them by jobguids since each job can have many tasks
            Dictionary <string, List <SatyamTaskTableEntry> > TasksByGUID = new Dictionary <string, List <SatyamTaskTableEntry> >();

            foreach (SatyamTaskTableEntry entry in mturkEntries)
            {
                string guid = entry.JobGUID;
                if (!TasksByGUID.ContainsKey(entry.JobGUID))
                {
                    TasksByGUID.Add(entry.JobGUID, new List <SatyamTaskTableEntry>());
                }
                TasksByGUID[guid].Add(entry);
            }
            return(TasksByGUID);
        }