public async Task UpdateEssayInDb(CreateEssayViewModel model, string[] tags) { Essay essay = ReturnUpdatedEssay(model); db.Update(essay); await db.SaveChangesAsync(); await UpdateTagsInDb(model, tags, essay); }
public CreateEssayViewModel ReturnEssayViewModel(Essay essay, List <EssayTag> essayTag) { var model = new CreateEssayViewModel { Content = essay.Content, Description = essay.Description, Name = essay.Name, Specialization = essay.Specialization, Id = essay.Id, Tags = ConvertTagsToString(essayTag) }; return(model); }
public async Task CreateEssayInDb(CreateEssayViewModel model, string[] tags) { var user = await userManager.GetUserAsync(User); Essay essay = AddNewEssayToDb(model, user).Result; await AddNewTags(tags, essay); await userManager.UpdateAsync(user); }
public Essay ReturnUpdatedEssay(CreateEssayViewModel model) { Essay essay = db.Essays.Where(e => e.Id == model.Id).First(); essay.Name = model.Name; essay.Description = model.Description; essay.Specialization = model.Specialization; essay.Content = model.Content; return(essay); }
public async Task <Essay> AddNewEssayToDb(CreateEssayViewModel model, ApplicationUser user) { db.Essays.Add(new Essay { Name = model.Name, Description = model.Description, Specialization = model.Specialization, Content = model.Content, CreationTime = DateTime.Now, VotersCount = 0, AverageRating = 0, UserId = user.Id }); await db.SaveChangesAsync(); return(db.Essays.Where(t => t.Name == model.Name && t.Specialization == model.Specialization && t.Description == model.Description).FirstOrDefault()); }
public async Task <IActionResult> SaveEssay(CreateEssayViewModel model) { string[] tags = model.Tags.Split(","); if (db.Essays.Any(e => e.Id == model.Id)) { await UpdateEssayInDb(model, tags); } else { await CreateEssayInDb(model, tags); } return(View("SaveEssay")); }
public async Task DeleteMissingTags(CreateEssayViewModel model, string[] tags) { var tagsToEssay = db.EssayToTags.Where(e => e.EssayId == model.Id).ToList(); foreach (var temporary in tagsToEssay) { if (tags.Contains(temporary.TagId)) { continue; } else { TakeMissingTagFromDb(temporary); } } await db.SaveChangesAsync(); }
public async Task UpdateTagsInDb(CreateEssayViewModel model, string[] tags, Essay essay) { await DeleteMissingTags(model, tags); await AddNewTags(tags, essay); }