示例#1
0
        private void fillApppointmentForm(int taskID)
        {
            LeadTask task = TasksManager.GetLeadTask(taskID);

            if (task != null)
            {
                txtDetails.Text = task.details;
                txtSubject.Text = task.text;

                startDate.Text = ((DateTime)task.start_date).ToShortDateString();
                endDate.Text   = ((DateTime)task.end_date).ToShortDateString();

                startTime.Text = ((DateTime)task.start_date).ToString("hh:mm tt");
                endTime.Text   = ((DateTime)task.end_date).ToString("hh:mm tt");

                cbxAllDayEvent.Checked = task.isAllDay;

                ddlPriority.SelectedValue = task.priorityID.ToString();

                if (task.owner_id != null)
                {
                    ddlUsers.SelectedValue = task.owner_id.ToString();
                }

                //ucPolicyType.SelectedValue = task.policy_type.ToString();

                ucReminderInterval.SelectedValue = task.reminderInterval.ToString();
            }
        }
示例#2
0
        private void bindTasks()
        {
            int      roleID   = 0;
            int      clientID = 0;
            int      userID   = 0;
            DateTime fromDate = DateTime.Today;
            DateTime toDate   = DateTime.Today.AddHours(24).AddMinutes(-1);

            //int userID = 0;
            IQueryable <LeadTask> tasks = null;

            roleID = SessionHelper.getUserRoleId();

            if (roleID == (int)UserRole.Administrator)
            {
                // load tasks for user "Admin". Admin has not clientid associated with it.
                tasks = TasksManager.GetLeadTask(fromDate, toDate);
            }
            else if ((roleID == (int)UserRole.Client || roleID == (int)UserRole.SiteAdministrator) && Session["ClientId"] != null)
            {
                // load all tasks for client (sort of admin)
                clientID = SessionHelper.getClientId();

                tasks = TasksManager.GetLeadTask(clientID, fromDate, toDate);
            }
            else
            {
                userID = SessionHelper.getUserId();
                tasks  = TasksManager.GetLeadTaskByUserID(userID, fromDate, toDate);
            }
            gvTasks.DataSource = tasks.ToList();
            gvTasks.DataBind();
        }
示例#3
0
        private void BindUserPanel()
        {
            DateTime fromDate = SchedulerManager.GetScheduleFromDate(WebScheduleInfo1);
            DateTime toDate   = SchedulerManager.GetScheduleEndDate(WebDayView1);

            // bind user names to schedule
            bindResources();


            bindTasks(fromDate, toDate);

            List <LeadTask> appointments = null;

            // active resouce
            int userID = Convert.ToInt32(ActiveResourceKey);

            // get taks and show in scheduler as appointment
            Expression <Func <CRM.Data.Entities.Task, bool> > predicate = PredicateBuilder.True <CRM.Data.Entities.Task>();

            // load events only
            predicate = predicate.And(LeadTask => LeadTask.TaskType == 2);

            predicate    = predicate.And(LeadTask => LeadTask.start_date >= fromDate && LeadTask.end_date <= toDate);
            predicate    = predicate.And(LeadTask => LeadTask.owner_id == userID);
            appointments = TasksManager.GetLeadTask(predicate, fromDate, toDate);

            SchedulerManager.BindAppointment(WebScheduleInfo1, appointments);
        }
示例#4
0
        private void bindTasksForUser()
        {
            DateTime fromDate = SchedulerManager.GetScheduleFromDate(WebScheduleInfo1);
            DateTime toDate   = SchedulerManager.GetScheduleEndDate(WebDayView1);

            List <LeadTask> appointments = null;

            // get taks and show in scheduler as appointment
            Expression <Func <Task, bool> > predicate = PredicateBuilder.True <CRM.Data.Entities.Task>();

            predicate    = predicate.And(LeadTask => LeadTask.start_date >= fromDate && LeadTask.end_date <= toDate);
            predicate    = predicate.And(LeadTask => LeadTask.owner_id == userID);
            appointments = TasksManager.GetLeadTask(predicate, fromDate, toDate);

            SchedulerManager.BindAppointment(WebScheduleInfo1, appointments);
        }
