>>> public List<MembershipUserWrapperForMP> GetMembers(bool approvalStatus, string sortData, string ExcludeRole, int SiteID) >>>>>>I want to be able to call it without 3 last parameters (they should be optional).
>>>[DataObjectMethod(DataObjectMethodType.Select, false)] >>> public List<MembershipUserWrapperForMP> GetMembers() >>> { >>> return GetMembers(true, true, null, null, null, null); >>> }>>>
>>return GetMembers(true, "", "", -1) >>>>
>> >>protected void GetMembers(bool approvedStatus) >>{ >> Return GetMembers(approvedStatus, "", "", -1); >>} >> >>And your overload method would have all the parameters to do all the work. >>>>
> [DataObjectMethod(DataObjectMethodType.Select, false)] > public List<MembershipUserWrapperForMP> GetMembers() > { > return GetMembers(true, true, null, null, null, null ); > } > > [DataObjectMethod(DataObjectMethodType.Select, true)] > public List<MembershipUserWrapperForMP> GetMembers(string sortData, string ExcludeRole, int SiteID) > { > return GetMembers(true, true, null, sortData, ExcludeRole, SiteID); > } > > [DataObjectMethod(DataObjectMethodType.Select, false)] > public List<MembershipUserWrapperForMP> GetMembers(bool approvalStatus, string sortData, string ExcludeRole, int SiteID) > { > if (approvalStatus == true) > { > return GetMembers(true, false, null, sortData, ExcludeRole, SiteID); > } > else > { > return GetMembers(false, true, null, sortData, ExcludeRole, SiteID); > } > } > > [DataObjectMethod(DataObjectMethodType.Select, false)] > public List<MembershipUserWrapperForMP> GetMembers(bool returnAllApprovedUsers, bool returnAllNotApprovedUsers, > string usernameToFind, string sortData, string ExcludeRole, int? SiteID) > { > > List<MembershipUserWrapperForMP> memberList = new List<MembershipUserWrapperForMP>(); > > if (usernameToFind != null) > { > MembershipUser mu = Membership.GetUser(usernameToFind); > if (mu != null) > { > MembershipUserWrapperForMP md = new MembershipUserWrapperForMP(mu); > ProfileCommon pc = (ProfileCommon)ProfileBase.Create(mu.UserName, true); > md.FCID = pc.FCID; > md.FCWebAdminID = pc.FCWebAdminID; > md.SiteID = pc.SiteID; > md.FirstName = pc.FirstName; > md.MiddleName = pc.MiddleName; > md.LastName = pc.LastName; > md.JobTitle = pc.JobTitle; > md.TelephoneNum = pc.TelephoneNum; > memberList.Add(md); > } > } > else > { > MembershipUserCollection muc = Membership.GetAllUsers(); > foreach (MembershipUser mu in muc) > { > if (((returnAllApprovedUsers == true && mu.IsApproved == true) || > (returnAllNotApprovedUsers == true && mu.IsApproved == false)) > && (ExcludeRole == null || !Roles.IsUserInRole(mu.UserName, ExcludeRole))) > > > //Naomi Nosonovsky added restriction by SiteID and Role > { > MembershipUserWrapperForMP md = new MembershipUserWrapperForMP(mu); > ProfileCommon pc = (ProfileCommon)ProfileBase.Create(mu.UserName, true); > md.FCID = pc.FCID; > md.FCWebAdminID = pc.FCWebAdminID; > md.SiteID = pc.SiteID; > md.FirstName = pc.FirstName; > md.MiddleName = pc.MiddleName; > md.LastName = pc.LastName; > md.JobTitle = pc.JobTitle; > md.TelephoneNum = pc.TelephoneNum; > > if (SiteID == null || md.SiteID == SiteID ) > memberList.Add(md); > } > } >etc.Yup, doing overloads is what I would have done. This way when you are calling the method you don't have to worry about what to pass in when the values are not needed.