private DtoDelta<ITask> Dto(IDelta<ITask> task) { DtoLazyCollection<UserDto> systemUsers = new DtoLazyCollection<UserDto>(() => clsService.GetSystemUsers().Select(x => new UserDto(x))); DtoDelta<ITask> dtoResult = new DtoDelta<ITask>(task); if (task.CanReadWrite(x => x.Author)) { dtoResult.AddPropertyValues(x => x.Author, systemUsers); } if (task.CanReadWrite(x => x.Manager)) { dtoResult.AddPropertyValues(x => x.Manager, systemUsers); } if (task.CanReadWrite(x => x.ToEmployee)) { dtoResult.AddPropertyValues(x => x.ToEmployee, systemUsers); } if (task.CanReadWrite(x => x.Priority)) { dtoResult.AddPropertyValues(x => x.Priority, clsService.GetPriorities().Select(x => new PriorityDto(x))); } return dtoResult; }