示例#5
0
        protected void gvTasks_onSorting(object sender, GridViewSortEventArgs e)
        {
            System.Web.UI.WebControls.GridView gridView = sender as System.Web.UI.WebControls.GridView;
            int userID = 0;

            IQueryable <LeadTask> tasks = null;

            int roleID = SessionHelper.getUserRoleId();

            int clientID = SessionHelper.getClientId();

            DateTime fromDate = DateTime.Today;
            DateTime toDate   = DateTime.Today;

            if (roleID == (int)UserRole.Administrator)
            {
                // load tasks for user "Admin". Admin has not clientid associated with it.
                tasks = TasksManager.GetLeadTask(fromDate, toDate);
            }
            else if ((roleID == (int)UserRole.Client || roleID == (int)UserRole.SiteAdministrator) && clientID > 0)
            {
                // load all tasks for client (sort of admin)
                tasks = TasksManager.GetLeadTask(clientID, fromDate, toDate);
            }
            else
            {
                userID = SessionHelper.getUserId();
                tasks  = TasksManager.GetLeadTaskByUserID(userID, fromDate, toDate);
            }

            bool descending = false;

            if (ViewState[e.SortExpression] == null)
            {
                descending = false;
            }
            else
            {
                descending = !(bool)ViewState[e.SortExpression];
            }

            ViewState[e.SortExpression] = descending;

            gridView.DataSource = tasks.orderByExtension(e.SortExpression, descending);

            gridView.DataBind();
        }
示例#6
0
        private void bindTasksForClient()
        {
            DateTime fromDate = SchedulerManager.GetScheduleFromDate(WebScheduleInfo1);
            DateTime toDate   = SchedulerManager.GetScheduleEndDate(WebDayView1);

            List <LeadTask> appointments = null;

            // active resouce
            int userID = Convert.ToInt32(ActiveResourceKey);

            // get taks and show in scheduler as appointment
            Expression <Func <Task, bool> > predicate = PredicateBuilder.True <CRM.Data.Entities.Task>();

            predicate    = predicate.And(LeadTask => LeadTask.start_date >= fromDate && LeadTask.end_date <= toDate);
            predicate    = predicate.And(LeadTask => LeadTask.creator_id == clientID);
            appointments = TasksManager.GetLeadTask(predicate, fromDate, toDate);

            SchedulerManager.BindAppointment(WebScheduleInfo1, appointments);
        }
示例#7
0
        // client/admin changed to another user tab
        protected void WebScheduleInfo1_ActiveResourceChanged(object sender, ActiveResourceChangedEventArgs e)
        {
            List <LeadTask> tasks = null;

            DateTime fromDate = SchedulerManager.GetScheduleFromDate(WebScheduleInfo1);
            DateTime toDate   = SchedulerManager.GetScheduleEndDate(WebDayView1);
            int      userID   = Convert.ToInt32(e.ResourceDataKey);

            // save it in viewstate
            ActiveResourceKey = e.ResourceDataKey;

            Expression <Func <Task, bool> > predicate = PredicateBuilder.True <CRM.Data.Entities.Task>();

            predicate = predicate.And(LeadTask => LeadTask.start_date >= fromDate && LeadTask.end_date <= toDate);
            predicate = predicate.And(LeadTask => LeadTask.owner_id == userID);
            tasks     = TasksManager.GetLeadTask(predicate, fromDate, toDate);

            SchedulerManager.BindAppointment(WebScheduleInfo1, tasks);
            //SchedulerManager.BindUserAppointments(WebScheduleInfo1, userID, fromDate, toDate);
        }
示例#8
0
        private void bindTasksForLead()
        {
            int      leadID   = SessionHelper.getLeadId();
            Resource resource = null;

            if (leadID > 0)
            {
                resource         = new Resource();
                resource.DataKey = leadID.ToString();
                resource.Name    = SessionHelper.getClaimantName();
                WebScheduleInfo1.VisibleResources.Add(resource);

                WebScheduleInfo1.ActiveResourceName = WebScheduleInfo1.VisibleResources[1].Name;

                ActiveResourceKey = WebScheduleInfo1.VisibleResources[1].DataKey.ToString();

                DateTime fromDate = SchedulerManager.GetScheduleFromDate(WebScheduleInfo1);
                DateTime toDate   = SchedulerManager.GetScheduleEndDate(WebDayView1);

                List <LeadTask> appointments = null;

                // get tasks and show them in scheduler as appointments
                Expression <Func <Task, bool> > predicate = PredicateBuilder.True <CRM.Data.Entities.Task>();
                predicate    = predicate.And(LeadTask => LeadTask.start_date >= fromDate && LeadTask.end_date <= toDate);
                predicate    = predicate.And(LeadTask => LeadTask.lead_id == leadID);
                appointments = TasksManager.GetLeadTask(predicate, fromDate, toDate);

                // set resourcekey to lead id
                if (appointments != null && appointments.Count > 0)
                {
                    appointments.ForEach(x => x.resourceKey = leadID);
                }

                SchedulerManager.BindAppointment(WebScheduleInfo1, appointments);
            }
        }
