private void InitializeUserStatusFilter(dtoUsersByMessageFilter filter, UserTypeFilter userType, ModuleObject obj)
        {
            List <UserStatus> items = Service.GetAvailableUserStatus(obj.ObjectLongID, userType, View.RemoveUsers);

            filter.UserStatus = (!items.Any() ? UserStatus.All : (items.Contains(UserStatus.Unlocked) ? UserStatus.Unlocked : items[0]));
            View.LoadAvailableUserStatus(items, filter.UserStatus);
        }
        private void InitializeMailStatusFilter(dtoUsersByMessageFilter filter, UserTypeFilter userType, UserStatus status, ModuleObject obj)
        {
            List <MailStatus> items = Service.GetAvailableMailStatus(obj.ObjectLongID, userType, status, View.RemoveUsers);

            filter.MailStatus = (!items.Any() ? MailStatus.All : (items.Contains(MailStatus.Confirmed) ? MailStatus.Confirmed : items[0]));
            View.LoadAvailableStatus(items, filter.MailStatus);
        }
        public void ChangeUserTypeFilter(UserTypeFilter userType)
        {
            dtoUsersByMessageFilter filter = View.CurrentFilter;
            ModuleObject            obj    = View.CurrentObject;

            if (obj != null)
            {
                List <UserStatus> items   = Service.GetAvailableUserStatus(obj.ObjectLongID, userType, View.RemoveUsers);
                UserStatus        dStatus = (!items.Any() ? UserStatus.All : ((items.Contains(View.CurrentUserStatus)) ? View.CurrentUserStatus : items[0]));
                View.LoadAvailableUserStatus(items, dStatus);
                filter.UserStatus = dStatus;
                InitializeAgencyFilter(filter, obj, View.SelectedIdAgency);
                InitializeMailStatusFilter(filter, filter.UserType, dStatus, obj);

                if (filter.UserType == UserTypeFilter.None || (filter.UserType == UserTypeFilter.All && (filter.UserStatus == UserStatus.All || filter.UserStatus == UserStatus.NotSubscribed)))
                {
                    LoadCommunityFilters(obj.ObjectLongID, filter);
                }
                else
                {
                    View.HideCommunityFilters();
                }
            }
        }