public async Task <IActionResult> Create([Bind("Id,Ano,TipoMedia,Titulo,Url")] MediaViewModel vm) { if (ModelState.IsValid && vm.Url.Length > 0) { MediaEdicao media = new MediaEdicao(); media.Ano = vm.Ano; media.TipoMedia = vm.TipoMedia; media.Titulo = vm.Titulo; Link link = new Link { Categoria = Categoria.Media, Descricao = vm.Titulo, Url = vm.Url }; await _linkRepository.Save(link); media.Link = link; media.LinkId = link.Id; await _repository.Save(media); return(RedirectToAction("Index")); } return(View(vm)); }
public MediaViewModel(MediaEdicao m) { Id = m.Id; Ano = m.Ano; LinkId = m.LinkId; if (m.Link != null) { Link = m.Link; Url = m.Link.Url; } Titulo = m.Titulo; TipoMedia = m.TipoMedia; Edicao = new SelectList(Enumerable.Range(2015, DateTime.Now.Year - 2014).Reverse()); }
public async Task <IActionResult> Edit(int id, [Bind("Id,Ano,LinkId,TipoMedia,Titulo,Url")] MediaViewModel vm) { if (id != vm.Id) { return(NotFound()); } if (ModelState.IsValid) { try { MediaEdicao edicao = await _repository.Get(id); edicao.Ano = vm.Ano; edicao.TipoMedia = vm.TipoMedia; edicao.Titulo = vm.Titulo; if (vm.Url != null) { Link link = await _linkRepository.Get(edicao.LinkId); link.Descricao = vm.Titulo; link.Url = vm.Url; await _linkRepository.Update(link); } await _repository.Update(edicao); } catch (DbUpdateConcurrencyException) { if (!MediaEdicaoExists(vm.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction("Index")); } return(View(vm)); }
public async Task <IActionResult> GetTransportes([FromRoute] int id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } MediaEdicao media = await _repository.Get(id); Link link = await _linkRepository.Get(media.LinkId); media.Link = link; MediaViewModel vm = new MediaViewModel(media); if (media == null) { return(NotFound()); } return(Ok(vm)); }