public async Task <IActionResult> Clone(int id) { if (ModelState.IsValid) { ViewData["QuestionId"] = new SelectList(_context.Questions, "Id", "Question"); if (id > 0) { string guid = GuidHelper.GetShortGuid; while (await _context.Questionnaries.Where(a => a.Code == guid).CountAsync() > 0) { guid = GuidHelper.GetShortGuid; } var item = await _context.Questionnaries.Where(a => a.Id == id).FirstOrDefaultAsync(); var newItem = new Questionnaries { Active = true, Code = guid, MaxAnswers = item.MaxAnswers, Description = item.Description, Name = item.Name + "_kopia" }; _context.Add(newItem); await _context.SaveChangesAsync(); var questions = await _context.QuestionnariesQuestion.Include(q => q.Question).Where(a => a.QuestionnarieId == id).OrderBy(a => a.QuestionNumber).ToListAsync(); foreach (var question in questions) { question.QuestionnarieId = newItem.Id; _context.Add(question); } _context.SaveChanges(); } var model = _context.Questionnaries .Include(q => q.QuestionnariesQuestion) .ThenInclude(q => q.Question) .OrderByDescending(a => a.Id); return(PartialView("_Questionnaries", await model.ToListAsync())); } return(Content("Wypełnij wszystkie wymagane pola")); }