public ShyneeProfile(
            ShyneeProfileParameter <string> nickname     = null,
            ShyneeProfileParameter <string> avatarUri    = null,
            ShyneeProfileParameter <string> name         = null,
            ShyneeProfileParameter <DateTime?> dob       = null,
            ShyneeProfileParameter <Gender> gender       = null,
            ShyneeProfileParameter <string[]> interests  = null,
            ShyneeProfileParameter <string> personalInfo = null)
        {
            Nickname = nickname ?? new ShyneeProfileParameter <string>(
                ShyneeProfileParameterStatus.Hidden,
                _defaultNickname);

            if (Nickname.Status == ShyneeProfileParameterStatus.Empty)
            {
                throw new ShyneeProfileNicknameIsEmptyException();
            }

            AvatarUri    = avatarUri ?? new ShyneeProfileParameter <string>();
            Name         = name ?? new ShyneeProfileParameter <string>();
            Dob          = dob ?? new ShyneeProfileParameter <DateTime?>();
            Gender       = gender ?? new ShyneeProfileParameter <Gender>();
            Interests    = interests ?? new ShyneeProfileParameter <string[]>();
            PersonalInfo = personalInfo ?? new ShyneeProfileParameter <string>();
        }
 public ShyneeProfile(
     string nickname,
     string name,
     DateTime?dob,
     Gender?gender,
     string[] interests,
     string personalInfo)
 {
     Nickname =
         nickname != null ?
         new ShyneeProfileParameter <string>(
             ShyneeProfileParameterStatus.Hidden,
             nickname) :
         new ShyneeProfileParameter <string>(
             ShyneeProfileParameterStatus.Hidden,
             _defaultNickname);
     Name =
         name != null ?
         new ShyneeProfileParameter <string>(
             ShyneeProfileParameterStatus.Hidden,
             name) :
         new ShyneeProfileParameter <string>();
     Dob =
         dob != null ?
         new ShyneeProfileParameter <DateTime?>(
             ShyneeProfileParameterStatus.Hidden,
             (DateTime)dob) :
         new ShyneeProfileParameter <DateTime?>();
     Gender =
         gender != null ?
         new ShyneeProfileParameter <Gender>(
             ShyneeProfileParameterStatus.Hidden,
             (Gender)gender) :
         new ShyneeProfileParameter <Gender>();
     Interests =
         interests != null ?
         new ShyneeProfileParameter <string[]>(
             ShyneeProfileParameterStatus.Hidden,
             interests) :
         new ShyneeProfileParameter <string[]>();
     PersonalInfo =
         personalInfo != null ?
         new ShyneeProfileParameter <string>(
             ShyneeProfileParameterStatus.Hidden,
             personalInfo) :
         new ShyneeProfileParameter <string>();
     AvatarUri = new ShyneeProfileParameter <string>();
 }
 public void UpdateAvatarUri(ShyneeProfileParameter <string> avatarUri)
 {
     AvatarUri = avatarUri;
 }