コード例 #1
0
ファイル: ProfessionalView.cs プロジェクト: formist/LinkMe
        private bool CanAccess(ProfessionalContactDegree contactDegree, ProfessionalVisibilitySettings visibilitySettings, ProfessionalVisibility visibility)
        {
            var contactVisibility = visibilitySettings == null
                ? GetPublicVisibility()
                : GetVisibility(contactDegree, visibilitySettings);

            return(contactVisibility.IsFlagSet(visibility));
        }
コード例 #2
0
 public bool Equals(ProfessionalVisibilitySettings other)
 {
     if (ReferenceEquals(null, other))
     {
         return(false);
     }
     if (ReferenceEquals(this, other))
     {
         return(true);
     }
     return(Equals(other._employmentVisibility, _employmentVisibility) &&
            Equals(other._publicVisibility, _publicVisibility));
 }
コード例 #3
0
ファイル: ProfessionalView.cs プロジェクト: formist/LinkMe
        private ProfessionalVisibility GetVisibility(ProfessionalContactDegree degree, ProfessionalVisibilitySettings visibilitySettings)
        {
            // If the user is not enabled then no-one else should have any visibility of them unless they have
            // applied for a job.
            // If they are not activated but have already been contacted, or they have applied for a job
            // then treat them as normal.

            switch (degree)
            {
            case ProfessionalContactDegree.Self:
                return(ProfessionalVisibility.All);

            case ProfessionalContactDegree.Public:
                return(!_member.IsEnabled || !_member.IsActivated
                               ? ProfessionalVisibilitySettings.None
                               : visibilitySettings.PublicVisibility);

            case ProfessionalContactDegree.Contacted:
                return(!_member.IsEnabled
                               ? ProfessionalVisibilitySettings.None
                               : visibilitySettings.EmploymentVisibility | Contacted);

            case ProfessionalContactDegree.Applicant:
                return(visibilitySettings.EmploymentVisibility | Applicant);

            default:
                return(!_member.IsEnabled || !_member.IsActivated
                               ? ProfessionalVisibilitySettings.None
                               : visibilitySettings.EmploymentVisibility& NotContacted);
            }
        }