public void UpdateEntities(IDbSet <WTask> wTasks, IDbSet <WGroup> wGroups, ConfigDto config) { if (config == null || config.Groups == null || config.Tasks == null || wTasks == null || wGroups == null) { return; } foreach (var group in config.Groups) { var wGroupToUpdate = wGroups.Where(x => x.Id == group.Id).SingleOrDefault(); if (wGroupToUpdate == null) { wGroupToUpdate = new WGroup(); wGroups.Add(wGroupToUpdate); } wGroupToUpdate.WTasks = new List <WTask>(); _conversionService.ConvertFromDto(wGroupToUpdate, group); } foreach (var task in config.Tasks) { var wTaskToUpdate = wTasks.Where(x => x.Id == task.Id).SingleOrDefault(); if (wTaskToUpdate == null) { wTaskToUpdate = new WTask(); wTasks.Add(wTaskToUpdate); } wTaskToUpdate.WGroups = new List <WGroup>(); _conversionService.ConvertFromDto(wTaskToUpdate, task, wGroups, true); } }