コード例 #1
0
        public async Task <List <WorkforceRequirement> > GetWorkforceRequirementsAsync(List <Material> allMaterials = null)
        {
            Task <List <Material> > materialsTask = allMaterials == null?GetMaterialsAsync() : Task.FromResult(allMaterials);

            return((await ReadFromFileAndDeserializeAsync(WORKFORCES_PATH,
                                                          async source => await source.GetWorkforceRequirementsAsync(await materialsTask),
                                                          list => SerializeAndWriteToFileAsync(WORKFORCES_PATH, workforcesLock, list, async requirement => await Task.Run(() => requirement.ToJson())),
                                                          workforcesLock,
                                                          async token => WorkforceRequirement.FromJson((JObject)token, await materialsTask))).ToList());
        }
コード例 #2
0
 public List <WorkforceRequirement> GetWorkforceRequirements(List <Material> allMaterials = null)
 {
     if (allMaterials == null)
     {
         allMaterials = GetMaterials();
     }
     return(ReadFromFileAndDeserialize(WORKFORCES_PATH,
                                       source => source.GetWorkforceRequirements(allMaterials),
                                       list => SerializeAndWriteToFile(WORKFORCES_PATH, workforcesLock, list, requirement => requirement.ToJson()),
                                       workforcesLock,
                                       token => WorkforceRequirement.FromJson((JObject)token, allMaterials)));
 }