public int AddTask(int peopleId) { var db = DbUtil.Db; if (!db.UserPeopleId.HasValue) { throw new Exception("missing user on AddFollowup Task"); } var uid = db.UserPeopleId.Value; var task = new CmsData.Task { OwnerId = uid, WhoId = peopleId, ListId = CmsData.Task.GetRequiredTaskList(db, "InBox", uid).Id, SourceContactId = Contact.ContactId, Description = "Follow up", Notes = Contact.Comments, StatusId = TaskStatusCode.Active, Project = Contact.MinistryId == null ? null : Contact.Ministry.MinistryName, ForceCompleteWContact = true }; db.Tasks.InsertOnSubmit(task); db.SubmitChanges(); return(task.Id); }
public static TaskModel WithTask(CmsData.Task task, string host, CMSDataContext db) { return(new TaskModel(host, db) { Id = task.Id, OwnerId = task.OwnerId, WhoId = task.WhoId, Description = task.Description, CoOwnerId = task.CoOwnerId, Location = task.Location, Project = task.Project, CompletedContactId = task.CompletedContactId, Notes = task.Notes, CreatedOn = task.CreatedOn, CompletedOn = task.CompletedOn, DeclineReason = task.DeclineReason, Owner = task.Owner.Name, OwnerEmail = task.Owner.EmailAddress, SortDue = task.Due ?? DateTime.MaxValue.Date, CoOwner = task.CoOwner?.Name, CoOwnerEmail = task.CoOwner?.EmailAddress, TaskLimitToRole = new CodeInfo(task.LimitToRole, "TaskLimitToRole"), StatusId = task.TaskStatus.Id, Status = task.TaskStatus.Description, TaskStatus = new CodeInfo(task.StatusId, "TaskStatus"), Completed = task.StatusId == TaskStatusCode.Complete, SortPriority = task.Priority ?? 4, IsCoOwner = task.CoOwnerId != null && task.CoOwnerId == Util.UserPeopleId, IsOwner = task.OwnerId == Util.UserPeopleId, CompletedContact = task.CompletedContact?.ContactDate, ForceCompleteWithContact = task.ForceCompleteWContact ?? false }); }
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(); } }
public static string CreateEmailBody(CmsData.Task task, string host, CMSDataContext db) { var body = new StringBuilder(); body.Append($"Task: {TaskLink(task.Description, task.Id, host, db)}<br/>\n"); body.Append($"Created: {task.CreatedOn.FormatDateTm()}<br/>\n"); if (task.Due != null) { body.Append($"Due: {task.Due.FormatDate()}<br/>\n"); } body.Append(task.StatusId == TaskStatusCode.Declined ? $"Status: {task.TaskStatus.Description} - {task.DeclineReason}<br/>\n" : $"Status: {task.TaskStatus.Description}<br/>\n"); body.Append($"About: {PeopleLink(task.AboutWho.Name, task.AboutWho.PeopleId, host, db)}<br/>\n"); body.Append($"Owner: {PeopleLink(task.Owner.Name, task.Owner.PeopleId, host, db)}<br/>\n"); if (task.CoOwnerId != null) { body.Append($"Delegated To: {PeopleLink(task.CoOwner.Name, task.CoOwner.PeopleId, host, db)}<br/>\n"); } body.Append($"Notes:<br/>\n{PythonModel.Markdown(task.Notes)}"); return(body.ToString()); }
public MobileTask populate(CmsData.Task t) { id = t.Id; ownerID = t.OwnerId; boxID = t.ListId; due = t.Due ?? DateTime.Now; priority = t.Priority ?? 0; description = t.Description ?? ""; status = t.TaskStatus.Description ?? ""; statusID = t.StatusId ?? 0; about = t.AboutName ?? ""; aboutID = t.WhoId ?? 0; if (t.CoOwner != null) { delegated = t.CoOwner.Name ?? ""; } delegatedID = t.CoOwnerId ?? 0; notes = t.Notes ?? ""; return(this); }
public new MobileTaskFull populate(CmsData.Task t) { base.populate(t); // ToDo: Finish population // End ToDo return(this); }
public static void NotifyIfNeeded(StringBuilder sb, CmsData.Task task) { if ((sb.Length <= 0) || !task.CoOwnerId.HasValue) { return; } var from = Util.UserPeopleId.Value == task.OwnerId ? task.Owner : task.CoOwner; var to = from.PeopleId == task.OwnerId ? task.CoOwner : task.Owner; DbUtil.Db.Email(from.EmailAddress, to, $"Task updated by {Util.UserFullName}", CreateEmailBody(task)); }
public static void NotifyIfNeeded(User user, CmsData.Task task, StringBuilder sb, string host, CMSDataContext db) { if (sb.Length <= 0 || !task.CoOwnerId.HasValue) { return; } var from = user.PeopleId == task.OwnerId ? task.Owner : task.CoOwner; var to = from.PeopleId == task.OwnerId ? task.CoOwner : task.Owner; db.Email(from.EmailAddress, to, $"Task updated by {user.Person.Name}", CreateEmailBody(task, host, db)); }
public static int AddTask(int pid, string text) { var task = new CmsData.Task { Description = text, OwnerId = pid, StatusId = TaskStatusCode.Active }; DbUtil.Db.Tasks.InsertOnSubmit(task); DbUtil.Db.SubmitChanges(); GCMHelper.sendRefresh(pid, GCMHelper.ACTION_REFRESH); return(task.Id); }
public static int AddTask(int pid, string text, string host, CMSDataContext db) { var gcm = new GCMHelper(host, db); var task = new CmsData.Task { Description = text, OwnerId = pid, StatusId = TaskStatusCode.Active }; db.Tasks.InsertOnSubmit(task); db.SubmitChanges(); gcm.sendRefresh(pid, GCMHelper.ACTION_REFRESH); return(task.Id); }
public int AddTask(int PeopleId) { var uid = Util.UserPeopleId.Value; var task = new Task { OwnerId = uid, WhoId = PeopleId, SourceContactId = Contact.ContactId, Description = "Follow up", Notes = Contact.Comments, ListId = TaskModel.InBoxId(uid), StatusId = TaskStatusCode.Active, Project = Contact.MinistryId == null ? null : Contact.Ministry.MinistryName, }; DbUtil.Db.Tasks.InsertOnSubmit(task); DbUtil.Db.SubmitChanges(); return task.Id; }
protected void AddTask_Command(object sender, CommandEventArgs e) { int index = e.CommandArgument.ToInt(); int pid = (int)ContacteeGrid.DataKeys[index]["PeopleId"]; var uid = Util.UserPeopleId.Value; var task = new Task { OwnerId = uid, WhoId = pid, SourceContactId = contact.ContactId, Description = "Follow up", ListId = Models.TaskModel.InBoxId(uid), StatusId = TaskStatusCode.Active, Project = contact.MinistryId == null ? null : contact.Ministry.MinistryName, }; DbUtil.Db.Tasks.InsertOnSubmit(task); DbUtil.Db.SubmitChanges(); Response.Redirect("~/Task/List/{0}".Fmt(task.Id)); }
public static void AddNewPerson(CMSDataContext Db, int newpersonid) { var NewPeopleManagerId = Db.NewPeopleManagerId; var task = new Task { ListId = 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 = GetRequiredTaskList(Db, "InBox", Util.UserPeopleId.Value).Id; } Db.Tasks.InsertOnSubmit(task); Db.SubmitChanges(); }
public int addToDB() { Task t = new Task(); t.OwnerId = ownerID; t.ListId = boxID; t.Due = due; t.Priority = priority; t.Description = description; t.StatusId = statusID; t.WhoId = aboutID; if(delegatedID > 0) t.CoOwnerId = delegatedID; t.Notes = notes; DbUtil.Db.Tasks.InsertOnSubmit(t); DbUtil.Db.SubmitChanges(); return t.Id; }
public int AddTask(int peopleId) { if (!Util.UserPeopleId.HasValue) throw new Exception("missing user on AddFollowup Task"); var uid = Util.UserPeopleId.Value; var task = new CmsData.Task { OwnerId = uid, WhoId = peopleId, ListId = CmsData.Task.GetRequiredTaskList(DbUtil.Db, "InBox", uid).Id, SourceContactId = Contact.ContactId, Description = "Follow up", Notes = Contact.Comments, StatusId = TaskStatusCode.Active, Project = Contact.MinistryId == null ? null : Contact.Ministry.MinistryName, ForceCompleteWContact = true }; DbUtil.Db.Tasks.InsertOnSubmit(task); DbUtil.Db.SubmitChanges(); return task.Id; }
public static int AddTasks(Guid qid) { var q = DbUtil.Db.PeopleQuery(qid); int qCount = q.Count(); if (qCount > 100) return qCount; foreach (var p in q) { var t = new Task { ListId = Task.GetRequiredTaskList("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; }
public static void NotifyIfNeeded(StringBuilder sb, Task task) { if (sb.Length <= 0 || !task.CoOwnerId.HasValue) return; var from = Util.UserPeopleId.Value == task.OwnerId ? task.Owner : task.CoOwner; var to = @from.PeopleId == task.OwnerId ? task.CoOwner : task.Owner; var req = HttpContext.Current.Request; DbUtil.Db.Email(@from.EmailAddress, to, "Task Updated by " + @from.Name, $"{TaskLink(task.Description, task.Id)} ({task.Priority})<br />\n{PeopleLink(task.AboutName, task.WhoId)}<br />\n{sb}"); }
public static void ChangeTask(StringBuilder sb, Task task, string field, object value) { switch (field) { case "Due": { var dt = (DateTime?) value; if (dt.HasValue) { if ((task.Due.HasValue && task.Due.Value != dt) || !task.Due.HasValue) sb.AppendFormat("Due changed from {0:d} to {1:d}<br />\n", task.Due, dt); task.Due = dt; } else { if (task.Due.HasValue) sb.AppendFormat("Due changed from {0:d} to null<br />\n", task.Due); task.Due = null; } } break; case "Notes": if (task.Notes != (string) value) sb.AppendFormat("Notes changed: {{<br />\n{0}<br />}}<br />\n", Util.SafeFormat((string) value)); task.Notes = (string) value; break; case "StatusId": if (task.StatusId != (int) value) { var dict = DbUtil.Db.TaskStatuses.AsEnumerable().ToDictionary(ts => ts.Id, ts => ts.Description); sb.AppendFormat("Task Status changed from {0} to {1}<br />\n", dict[task.StatusId ?? 10], dict[(int) value]); if ((int) value == TaskStatusCode.Complete) task.CompletedOn = Util.Now; else task.CompletedOn = null; } task.StatusId = (int) value; break; case "Description": if (task.Description != (string) value) sb.AppendFormat("Description changed from \"{0}\" to \"{1}\"<br />\n", task.Description, value); task.Description = (string) value; break; case "Project": if (task.Project != (string) value) sb.AppendFormat("Project changed from \"{0}\" to \"{1}\"<br />\n", task.Project, value); task.Project = (string) value; break; default: throw new ArgumentException("Invalid field in ChangeTask", field); } }
public Task AddTaskAbout(CMSDataContext Db, int AssignTo, string description) { var t = new Task { OwnerId = AssignTo, Description = description, ForceCompleteWContact = true, ListId = Task.GetRequiredTaskList(Db, "InBox", AssignTo).Id, StatusId = TaskStatusCode.Active, }; TasksAboutPerson.Add(t); return t; }
protected void Page_Load(object sender, EventArgs e) { int? id = this.QueryString<int?>("id"); contact = DbUtil.Db.Contacts.SingleOrDefault(c => c.ContactId == id); if (contact == null) Response.EndShowMessage("no contact", "/", "home"); if (!Page.IsPostBack) { GridPager.SetPageSize(ContacteeGrid); GridPager.SetPageSize(ContactorGrid); } if (!Page.IsPostBack && this.QueryString<int?>("edit").HasValue) EditUpdateButton1.Editing = true; EditUpdateButton1.Enabled = CanEdit(); DeleteButton.Enabled = CanEdit(); EditUpdateButton1.DataBind(); task = contact.TasksCompleted.FirstOrDefault(); TaskRow.Visible = task != null; if (TaskRow.Visible) { TaskLink.Text = task.Description; TaskLink.NavigateUrl = "~/Task/List/{0}".Fmt(task.Id); } CommentsSection.Visible = ctrl.CanViewComments((int)id); }
private void attach_Tasks(Task entity) { this.SendPropertyChanging(); entity.TaskList = this; }
public MobileTask populate(Task task, int currentPeopleID) { id = task.Id; status = task.TaskStatus.Description; statusID = task.StatusId ?? 0; created = task.CreatedOn; due = task.Due; completeWithContact = task.ForceCompleteWContact ?? false; owner = task.Owner.Name; ownerID = task.OwnerId; delegated = task.CoOwner != null ? task.CoOwner.Name : ""; delegatedID = task.CoOwnerId ?? 0; about = task.AboutName ?? ""; aboutID = task.WhoId ?? 0; desc = task.Description; notes = task.Notes; declineReason = task.DeclineReason; if (task.AboutWho?.Picture != null) { var image = ImageData.DbUtil.Db.Images.SingleOrDefault(i => i.Id == task.AboutWho.Picture.SmallId); if (image != null) { picture = Convert.ToBase64String(image.Bits); pictureX = task.AboutWho.Picture.X ?? 0; pictureY = task.AboutWho.Picture.Y ?? 0; } } if (statusID == CmsData.Codes.TaskStatusCode.Complete) { type = MobileTask.TYPE_COMPLETE; completed = task.CompletedOn; } else { if (delegatedID > 0 && delegatedID != currentPeopleID) { type = MobileTask.TYPE_DELEGATED; } else if (statusID == CmsData.Codes.TaskStatusCode.Active) { type = MobileTask.TYPE_ACTIVE; } else { type = MobileTask.TYPE_PENDING; } } return this; }
public static void ChangeTask(StringBuilder sb, CmsData.Task task, string field, object value, string host, CMSDataContext db) { switch (field) { case "Due": { var dt = (DateTime?)value; if (dt.HasValue) { if (task.Due.HasValue && task.Due.Value != dt || !task.Due.HasValue) { sb.AppendFormat("Due changed from {0:d} to {1:d}<br />\n", task.Due, dt); } task.Due = dt; } else { if (task.Due.HasValue) { sb.AppendFormat("Due changed from {0:d} to null<br />\n", task.Due); } task.Due = null; } } break; case "Notes": if (task.Notes != (string)value) { sb.AppendFormat("Notes changed: {{<br />\n{0}<br />}}<br />\n", Util.SafeFormat((string)value)); } task.Notes = (string)value; break; case "StatusId": if (task.StatusId != (int)value) { var dict = db.TaskStatuses.AsEnumerable().ToDictionary(ts => ts.Id, ts => ts.Description); sb.AppendFormat("Task Status changed from {0} to {1}<br />\n", dict[task.StatusId ?? 10], dict[(int)value]); if ((int)value == TaskStatusCode.Complete) { task.CompletedOn = Util.Now; } else { task.CompletedOn = null; } } task.StatusId = (int)value; break; case "Description": if (task.Description != (string)value) { sb.AppendFormat("Description changed from \"{0}\" to \"{1}\"<br />\n", task.Description, value); } task.Description = (string)value; break; case "LimitToRole": if (task.LimitToRole != (string)value) { sb.AppendFormat("LimitToRole changed from \"{0}\" to \"{1}\"<br />\n", task.LimitToRole, value); } task.LimitToRole = (string)value; break; case "Project": if (task.Project != (string)value) { sb.AppendFormat("Project changed from \"{0}\" to \"{1}\"<br />\n", task.Project, value); } task.Project = (string)value; break; default: throw new ArgumentException("Invalid field in ChangeTask", field); } }
private void detach_TasksAssigned(Task entity) { this.SendPropertyChanging(); entity.SourceContact = null; }
private void detach_TasksCoOwned(Task entity) { this.SendPropertyChanging(); entity.CoOwner = null; }
private void attach_TasksCoOwned(Task entity) { this.SendPropertyChanging(); entity.CoOwner = this; }
private void detach_TasksAboutPerson(Task entity) { this.SendPropertyChanging(); entity.AboutWho = null; }
private void detach_TasksCompleted(Task entity) { this.SendPropertyChanging(); entity.CompletedContact = null; }
public int AddTask(int pid, int listid, string text) { if (listid <= 0) listid = InBoxId(pid); var task = new Task { ListId = listid, Description = text, OwnerId = pid, StatusId = TaskStatusCode.Active }; DbUtil.Db.Tasks.InsertOnSubmit(task); DbUtil.Db.SubmitChanges(); return task.Id; }
public static void NotifyIfNeeded(StringBuilder sb, Task task) { if (sb.Length > 0 && task.CoOwnerId.HasValue) { var from = Util.UserPeopleId.Value == task.OwnerId ? task.Owner : task.CoOwner; var to = from.PeopleId == task.OwnerId ? task.CoOwner : task.Owner; var req = HttpContext.Current.Request; DbUtil.Db.Email(from.EmailAddress, to, "Task Updated by " + from.Name, "{0} ({3})<br />\n{1}<br />\n{2}".Fmt( TaskLink(task.Description, task.Id), task.AboutName, sb.ToString(), task.Priority)); } }
public static void NotifyIfNeeded(StringBuilder sb, Task task) { if (sb.Length <= 0 || !task.CoOwnerId.HasValue) return; var from = Util.UserPeopleId.Value == task.OwnerId ? task.Owner : task.CoOwner; var to = @from.PeopleId == task.OwnerId ? task.CoOwner : task.Owner; var req = HttpContext.Current.Request; DbUtil.Db.Email(@from.EmailAddress, to, $"Task updated by {Util.UserFullName}", CreateEmailBody(task)); }
public Task AddTaskAbout(CMSDataContext db, int AssignTo, string description) { var t = new Task { OwnerId = AssignTo, Description = description, ForceCompleteWContact = true, ListId = Task.GetRequiredTaskList(db, "InBox", AssignTo).Id, StatusId = TaskStatusCode.Active, }; TasksAboutPerson.Add(t); GCMHelper.sendRefresh(AssignTo, GCMHelper.ACTION_REFRESH); return t; }
private static string CreateEmailBody(Task task) { StringBuilder body = new StringBuilder(); body.Append($"Task: {TaskLink(task.Description, task.Id)}<br/>\n"); body.Append($"Created: {task.CreatedOn.FormatDateTm()}<br/>\n"); if (task.Due != null) body.Append($"Due: {task.Due.FormatDate()}<br/>\n"); if (task.StatusId == TaskStatusCode.Declined) body.Append($"Status: {task.TaskStatus.Description} - {task.DeclineReason}<br/>\n"); else body.Append($"Status: {task.TaskStatus.Description}<br/>\n"); body.Append($"About: {PeopleLink(task.AboutWho.Name, task.AboutWho.PeopleId)}<br/>\n"); body.Append($"Owner: {PeopleLink(task.Owner.Name, task.Owner.PeopleId)}<br/>\n"); if (task.CoOwnerId != null) body.Append($"Delegated To: {PeopleLink(task.CoOwner.Name, task.CoOwner.PeopleId)}<br/>\n"); body.Append($"Notes:<br/>\n{task.Notes}"); return body.ToString(); }
public static int AddTask(int pid, string text) { var task = new CmsData.Task { Description = text, OwnerId = pid, StatusId = TaskStatusCode.Active }; DbUtil.Db.Tasks.InsertOnSubmit(task); DbUtil.Db.SubmitChanges(); GCMHelper.sendRefresh(pid, GCMHelper.ACTION_REFRESH); return task.Id; }
private void detach_Tasks(Task entity) { this.SendPropertyChanging(); entity.TaskList = null; }