public ActionResult Edit(long id, string title, FormCollection frmCol) { bool sor = true; ValidateQuestion(frmCol, ref sor); TagValidControl(frmCol, ref sor); Question ques = _repoQues.GetById(id); if (!sor) { return(View("Sor", FrmView.Data.WithQuestion(ques))); } ques.Detail = frmCol["Question.Detail"].Replace("'", "%t%").Replace("@", "@@"); ques.Title = frmCol["Question.Title"].Replace("'", "%t%").Replace("@", "@@"); _repoQues.Update(ques); var NewAry = frmCol["tags"].Split(','); string[] OldAry = _repoQuesTag.ListByQuestionId(ques.QuestionId).Select(x => x.TagName).ToArray(); foreach (var str in NewAry) { if (!OldAry.Contains(str)) { Tag tag = _repoTag.GetByName(str); QuestionTag qt = new QuestionTag(); qt.TagId = tag.TagId; qt.QuestionId = ques.QuestionId; _repoQuesTag.Insert(qt); } } foreach (var str in OldAry) { if (!NewAry.Contains(str)) { Tag tag = _repoTag.GetByName(str); _repoQuesTag.Delete(ques.QuestionId, tag.TagId); } } return(RedirectToAction("Detay", "Soru", new { id = ques.QuestionId, title = ques.Title.ConvertWebUrl() })); }