Пример #1
0
        private static void SeedUser(LearningDbContext dbContext, UserManager <IdentityUser> userManager, RoleManager <IdentityRole> roleManager)
        {
            if (dbContext.Roles.Any())
            {
                return;
            }

            var role = AddRoles(dbContext, roleManager);

            dbContext.SaveChangesAsync().Wait();

            AddUsers(dbContext, userManager, role);
            dbContext.SaveChangesAsync().Wait();
        }
Пример #2
0
        public async Task <WordGroupDto> CreateWordGroup(WordGroupDto wordGroup)
        {
            var dbWordGroup = await _db.WordGroups.FirstOrDefaultAsync(w => w.Name == wordGroup.Name);

            if (dbWordGroup != null)
            {
                throw new ApiException("WordGroup with this name already exists");
            }

            dbWordGroup = wordGroup.ToEntity <WordGroup, WordGroupDto>();
            _db.WordGroups.Add(dbWordGroup);
            await _db.SaveChangesAsync();

            return(dbWordGroup.ToEntityDto <WordGroupDto, WordGroup>());
        }
        public async Task <WordDto> CreateWord(WordDto word)
        {
            if (await _db.Words.AnyAsync(x => x.Czech == word.Czech))
            {
                throw new ApiException("Word already in database");
            }

            if (word.WordGroupId.HasValue &&
                (await _db.Words.CountAsync(x => x.WordGroupId == word.WordGroupId)) > 9)
            {
                throw new ApiException("Max count of words in group is 10");
            }

            var entity = word.ToEntity <Word, WordDto>();

            _db.Words.Add(entity);
            await _db.SaveChangesAsync();

            return(entity.ToEntityDto <WordDto, Word>());
        }
Пример #4
0
        public async Task <ArticleDto> Create(ArticleDto article)
        {
            if (await _db.Articles.AnyAsync(x => x.Title == article.Title))
            {
                throw new ApiException("Article with this title already exists");
            }

            //article.Content = _htmlImagesService.ParseHtmlImages(article.Content);
            article.DatePublished = DateTime.UtcNow;

            var entity = article.ToEntity <Article, ArticleDto>();

            entity.Content = string.Empty; // don't save without formatting content
            await _db.Articles.AddAsync(entity);

            await _db.SaveChangesAsync();

            await UpdateArticleContent(entity, article.Content);

            return(entity.ToEntityDto <ArticleDto, Article>());
        }