public Task <string> SetAttributeAsync(string addressFrom, WorkSchema key, string value, bool standard = true,
                                               HexBigInteger gas = null, HexBigInteger valueAmount = null)
        {
            var function = GetSetValueFunction();

            return(function.SendTransactionAsync(addressFrom, gas, valueAmount, key.ToString(), value, true));
        }
        public async Task <CreativeWorkArtistDTO> GetOtherArtist(WorkSchema artistAddressSchema, WorkSchema artistRoleSchema,
                                                                 string contributionType)
        {
            var artist = await GetWorkAttributeAsyncCall(artistAddressSchema);

            if (string.IsNullOrEmpty(artist))
            {
                return(null);
            }
            var artistRole = await GetWorkAttributeAsyncCall(artistRoleSchema);

            var creativeWork = new CreativeWorkArtistDTO();

            if (IsAddress(artist))
            {
                creativeWork.ArtistAddres = artist;
            }
            else
            {
                creativeWork.NonRegisteredArtistName = artist;
            }
            creativeWork.ContributionType = contributionType;
            creativeWork.Role             = artistRole;
            return(creativeWork);
        }
        public async Task AddOtherArtist(WorkSchema artistAddressSchema, WorkSchema artistRoleSchema,
                                         string contributionType, ICollection <CreativeWorkArtistDTO> otherArtists)
        {
            var artist = await GetOtherArtist(artistAddressSchema, artistRoleSchema, contributionType);

            if (artist != null)
            {
                otherArtists.Add(artist);
            }
        }
        public Task <string> GetWorkAttributeAsyncCall(WorkSchema key)
        {
            var function = GetStoreFunction();

            return(function.CallAsync <string>(key.ToString()));
        }