Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void ReloadCache(TransactionArgs transactionArgs = null)
- {
- List<ATMTaskTypePriorityEntry> taskTypePriorityEntries = _taskTypePriorityDatabaseAccess.GetAllPriorities(transactionArgs);
- TaskTypePriorities = ConvertTableEntriesToTaskTypePriorities(taskTypePriorityEntries);
- }
- private List<ATMTaskTypePriorities> ConvertTableEntriesToTaskTypePriorities(List<ATMTaskTypePriorityEntry> taskTypePriorityEntries)
- {
- List<IGrouping<long, ATMTaskTypePriorityEntry>> entriesByTaskTypeId = taskTypePriorityEntries.GroupBy(entry => entry.TaskTypeDbId).ToList(); //group entries by TaskTypeDbId
- List<ATMTaskTypePriorities> prioritiesList = new List<ATMTaskTypePriorities>(entriesByTaskTypeId.Count); //we know how long should list be, so initialize it accordingly
- foreach (var entryGroup in entriesByTaskTypeId)
- {
- Dictionary<int, ATMTaskPriorities> taskTypePriorities = new Dictionary<int, ATMTaskPriorities>();
- foreach (var entry in entryGroup)
- taskTypePriorities[entry.EventThreshold] = entry.Priority; //this is design decision - if entries duplicates, last will win
- prioritiesList.Add(new ATMTaskTypePriorities(entryGroup.Key, taskTypePriorities));
- }
- return prioritiesList;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement