CalDavSynchronizer.DataAccess.CardDavDataAccess.AddResource C# (CSharp) Method

AddResource() public method

public AddResource ( string name, bool useRandomUri ) : Task
name string
useRandomUri bool
return Task
    public async Task<Uri> AddResource (string name, bool useRandomUri)
    {
      var homeSetUri = await GetCalendarHomeSetUriOrNull (ConnectionTester.RequiresAutoDiscovery (_serverUrl)) ?? _serverUrl;
      var resourceName = useRandomUri ? Guid.NewGuid() + "/" : name + "/";

      var newResourceUri = new Uri (homeSetUri, resourceName);
      await _webDavClient.ExecuteWebDavRequestAndReturnResponseHeaders (
        newResourceUri,
        "MKCOL",
        null,
        null,
        null,
        "application/xml",
          @"<?xml version='1.0'?>
                    <D:mkcol xmlns:D=""DAV:""  xmlns:A=""urn:ietf:params:xml:ns:carddav"">
                      <D:set>
                        <D:prop>
                          <D:resourcetype>
                            <D:collection/>
                            <A:addressbook/>
                          </D:resourcetype>
                        </D:prop>
                      </D:set>
                    </D:mkcol>"
        );

      await _webDavClient.ExecuteWebDavRequestAndReturnResponseHeaders (
        newResourceUri,
        "PROPPATCH",
        0,
        null,
        null,
        "application/xml",
        string.Format (
           @"<?xml version='1.0'?>
                      <D:propertyupdate xmlns:D=""DAV:"">
                        <D:set>
                          <D:prop>
                              <D:displayname>{0}</D:displayname>
                          </D:prop>
                        </D:set>
                      </D:propertyupdate>
                 ", name)
        );
      return newResourceUri;
    }
    public async Task<IReadOnlyList<AddressBookData>> GetUserAddressBooksNoThrow (bool useWellKnownUrl)