I have a scenario where certian users of an administrator group need to be able to view all appointments for any users in my scheduler(see screen shot 1) which works just fine. Now I need to limit what users are displayed on the add/edit addointment screen based on my security model(see screen shot 2). Is this possible? Currently my OnDataBound Event only displays users on the add/Edit for that have been selected from the checkbox list.
protected void RadScheduler1_OnDataBound(object sender, EventArgs e) { foreach (Resource res in RadScheduler1.Resources.GetResourcesByType("User Name")) { RadScheduler1.Resources.Remove(res); } List<Resource> list = new List<Resource>(); foreach (Telerik.Web.UI.Appointment a in RadScheduler1.Appointments.GetAppointmentsInRange(RadScheduler1.VisibleRangeStart, RadScheduler1.VisibleRangeEnd)) { Resource userName = a.Resources.GetResourceByType("User Name"); if (userName != null && !list.Contains(userName)) { list.Add(userName); } foreach (ListItem l in cblUsers.Items) { if (l.Selected) { Resource name = new Resource("User Name", int.Parse(l.Value), l.Text); if (!list.Contains(name)) { list.Add(name); } } } //using (ProNetData d = new ProNetData()) //{ // var users = (from c in d.AppointmentUsersAssigned.Include("User") // select new { UserID = c.UserID, UserName = c.User.LastName + ", " + c.User.FirstName.Substring(0, 1) }).ToList(); // foreach (var v in users) // { // Resource name = new Resource("User Name", v.UserID, v.UserName); // if (!list.Contains(name)) // { // list.Add(name); // } // } //} } list.Sort(delegate(Resource resA, Resource resB) { return resA.Text.CompareTo(resB.Text); }); RadScheduler1.Resources.AddRange(list); RadScheduler1.ResourceTypes.FindByName("User Name").AllowMultipleValues = true; }