Пример #1
0
        public static Task AddTaskAbout(CMSDataContext db, int familyId, int assignTo, string description)
        {
            var f = db.Families.Single(ff => ff.People.Any(mm => mm.FamilyId == familyId));
            var primaryorchild = new[] { PositionInFamily.PrimaryAdult, PositionInFamily.Child };
            var fmembers       = (from p in db.People
                                  where p.FamilyId == familyId
                                  where primaryorchild.Contains(p.PositionInFamilyId)
                                  select p.Name).ToList();
            var hh = db.LoadPersonById(f.HeadOfHouseholdId ?? 0);
            var t  = new Task
            {
                OwnerId               = assignTo,
                Description           = description,
                Notes                 = "Family: " + string.Join(", ", fmembers),
                ForceCompleteWContact = true,
                ListId                = Task.GetRequiredTaskList(db, "InBox", assignTo).Id,
                StatusId              = TaskStatusCode.Active,
            };

            hh.TasksAboutPerson.Add(t);
            if (db.Host.HasValue())
            {
                var gcm = new GCMHelper(db.Host, db);
                gcm.sendRefresh(assignTo, GCMHelper.ACTION_REFRESH);
            }
            return(t);
        }
Пример #2
0
 public void CreateTask(int ministerId, int aboutId, string description, string notes = null)
 {
     using (var db2 = NewDataContext())
     {
         var about    = db2.LoadPersonById(aboutId);
         var minister = db2.LoadPersonById(ministerId);
         var t        = new Task
         {
             OwnerId               = ministerId,
             Description           = description,
             Notes                 = notes,
             ForceCompleteWContact = true,
             ListId                = Task.GetRequiredTaskList(db2, "InBox", ministerId).Id,
             StatusId              = TaskStatusCode.Active,
             WhoId                 = aboutId,
         };
         db2.Tasks.InsertOnSubmit(t);
         db2.SubmitChanges();
         var taskLink = Task.TaskLink(db2, description, t.Id);
         db2.Email(
             db2.Setting("AdminMail", "*****@*****.**"), // from email
             minister,                                                   // to person
             "TASK: " + description,                                     // subject
             $@"{taskLink}<br/>\n{about.Name}\n<p>{notes}</p>");         // body
         db2.SubmitChanges();
     }
 }
Пример #3
0
        public static void AddNewPerson(CMSDataContext Db, int newpersonid)
        {
            var NewPeopleManagerId = Db.NewPeopleManagerId;
            var task = new Task
            {
                ListId      = Task.GetRequiredTaskList(Db, "InBox", NewPeopleManagerId).Id,
                OwnerId     = NewPeopleManagerId,
                Description = "New Person Data Entry",
                WhoId       = newpersonid,
                StatusId    = TaskStatusCode.Active,
            };

            if (Util.UserPeopleId.HasValue && Util.UserPeopleId.Value != NewPeopleManagerId)
            {
                task.CoOwnerId = Util.UserPeopleId.Value;
                task.CoListId  = Task.GetRequiredTaskList(Db, "InBox", Util.UserPeopleId.Value).Id;
            }
            Db.Tasks.InsertOnSubmit(task);
            Db.SubmitChanges();
        }
Пример #4
0
        public static int AddTasks(CMSDataContext Db, Guid qid)
        {
            var q      = Db.PeopleQuery(qid);
            int qCount = q.Count();

            if (qCount > 100)
            {
                return(qCount);
            }
            foreach (var p in q)
            {
                var t = new Task
                {
                    ListId                = Task.GetRequiredTaskList(Db, "InBox", Util.UserPeopleId.Value).Id,
                    OwnerId               = Util.UserPeopleId.Value,
                    Description           = "Please Contact",
                    ForceCompleteWContact = true,
                    StatusId              = TaskStatusCode.Active,
                };
                p.TasksAboutPerson.Add(t);
            }
            DbUtil.Db.SubmitChanges();
            return(qCount);
        }