protected void btnSave_Click(object sender, EventArgs e) { Page.Validate("appointment"); if (!Page.IsValid) return; int reminderInterval = 0; int taskID = Convert.ToInt32(ViewState["TaskID"]); Task task = null; if (taskID == 0) { task = new Task(); task.CarrierID = carrierID; task.owner_id = Core.SessionHelper.getUserId(); } else { task = TasksManager.Get(taskID); } if (task != null) { // set reminder flag reminderInterval = Convert.ToInt32(ucReminderInterval.SelectedValue); task.ReminderInterval = reminderInterval; task.IsReminder = (reminderInterval > 0); task.creator_id = Core.SessionHelper.getClientId(); task.text = txtSubject.Text.Trim(); task.details = txtDetails.Text.Trim(); string end_date = string.Format("{0} {1}", endDate.Text, endTime.Text); string start_date = string.Format("{0} {1}", startDate.Text, startTime.Text); task.start_date = Convert.ToDateTime(start_date); task.end_date = Convert.ToDateTime(end_date); task.isAllDay = cbxAllDayEvent.Checked; task.status_id = (int)Globals.Task_Status.Active; task.owner_id = Core.SessionHelper.getUserId(); if (ddlPriority.SelectedIndex > 0) task.PriorityID = Convert.ToInt32(ddlPriority.SelectedValue); TasksManager.Save(task); showGridPanel(); bindData(); } }
protected void createTaskForAdjusterSupervisor(int adjusterSupervisorID, int leadID, string ruleName, string taskDescription) { Task task = null; task = new Task(); task.creator_id = this.clientID; task.TaskType = (int)Globals.TaskType.Task; task.text = ruleName; task.details = taskDescription; task.start_date = DateTime.Now; task.end_date = DateTime.Now; task.status_id = (int)Globals.Task_Status.Active; task.owner_id = adjusterSupervisorID; task.PriorityID = (int)Globals.Task_Priority.High; task.lead_id = leadID; TasksManager.Save(task); }
/// <summary> /// Create a new Task object. /// </summary> /// <param name="id">Initial value of the id property.</param> public static Task CreateTask(global::System.Int32 id) { Task task = new Task(); task.id = id; return task; }
public void saveEvent() { Task task = null; Recurrence recurrence = null; Reminder reminder = null; string success = "Event saved successfully."; string error = "Event was not saved."; int taskID = Convert.ToInt32(hf_taskID.Value); int clientID = SessionHelper.getClientId(); if (taskID > 0) { // edit task = TasksManager.Get(taskID); } else { // new task = new Task(); task.creator_id = clientID; task.TaskType = 2; // save task as an event task.status_id = 1; } if (task != null) { try { task.text = txtSubject.Text.Trim(); task.details = txtDescription.Text.Trim(); task.start_date = txtEventDateTimeStart.Date; task.end_date = txtEventDateTimeEnd.Date; task.owner_id = Convert.ToInt32(ddlOwner.SelectedValue); task.ReminderInterval = Convert.ToInt32(ddlReminderWhen.SelectedValue); using (TransactionScope scope = new TransactionScope()) { taskID = TasksManager.Save(task); hf_taskID.Value = taskID.ToString(); // reminder if (ddlReminderWhen.SelectedIndex > 0 && task.Reminder != null && task.Reminder.Count == 0) { // new reminder reminder = new Reminder(); reminder.TaskID = taskID; saveReminder(reminder); } else if (ddlReminderWhen.SelectedIndex > 0 && task.Reminder != null && task.Reminder.Count == 1) { // edit existing reminder reminder = task.Reminder.FirstOrDefault(); saveReminder(reminder); } else if (ddlReminderWhen.SelectedIndex == 0 && task.Reminder != null && task.Reminder.Count == 1 && ViewState["ReminderID"] != null) { // delete reminder ReminderManager.Delete(Convert.ToInt32(ViewState["ReminderID"])); } // recurring if (!string.IsNullOrEmpty(txtRecurrenceStartDate.Text) && task.Recurrence == null) { // new recurrence recurrence = new Recurrence(); recurrence.TaskID = taskID; saveRecurrence(recurrence); } else if (!string.IsNullOrEmpty(txtRecurrenceStartDate.Text) && task.Recurrence != null) { // edit recurrence recurrence =(Recurrence) task.Recurrence; saveRecurrence(recurrence); } else if (string.IsNullOrEmpty(txtRecurrenceStartDate.Text) && task.Recurrence != null && ViewState["RecurringID"] != null) { // delete recurrence RecurrenceManager.Delete(Convert.ToInt32(ViewState["RecurringID"])); } // commit changes to DB scope.Complete(); } // allow user to add invitees pnlInvitees.Visible = true; if (this.Page is CRM.Web.Protected.EventEdit) ((CRM.Web.Protected.EventEdit)this.Page).setErrorMessage(success, "ok"); else if (this.Page is CRM.Web.Protected.EventEditPopUp) ((CRM.Web.Protected.EventEditPopUp)this.Page).setErrorMessage(success, "ok"); //lblMessage.Text = "Event saved successfully."; //lblMessage.CssClass = "ok"; } catch (Exception ex) { Core.EmailHelper.emailError(ex); if (this.Page is CRM.Web.Protected.EventEdit) ((CRM.Web.Protected.EventEdit)this.Page).setErrorMessage(error, "error"); else if (this.Page is CRM.Web.Protected.EventEditPopUp) ((CRM.Web.Protected.EventEditPopUp)this.Page).setErrorMessage(error, "error"); //lblMessage.Text = "Event was not saved."; //lblMessage.CssClass = "error"; } } }
private void saveTask() { int? contactID = 0; Task task = null; Recurrence recurrence = null; int taskID = 0; clientID = SessionHelper.getClientId(); if (this.TaskID > 0) { // edit task = TasksManager.Get(this.TaskID); } else { // new task = new Task(); task.creator_id = this.clientID; task.TaskType = (int)Globals.TaskType.Task; } if (task != null) { try { contactID = Convert.ToInt32(hf_contactID.Value); task.text = txtSubject.Text.Trim(); task.details = txtDescription.Text.Trim(); task.start_date = txtDateDue.Date; task.status_id = Convert.ToInt32(ddlTaskStatus.SelectedValue); task.owner_id = Convert.ToInt32(ddlOwner.SelectedValue); task.PriorityID = Convert.ToInt32(ddlPriority.SelectedValue); // contact information task.ContactID = contactID > 0 ? contactID : null; using (TransactionScope scope = new TransactionScope()) { // recurring if (!string.IsNullOrEmpty(txtRecurrenceStartDate.Text) && task.Recurrence.Count <= 0) { // new recurrence recurrence = new Recurrence(); recurrence.TaskID = task.id; saveRecurrence(recurrence); generateRecurrenceSequence(task, recurrence); } else if (!string.IsNullOrEmpty(txtRecurrenceStartDate.Text) && task.Recurrence.Count > 0) { // edit recurrence //recurrence = (Recurrence)task.Recurrence; foreach (Recurrence recu in task.Recurrence) { editRecurrence(recu); RecurrenceManager.DeleteTasks(Convert.ToInt32(ViewState["RecurringID"])); generateRecurrenceSequence(task, recu); } } else if (string.IsNullOrEmpty(txtRecurrenceStartDate.Text) && string.IsNullOrEmpty(txtRecurrenceEndDate.Text) && task.Recurrence != null && ViewState["RecurringID"] != null) { // delete recurrence along with tasks RecurrenceManager.Delete(Convert.ToInt32(ViewState["RecurringID"])); } else { // save task with no recurrence taskID = TasksManager.Save(task); } // commit changes to DB scope.Complete(); } lblMessage.Text = "Task saved successfully."; lblMessage.CssClass = "ok"; } catch (Exception ex) { Core.EmailHelper.emailError(ex); lblMessage.Text = "Task was not saved."; lblMessage.CssClass = "error"; } } }
/// <summary> /// Deprecated Method for adding a new object to the Tasks EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToTasks(Task task) { base.AddObject("Tasks", task); }
private void generateWeeklySequence(Task task, Recurrence recurrence) { DateTime dateStart = DateTime.MinValue; int everyNweeks = recurrence.RepeatWeeklyEveryNWeeks ?? 0; bool isMatch = false; Task recurrentTask = null; //Reminder reminder = null; int taskID = 0; DateTime weekStartDate = DateTime.MinValue; dateStart = (DateTime)recurrence.DateStart; while (dateStart <= recurrence.DateEnd) { weekStartDate = dateStart; for (int i = 1; i < 8; i++) { isMatch = false; if (weekStartDate.DayOfWeek == DayOfWeek.Sunday && (recurrence.IsRepeatWeeklyEveryNWeeksSun ?? false)) { isMatch = true; } else if (weekStartDate.DayOfWeek == DayOfWeek.Monday && (recurrence.IsRepeatWeeklyEveryNWeeksMon ?? false)) { isMatch = true; } else if (weekStartDate.DayOfWeek == DayOfWeek.Tuesday && (recurrence.IsRepeatWeeklyEveryNWeeksTue ?? false)) { isMatch = true; } else if (weekStartDate.DayOfWeek == DayOfWeek.Wednesday && (recurrence.IsRepeatWeeklyEveryNWeeksWed ?? false)) { isMatch = true; } else if (weekStartDate.DayOfWeek == DayOfWeek.Thursday && (recurrence.IsRepeatWeeklyEveryNWeeksThur ?? false)) { isMatch = true; } else if (weekStartDate.DayOfWeek == DayOfWeek.Friday && (recurrence.IsRepeatWeeklyEveryNWeeksFri ?? false)) { isMatch = true; } else if (weekStartDate.DayOfWeek == DayOfWeek.Saturday && (recurrence.IsRepeatWeeklyEveryNWeeksSat ?? false)) { isMatch = true; } if (isMatch) { recurrentTask = new Task(); recurrentTask.ContactID = task.ContactID; recurrentTask.creator_id = task.creator_id; recurrentTask.details = task.details; recurrentTask.owner_id = task.owner_id; recurrentTask.PriorityID = task.PriorityID; // recurrence sequence recurrentTask.RecurringID = recurrence.RecurringID; recurrentTask.status_id = 1; recurrentTask.text = task.text; recurrentTask.TaskType = (int)Globals.TaskType.Task; recurrentTask.start_date = weekStartDate; // save task taskID = TasksManager.Save(recurrentTask); } // increment date weekStartDate = weekStartDate.AddDays(1); // safety check if (weekStartDate > recurrence.DateEnd) break; } dateStart = dateStart.AddDays(7 * everyNweeks); } }
//private void generateYearlySequence(Task task, Recurrence recurrence) { // int day = 0; // DateTime dateStart = DateTime.MinValue; // int month = 0; // Task recurrentTask = null; // //Reminder reminder = null; // int taskID = 0; // int year = 0; // int weekday = 0; // int whichOne = 0; // if (recurrence.IsRepeatYearlyOn ?? false) { // whichOne = recurrence.RepeatYearlyOn ?? 0; // first, second, third, fourth // weekday = recurrence.RepeatYearlyOnWeekDay ?? 0; // month = recurrence.RepeatYearlyOnMonth ?? 0; // dateStart = (DateTime)recurrence.DateStart; // while (dateStart <= recurrence.DateEnd) { // year = dateStart.Year; // dateStart = new DateTime(year, month, 1); // dateStart = DateHelper.getDate(whichOne, (DayOfWeek)recurrence.RepeatYearlyOnWeekDay, dateStart); // recurrentTask = new Task(); // recurrentTask.ContactID = task.ContactID; // recurrentTask.creator_id = task.creator_id; // recurrentTask.details = task.details; // recurrentTask.owner_id = task.owner_id; // recurrentTask.PriorityID = task.PriorityID; // // recurrence sequence // recurrentTask.RecurringID = recurrence.RecurringID; // recurrentTask.status_id = 1; // recurrentTask.text = task.text; // recurrentTask.TaskType = (int)Globals.TaskType.Task; // recurrentTask.start_date = dateStart; // // save task // taskID = TasksManager.Save(recurrentTask); // // increment date // dateStart = dateStart.AddYears(1); // } // } // else if (recurrence.IsRepeatYearlyOnEvery ?? false) { // month = Convert.ToInt32(ddlRepeatYearlyOnEveryMonth.SelectedValue); // day = txtRecurringYearlyOnEveryMonthDay.ValueInt; // year = ((DateTime)recurrence.DateStart).Year; // dateStart = (DateTime)recurrence.DateStart; // while (dateStart <= recurrence.DateEnd) { // recurrentTask = new Task(); // recurrentTask.ContactID = task.ContactID; // recurrentTask.creator_id = task.creator_id; // recurrentTask.details = task.details; // recurrentTask.owner_id = task.owner_id; // recurrentTask.PriorityID = task.PriorityID; // // recurrence sequence // recurrentTask.RecurringID = recurrence.RecurringID; // recurrentTask.status_id = 1; // recurrentTask.text = task.text; // recurrentTask.TaskType = (int)Globals.TaskType.Task; // // build date for task // dateStart = new DateTime(year, month, day); // recurrentTask.start_date = dateStart; // // save task // taskID = TasksManager.Save(recurrentTask); // // increment date // dateStart = dateStart.AddYears(1); // } // } //} private void generateRecurrenceSequence(Task task, Recurrence recurrence) { switch (recurrence.RepeatFrequencyID) { case (int)Globals.RepeatFrequency.Daily: generateDailySequence(task, recurrence); break; case (int)Globals.RepeatFrequency.Weekly: generateWeeklySequence(task, recurrence); break; case (int)Globals.RepeatFrequency.Monthly: generateMonthlySequence(task, recurrence); break; case (int)Globals.RepeatFrequency.Year: //generateYearlySequence(task, recurrence); break; default: break; } }
private void generateMonthlySequence(Task task, Recurrence recurrence) { DateTime dateStart = DateTime.MinValue; int onDay = 0; int everyNmonth = 0; Task recurrentTask = null; Reminder reminder = null; int taskID = 0; DateTime startMonthDate = DateTime.MinValue; if (recurrence.IsRepeatMonthlyOn ?? false) { // first, second, third, last week day of month dateStart = (DateTime)recurrence.DateStart; everyNmonth = recurrence.RepeatMonthlyOnEvery ?? 0; while (dateStart <= recurrence.DateEnd) { switch (recurrence.RepeatMonthlyOn) { case 1: // first dateStart = DateHelper.getDate(1, (DayOfWeek)recurrence.RepeatMonthlyOnWeekDay, dateStart); break; case 2: // second dateStart = DateHelper.getDate(2, (DayOfWeek)recurrence.RepeatMonthlyOnWeekDay, dateStart); break; case 3: // third dateStart = DateHelper.getDate(3, (DayOfWeek)recurrence.RepeatMonthlyOnWeekDay, dateStart); break; case 4: // fourth dateStart = DateHelper.getDate(4, (DayOfWeek)recurrence.RepeatMonthlyOnWeekDay, dateStart); break; case 5: // last dateStart = DateHelper.getDate(5, (DayOfWeek)recurrence.RepeatMonthlyOnWeekDay, dateStart); break; } recurrentTask = new Task(); recurrentTask.ContactID = task.ContactID; recurrentTask.creator_id = task.creator_id; recurrentTask.details = task.details; recurrentTask.owner_id = task.owner_id; recurrentTask.PriorityID = task.PriorityID; // recurrence sequence recurrentTask.RecurringID = recurrence.RecurringID; recurrentTask.status_id = 1; recurrentTask.text = task.text; recurrentTask.TaskType = (int)Globals.TaskType.Task; recurrentTask.start_date = dateStart; // save task taskID = TasksManager.Save(recurrentTask); // increment date dateStart = dateStart.AddDays(30 * everyNmonth); } } else if (recurrence.IsRepeatMonthlyOnDay ?? false) { // specific day of the month onDay = recurrence.RepeatMonthlyOnDay ?? 0; everyNmonth = recurrence.RepeatMonthlyOnDayEvery ?? 0; dateStart = (DateTime)recurrence.DateStart; while (dateStart <= recurrence.DateEnd) { recurrentTask = new Task(); recurrentTask.ContactID = task.ContactID; recurrentTask.creator_id = task.creator_id; recurrentTask.details = task.details; recurrentTask.owner_id = task.owner_id; recurrentTask.PriorityID = task.PriorityID; // recurrence sequence recurrentTask.RecurringID = recurrence.RecurringID; recurrentTask.status_id = 1; recurrentTask.text = task.text; recurrentTask.TaskType = (int)Globals.TaskType.Task; dateStart = new DateTime(dateStart.Year, dateStart.Month, onDay); recurrentTask.start_date = dateStart; // save task taskID = TasksManager.Save(recurrentTask); // increment date dateStart = dateStart.AddDays(30 * everyNmonth); } } }
private void generateDailySequence(Task task, Recurrence recurrence) { int dayCount = 0; DateTime dateStart = DateTime.MinValue; //DateTime dateEnd = DateTime.MinValue; TimeSpan diff; Task recurrentTask = null; Reminder reminder = null; int taskID = 0; if (recurrence.IsRepeatDailyEveryDay ?? false) { diff = (DateTime)recurrence.DateEnd - (DateTime)recurrence.DateStart; dateStart = (DateTime)recurrence.DateStart; dayCount = diff.Days + 1; for (int i = 0; i < dayCount; i++) { recurrentTask = new Task(); recurrentTask.ContactID = task.ContactID; recurrentTask.creator_id = task.creator_id; recurrentTask.details = task.details; recurrentTask.owner_id = task.owner_id; recurrentTask.PriorityID = task.PriorityID; // recurrence sequence recurrentTask.RecurringID = recurrence.RecurringID; recurrentTask.start_date = dateStart; recurrentTask.status_id = 1; recurrentTask.text = task.text; recurrentTask.TaskType = (int)Globals.TaskType.Task; // save task taskID = TasksManager.Save(recurrentTask); // increment date dateStart = dateStart.AddDays(1); } } else if (recurrence.IsRepeatDailyForEveryNDays ?? false) { dateStart = (DateTime)recurrence.DateStart; while (dateStart <= recurrence.DateEnd) { recurrentTask = new Task(); recurrentTask.ContactID = task.ContactID; recurrentTask.creator_id = task.creator_id; recurrentTask.details = task.details; recurrentTask.owner_id = task.owner_id; recurrentTask.PriorityID = task.PriorityID; // recurrence sequence recurrentTask.RecurringID = recurrence.RecurringID; recurrentTask.start_date = dateStart; recurrentTask.status_id = 1; recurrentTask.text = task.text; recurrentTask.TaskType = (int)Globals.TaskType.Task; // save task taskID = TasksManager.Save(recurrentTask); // increment date dateStart = dateStart.AddDays(recurrence.RepeatDailyForEveryNDays ?? 0); } } }
protected void btnSave_Click(object sender, EventArgs e) { string end_date = null; int reminderInterval = 0; int leadID = 0; string start_date = null; Task task = null; int userID = 0; Page.Validate(); if (!Page.IsValid) return; if (TaskID == 0) { task = new Task(); } else { task = TasksManager.Get(TaskID); } leadID = SessionHelper.getLeadId(); // set reminder flag if (ucReminderInterval.SelectedIndex > 0) { reminderInterval = Convert.ToInt32(ucReminderInterval.SelectedValue); task.ReminderInterval = reminderInterval; } task.IsReminder = (reminderInterval > 0); task.creator_id = clientID; task.text = txtSubject.Text.Trim(); task.details = txtDetails.Text.Trim(); end_date = string.Format("{0} {1}", endDate.Text, endTime.Text); start_date = string.Format("{0} {1}", startDate.Text, startTime.Text); task.start_date = Convert.ToDateTime(start_date); task.end_date = Convert.ToDateTime(end_date); task.isAllDay = cbxAllDayEvent.Checked; task.status_id = (int)Globals.Task_Status.Active; // assign owner //if (roleID == (int)UserRole.Client || roleID == (int)UserRole.SiteAdministrator) { userID = Convert.ToInt32(ddlUsers.SelectedValue); if (userID > 0) task.owner_id = userID; //} //else //task.owner_id = userID; if (this.isLead && leadID > 0) task.lead_id = leadID; //task.policy_type = Convert.ToInt32(ucPolicyType.SelectedValue); if (ddlPriority.SelectedIndex > 0) task.PriorityID = Convert.ToInt32(ddlPriority.SelectedValue); TasksManager.Save(task); //string js = "<script>window.close();window.opener.location.reload();</script>"; closeWindow(); }