示例#1
0
 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));
 }
示例#2
0
        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"));
        }