Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
 /// <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;
 }
Ejemplo n.º 4
0
        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";
                }
            }
        }
Ejemplo n.º 5
0
        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";
                }
            }
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Deprecated Method for adding a new object to the Tasks EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToTasks(Task task)
 {
     base.AddObject("Tasks", task);
 }
Ejemplo n.º 7
0
        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);

            }
        }
Ejemplo n.º 8
0
        //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;
            }
        }
Ejemplo n.º 9
0
        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);
                }
            }
        }
Ejemplo n.º 10
0
        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);
                }
            }
        }
Ejemplo n.º 11
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();
        }