Exemplo n.º 1
0
        private async Task <Project> CreateAsync(Project project)
        {
            CheckBeforeCreate(project);

            var dbItem = AbstractionsConverter.ToProject(project);
            await _context.Projects.AddAsync(dbItem);

            await _context.SaveChangesAsync();

            var result = await _context.Projects
                         .AsNoTracking()
                         .Include(x => x.Category)
                         .Include(x => x.GalleryImages)
                         .Include(x => x.ExternalUrls)
                         .ThenInclude(x => x.ExternalUrl)
                         .FirstOrDefaultAsync(x => x.Id == dbItem.Id);

            if (result == null)
            {
                throw new InconsistencyException(Resources.TextMessages.ProjectDoesNotExist);
            }

            return(DataConverter.ToProject(result));
        }