Example #1
0
    protected List <PersonWithUser> GetDataSource()
    {
        List <PersonWithUser> personsAndUsers = new List <PersonWithUser>();

        object personListObj = ViewState[PersonList];

        if (personListObj != null)
        {
            if (!string.IsNullOrEmpty(personListObj.ToString()))
            {
                string[] personList = personListObj.ToString().Split(',');
                foreach (string personId in personList)
                {
                    Person person = PersonManager.GetPersonById(personId);
                    BusiBlocks.Membership.User user = BusiBlocks.Membership.MembershipManager.GetUserByPerson(person);
                    Site defaultSite = PersonManager.GetDefaultSiteByPerson(person);
                    if (defaultSite == null)
                    {
                        defaultSite = new Site();
                    }
                    personsAndUsers.Add(new PersonWithUser {
                        Person = person, User = user, PrimarySite = defaultSite
                    });
                }
            }
        }
        return(personsAndUsers);
    }
    /// <summary>
    /// Default list to which the RadGrid is databound. Uses viewstate that is populated using person's sites
    /// </summary>
    /// <param name="personsAndUsers"></param>
    protected void SearchDefault(List <PersonWithUser> personsAndUsers)
    {
        object personListObj = ViewState[PersonList];

        if (personListObj != null)
        {
            if (!string.IsNullOrEmpty(personListObj.ToString()))
            {
                string[] personList = personListObj.ToString().Split(',');
                foreach (string personId in personList)
                {
                    Person person = PersonManager.GetPersonById(personId);
                    if (!person.Deleted)
                    {
                        BusiBlocks.Membership.User user = BusiBlocks.Membership.MembershipManager.GetUserByPerson(person);
                        Site defaultSite = PersonManager.GetDefaultSiteByPerson(person);
                        if (defaultSite == null)
                        {
                            defaultSite = new Site();
                        }
                        personsAndUsers.Add(new PersonWithUser {
                            Person = person, User = user, PrimarySite = defaultSite
                        });
                    }
                }
            }
        }
        RadGrid1.DataSource = personsAndUsers;
        originalDS          = personsAndUsers;
        currentDS           = null;
    }
    protected void RadGrid1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
    {
        if (RadGrid1.MasterTableView.SortExpressions.Count == 0)
        {
            GridSortExpression expression = new GridSortExpression();
            expression.FieldName = "User.Name";
            expression.SortOrder = GridSortOrder.Ascending;
            RadGrid1.MasterTableView.SortExpressions.AddSortExpression(expression);
        }
        if (RadGrid2.MasterTableView.SortExpressions.Count == 0)
        {
            GridSortExpression expression = new GridSortExpression();
            expression.FieldName = "Name";
            expression.SortOrder = GridSortOrder.Ascending;
            RadGrid2.MasterTableView.SortExpressions.AddSortExpression(expression);
        }

        object personsList = ViewState[PersonList];

        if (personsList == null || personsList is string)
        {
            var personsAndUsers = new List <PersonWithUser>();
            foreach (Person person in PersonManager.GetAllPersons())
            {
                BusiBlocks.Membership.User user = BusiBlocks.Membership.MembershipManager.GetUserByPerson(person);
                Site defaultSite = PersonManager.GetDefaultSiteByPerson(person);
                if (defaultSite == null)
                {
                    defaultSite = new Site();
                }
                personsAndUsers.Add(new PersonWithUser {
                    Person = person, User = user, PrimarySite = defaultSite
                });
            }
            RadGrid1.DataSource = personsAndUsers;
        }
        else if (personsList is IList <string> )
        {
            var personIdList = personsList as IList <string>;
            var personList   = new List <PersonWithUser>();
            foreach (string personId in personIdList)
            {
                Person person = PersonManager.GetPersonById(personId);
                BusiBlocks.Membership.User user = BusiBlocks.Membership.MembershipManager.GetUserByPerson(person);
                Site defaultSite = PersonManager.GetDefaultSiteByPerson(person);
                if (defaultSite == null)
                {
                    defaultSite = new Site();
                }
                personList.Add(new PersonWithUser {
                    Person = person, User = user, PrimarySite = defaultSite
                });
            }
            RadGrid1.DataSource = personList;
        }
    }
    protected void RadGrid1_NeedDataSource(object source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
    {
        if (RadGrid1.MasterTableView.SortExpressions.Count == 0)
        {
            GridSortExpression expression = new GridSortExpression();
            expression.FieldName = "Person.LastName";
            expression.SortOrder = GridSortOrder.Ascending;
            RadGrid1.MasterTableView.SortExpressions.AddSortExpression(expression);
        }
        var    personsAndUsers = new List <PersonWithUser>();
        object personListObj   = ViewState[PersonList];

        if (personListObj != null)
        {
            string personListStr = personListObj.ToString();
            if (!string.IsNullOrEmpty(personListStr))
            {
                if (personListStr.Equals("All"))
                {
                    foreach (Person person in PersonManager.GetAllPersons())
                    {
                        BusiBlocks.Membership.User user = BusiBlocks.Membership.MembershipManager.GetUserByPerson(person);
                        Site defaultSite = PersonManager.GetDefaultSiteByPerson(person);
                        if (defaultSite == null)
                        {
                            defaultSite = new Site();
                        }
                        personsAndUsers.Add(new PersonWithUser {
                            Person = person, User = user, PrimarySite = defaultSite
                        });
                    }
                }
                else
                {
                    string[] personList = personListObj.ToString().Split(',');
                    foreach (string personId in personList)
                    {
                        Person person = PersonManager.GetPersonById(personId);
                        BusiBlocks.Membership.User user = BusiBlocks.Membership.MembershipManager.GetUserByPerson(person);
                        Site defaultSite = PersonManager.GetDefaultSiteByPerson(person);
                        if (defaultSite == null)
                        {
                            defaultSite = new Site();
                        }
                        personsAndUsers.Add(new PersonWithUser {
                            Person = person, User = user, PrimarySite = defaultSite
                        });
                    }
                }

                personsAndUsers.Sort(new KeyComparer <PersonWithUser>(x => x.User.Name));
                RadGrid1.DataSource = personsAndUsers;

                if (personsAndUsers.Count == 0)
                {
                    RadGrid1.Visible    = false;
                    headingUser.Visible = false;
                }
                else
                {
                    RadGrid1.Visible    = true;
                    headingUser.Visible = true;
                    lblHeadingUser.Text = "Users : " + ViewState[CurrentSite] != null
                                              ? ViewState[CurrentSite].ToString()
                                              : string.Empty;
                }
            }
        }
    }