public async Task <IActionResult> QCreate(ClassForQuestionCreatingModel ob) { if (ModelState.IsValid) { var tags = ob.tags.Where(x => x.IsSelected).Select(x => x.Id); /* Пока разрешим создание без тегов * if (tags.Count() == 0) * ModelState.AddModelError(string.Empty, "вы должны указать как минимум один тег"); */ Question obj = new Question(); var StringTags = string.Join(";", tags); var qa = await _context.User.FirstAsync(x => x.UserName == User.Identity.Name); obj.CreationDate = DateTime.Now; obj.UpdateDate = DateTime.Now; obj.Author = User.Identity.Name; obj.TagIds = StringTags; obj.IsPrivate = true; obj.Definition = ob.Definition; obj.Proof = ob.Proof; obj.Title = ob.Title; _context.Add(obj); await _context.SaveChangesAsync(); qa.QuestionSet = string.IsNullOrEmpty(qa.QuestionSet) ? obj.Id + ";" : qa.QuestionSet + obj.Id + ";"; _context.Update(qa); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(ob)); }
private static Categories GetTopCategory(CommonDbContext dbContext, string name) { Categories cartoonCate = dbContext.Categories.FirstOrDefault(x => x.Name == name); if (cartoonCate == null) { cartoonCate = new Categories { Id = Guid.NewGuid(), Name = name, CreateTime = DateTime.Now }; dbContext.Add(cartoonCate); dbContext.SaveChanges(); } return(cartoonCate); }