Ejemplo n.º 1
0
        public void UpdateDto(ConfigDto dto, IEnumerable <WTask> wTasks, IEnumerable <WGroup> wGroups)
        {
            if (dto == null)
            {
                return;
            }

            if (dto.Groups == null)
            {
                dto.Groups = new List <GroupDto>();
            }
            if (dto.Tasks == null)
            {
                dto.Tasks = new List <TaskDto>();
            }

            if (wTasks == null || wGroups == null)
            {
                return;
            }

            foreach (var wGroup in wGroups)
            {
                var groupToUpdate = dto.Groups.Where(x => x.Id == wGroup.Id).SingleOrDefault();
                if (groupToUpdate == null)
                {
                    groupToUpdate = new GroupDto();
                    dto.Groups.Add(groupToUpdate);
                }
                groupToUpdate.Tasks = new List <TaskDto>();
                _conversionService.ConvertToDto(groupToUpdate, wGroup);
            }

            foreach (var wTask in wTasks)
            {
                var taskToUpdate = dto.Tasks.Where(x => x.Id == wTask.Id).SingleOrDefault();
                if (taskToUpdate == null)
                {
                    taskToUpdate = new TaskDto();
                    dto.Tasks.Add(taskToUpdate);
                }
                taskToUpdate.Groups = new List <GroupDto>();
                _conversionService.ConvertToDto(taskToUpdate, wTask, dto.Groups, true);
            }
        }