public IActionResult Fanfic(int id) { _fanficViewModel = Mapper.Map <FanficViewModel>(FanficRepository.GetById(id)); if (_fanficViewModel == null) { return(LocalRedirect("/")); } _fanficViewModel.SetTags(Mapper.Map <List <TagViewModel> >(TagRepository.GetList())); return(View("Index", _fanficViewModel)); }
public async Task <IActionResult> EditFanfic(FanficViewModel model) { Fanfic fanfic = _db.Fanfics.FirstOrDefault(item => item.id == model.id); if (_db.TagsToFanfics.FirstOrDefault(item => item.Fanfic == fanfic) != null) { _db.TagsToFanfics.RemoveRange(_db.TagsToFanfics.Where(item => item.Fanfic == fanfic)); } await _db.SaveChangesAsync(); fanfic.name = model.FanficName; fanfic.text = model.Text; fanfic.requiredCh = model.requiredCh; fanfic.endDate = model.EndDate; fanfic.image = model.Image; if (model.Tags != null) { model.Tags = model.Tags.Replace(" ", " "); string[] tags = model.Tags.Split(" "); _db.Fanfics.Update(fanfic); for (int i = 0; i < tags.Length; i++) { if (tags[i] != "") { Tag tag = _db.Tag.FirstOrDefault(item => item.name == tags[i]); if (tag == null) { _db.Tag.Add(new Tag { name = tags[i] }); await _db.SaveChangesAsync(); _db.TagsToFanfics.Add(new TagsToFanfics { Fanfic = fanfic, tag = _db.Tag.FirstOrDefault(item => item.name == tags[i]) }); } else { _db.TagsToFanfics.Add(new TagsToFanfics { Fanfic = fanfic, tag = tag }); } } } } await _db.SaveChangesAsync(); return(RedirectToAction("Index", "Profile")); }