public static AuthorDto AsDto(this AuthorDocument document) => new AuthorDto { Id = document.Id, FullName = document.FullName, ImageUrl = document.ImageUrl, Description = document.Description, CreatedAt = document.CreatedAt };
private async Task <Author> ComplexMapFromAuthorDBToAuthor(AuthorDocument authorFromDB, Raven.Client.Documents.Session.IAsyncDocumentSession session) //Estamos usando, al pasar la sesión abierta, los datos que hemos precargado en memoria. //El límite de operaciones por sesión a base de datos ya no nos afecta (!) { var convertedAuthor = _mapper.Map <Author>(authorFromDB); //For each author, recover the mapping. // // var coursesFromDB = await session.LoadAsync<CourseDocument>(authorFromDB.CoursesIds.ToArray()); //¡Aquí se carga un diccionario porque también van los ids! Confirmar. var coursesFromDB = await session.LoadAsync <CourseDocument>(authorFromDB.CoursesIds.ToArray()); var x = coursesFromDB.Values.ToList <CourseDocument>(); var convertedCourses = _mapper.Map <List <Course> >(x); convertedAuthor.Courses = convertedCourses; return(convertedAuthor); }