public async Task <TModel> GetOrAdd <TModel>(
     ResourceConfig <TModel> config, Func <Task <TModel> > operation)
     where TModel : class
 => await _TaskMap.GetOrAddWithCast(
     config.DefaultIdStr(),
     async() =>
 {
     var model = await operation();
     if (model != null)
     {
         // add the operation result to a result.
         _Result.GetOrAdd(config, () => model);
     }
     return(model);
 });
Beispiel #2
0
 public TModel GetOrAdd <TModel>(ResourceConfig <TModel> config, Func <TModel> f)
     where TModel : class
 => _Map.GetOrAddWithCast(config.DefaultIdStr(), f);
Beispiel #3
0
 public TModel Get <TModel>(ResourceConfig <TModel> config)
     where TModel : class
 => _Map.GetOrNull(config.DefaultIdStr()) as TModel;