public void InitAddFieldsFromMain()
        {
            if (BirthDate.HasValue)
            {
                Month = BirthDate.Value.Month;
                Day   = BirthDate.Value.Day;
                Year  = BirthDate.Value.Year;
            }

            Purposes   = (Purpose ?? "").Split <string>(";").ToList();
            AddPurpose = Purposes.Where(x => DefPurposes.All(z => z != x)).JoinToString(";");

            SearchFors   = (SearchFor ?? "").Split <string>(";").ToList();
            AddSearchFor = SearchFors.Where(x => DefSearchFor.All(z => z != x)).JoinToString(";");

            Jobs   = (Job ?? "").Split <string>(";").ToList();
            AddJob = Jobs.Where(x => DefJobs.All(z => z != x)).JoinToString(";");

            if (!DefLifePrioritys.Contains(LifePriority))
            {
                AddLifePriority = LifePriority;
                LifePriority    = "";
            }

            Musics = (Music ?? "").Split <string>(";").ToList();
        }
 public Parts(KeyPurpose[] purposes, string name, string description, TagPubKey pubKey, KeyStrength strength, BaseKeyId keyId, IEnumerable <AppPermissions> permissions)
 {
     if (string.IsNullOrWhiteSpace(name))
     {
         throw new ArgumentNullException(nameof(name));
     }
     Version     = InterlockKeyVersion;
     Name        = name;
     Purposes    = purposes.Required();
     PublicKey   = pubKey.Required();
     Description = description;
     Strength    = strength;
     if (Actionable && permissions.None())
     {
         Purposes = Purposes.Where(pu => pu != KeyPurpose.Action).ToArray(); // Remove Action Purpose
     }
     Permissions = permissions;
     Identity    = new KeyId(TagHash.HashSha256Of(_hashable));
     Id          = keyId ?? Identity;
 }