public async Task <AsyncResult <IEnumerable <Tuple <int, string> > > > GetUserAdditionalDataListAsync(Guid profileId, string key, bool sortByKey = false, SortDirection sortDirection = SortDirection.Ascending, uint?offset = null, uint?limit = null) { CpAction action = GetAction("GetUserAdditionalDataList"); IList <object> inParameters = new List <object> { MarshallingHelper.SerializeGuid(profileId), key, sortByKey, (int)sortDirection, offset, limit }; IList <object> outParameters = await action.InvokeAsync(inParameters); IEnumerable <Tuple <int, string> > data = null; if (outParameters[0] != null) { data = MarshallingHelper.ParseCsvTuple2Collection((string)outParameters[0]).Select(t => new Tuple <int, string>(Convert.ToInt32(t.Item1), t.Item2)); } return(new AsyncResult <IEnumerable <Tuple <int, string> > >((bool)outParameters[1], data)); }