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(); }
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>()); }
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>()); }