示例#9
0
        private void bindTasks(DateTime fromDate, DateTime toDate)
        {
            List <LeadTask> tasks = null;

            Expression <Func <CRM.Data.Entities.Task, bool> > predicate = PredicateBuilder.True <CRM.Data.Entities.Task>();

            if (roleID == (int)UserRole.Administrator)
            {
            }
            else if ((roleID == (int)UserRole.Client || roleID == (int)UserRole.SiteAdministrator) && clientID > 0)
            {
                // load all tasks for client (sort of admin)

                predicate = predicate.And(LeadTask => LeadTask.creator_id == clientID);

                predicate = predicate.And(LeadTask => LeadTask.start_date >= fromDate && LeadTask.end_date <= toDate);

                // get overdue task for client
                predicate = predicate.Or(LeadTask => LeadTask.status_id == 1 && LeadTask.end_date <= toDate && LeadTask.creator_id == clientID);
            }
            else
            {
                // regular users

                predicate = predicate.And(LeadTask => LeadTask.start_date >= fromDate && LeadTask.end_date <= toDate);

                predicate = predicate.And(LeadTask => LeadTask.owner_id == userID);
            }

            tasks = TasksManager.GetLeadTask(predicate, fromDate, toDate);

            if (rbOn.Checked)
            {
                userID = SessionHelper.getUserId();

                CRM.Data.Entities.SecUser secUser = SecUserManager.GetByUserId(userID);
                string emailaddress = secUser.Email;
                string password     = SecurityManager.Decrypt(secUser.emailPassword);
                string url          = "https://" + secUser.emailHost + "/EWS/Exchange.asmx";

                ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
                service.Credentials = new WebCredentials(emailaddress, password);
                service.Url         = new Uri(url);

                try
                {
                    TasksFolder tasksfolder = TasksFolder.Bind(service, WellKnownFolderName.Tasks);

                    ItemView view = new ItemView(int.MaxValue);
                    FindItemsResults <Item> OutlookTasks = tasksfolder.FindItems(view);

                    CalendarView calView = new CalendarView(fromDate, toDate);

                    FindItemsResults <Item> instanceResults = service.FindItems(WellKnownFolderName.Calendar, calView);

                    foreach (var item in instanceResults)
                    {
                        LeadTask newTask = new LeadTask();
                        Microsoft.Exchange.WebServices.Data.Appointment appointment = item as Microsoft.Exchange.WebServices.Data.Appointment;

                        newTask.creator_id = userID;
                        newTask.details    = appointment.Subject;
                        newTask.end_date   = appointment.End;
                        newTask.isAllDay   = appointment.IsRecurring;
                        newTask.text       = appointment.Subject;

                        newTask.priorityName = appointment.Importance.ToString();
                        newTask.owner_name   = appointment.Organizer.Name;
                        newTask.start_date   = appointment.Start;

                        tasks.Add(newTask);
                    }

                    foreach (var task in OutlookTasks)
                    {
                        task.Load();
                        Microsoft.Exchange.WebServices.Data.Task myTask = task as Microsoft.Exchange.WebServices.Data.Task;

                        LeadTask newTask = new LeadTask();
                        newTask.creator_id   = userID;
                        newTask.details      = ExtractHtmlInnerText(myTask.Body.Text);
                        newTask.end_date     = myTask.DueDate;
                        newTask.isAllDay     = myTask.IsRecurring;
                        newTask.text         = myTask.Subject;
                        newTask.statusName   = myTask.Status.ToString();
                        newTask.priorityName = myTask.Importance.ToString();
                        newTask.owner_name   = myTask.Owner;
                        if (myTask.StartDate == null)
                        {
                            newTask.start_date = myTask.DueDate;
                        }
                        else
                        {
                            newTask.start_date = myTask.StartDate;
                        }

                        tasks.Add(newTask);
                    }
                }
                catch (Exception ex)
                {
                }
            }
            // show tasks
            gvTasks.DataSource = tasks;
            gvTasks.DataBind();
        }