IHierarchyItem.UpdateProperties Implementation Example

public virtual WebDAVResponse UpdateProperties(Property[] setProps, Property[] delProps)

{ 

       MultipropResponse resp = new MultipropResponse();

 

       SqlConnection conn = new SqlConnection(connStr);

       SqlTransaction trans = null;

       try

       {

             conn.Open();

             trans = conn.BeginTransaction();

 

             if(setProps != null)

                    foreach(Property p in setProps)

                    {

                           SetProperty(p, trans); // create or update property

                           resp.AddResponses(new PropResponse(p, new OkResponse()));

                    }

       

             if(delProps != null)

                    foreach(Property p in delProps)

                    {

                           RemoveProperty(p.Name, p.Namespace, trans);

                           resp.AddResponses(new PropResponse(p, new OkResponse()));

                    }

       

             UpdateModified(trans);

       

             trans.Commit();

       }

       catch

       {

             if(trans != null) trans.Rollback();

             return new ServerErrorResponse();

       }

       finally

       {

             conn.Close();

       }

   

       return resp;

}

 

WebDAV PROPPATCH