void DownloadAttributeDefinitions(List <Dictionary <string, string> > attribList, AttribDefinitionDownloaded onCompletion) { // now build an array of the attributeIds we should request int[] attributeIds = new int[attribList.Count]; for (int i = 0; i < attribList.Count; i++) { attributeIds[i] = int.Parse(attribList[i]["attributeId"]); } // and lastly, request them if (attribList.Count > 0) { ApplicationApi.GetAttribute(attributeIds, delegate(HttpStatusCode attribStatusCode, string attribStatusDescription, List <Rock.Client.Attribute> attribModel) { if (attribModel != null && Rock.Mobile.Network.Util.StatusInSuccessRange(attribStatusCode)) { Rock.Mobile.Util.Debug.WriteLine("Got attrib"); onCompletion(attribModel); } else { onCompletion(null); } }); } else { onCompletion(new List <Rock.Client.Attribute>( )); } }