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(); } }
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(); }
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); }
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); }
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(); }
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); }
// 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); }
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); } }
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(); }