예제 #1
0
        public virtual Task <Dictionary <string, Map> > GetMaps(List <string> filterKeys = null)
        {
            List <string> matchingKeys = ComputeMathingKeys(filterKeys);

            if (matchingKeys.Any())
            {
                Dictionary <Guid, string> internalMapping = ComputeInternalMapping(matchingKeys);
                Dictionary <Guid, object> dictArgs        = ComputeDictArgs(matchingKeys);

                return(_jsObjectRef.InvokeMultipleAsync <Map>(
                           "getMap",
                           dictArgs).ContinueWith(e => e.Result.ToDictionary(r => internalMapping[new Guid(r.Key)], r => r.Value)));
            }
            else
            {
                return(ComputeEmptyResult <Map>());
            }
        }