I am implementing a new functionality to manage events in ICLOUD calendar(includes my own calendar as well as other ICLOUD users calendar).I successfully implemented the functionality with CALDAV, but here I wanted to know is there any better approach to do the same. Below mentioned steps will explain how I achieved ADD/EDIT/DELETE functionality with CALDAV in other ICLOUD users calendar.
[email protected] :icloud account of a user who shares his calendar with me [email protected]: referring to my icloud account
[email protected] will share his/her calendar with [email protected]

Once i accept the request this calendar will be listed in [email protected]
Using below CALDAV api I will get all calendars listed in my account

From the response of above request I will get each calendar url and perform add/edit/delete action accordingly.
Note:Here one drawback is I need to ask each user of my application to share(but sharing it private not as public) his personal calendar with my account.
I am using c# as it is a .net application.
Any help would be appreciated.Thanks in advance.
The question is quite broad so it is hard to really figure out what you are looking for.
In any case one thing about your PROPFIND request: You should also ask for the DAV:resourcetype property (defined in https://www.rfc-editor.org/rfc/rfc4918#section-15.9) and, in your response, only consider the ones that have a calendar value in their resource type (see https://www.rfc-editor.org/rfc/rfc4791#section-4.2).