Exemplo n.º 1
0
        public async Task UpdateEssayInDb(CreateEssayViewModel model, string[] tags)
        {
            Essay essay = ReturnUpdatedEssay(model);

            db.Update(essay);
            await db.SaveChangesAsync();

            await UpdateTagsInDb(model, tags, essay);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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());
        }
Exemplo n.º 6
0
 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"));
 }
Exemplo n.º 7
0
        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();
        }
Exemplo n.º 8
0
 public async Task UpdateTagsInDb(CreateEssayViewModel model, string[] tags, Essay essay)
 {
     await DeleteMissingTags(model, tags);
     await AddNewTags(tags, essay);
 }