public ActionResult Incluir(FormCollection form) { try { ViewBag.Submit = "Incluir"; ViewBag.BotaoSubmit = "primary"; ViewBag.Voltar = "Voltar"; ca_publicacao publicacao = new ca_publicacao(); TryUpdateModel(publicacao, form); if (ViewData.ModelState.IsValid) { ca_atividadesPublicadas atividadePublicada; foreach (var item in form.AllKeys.Where(f => f.Contains("Atividade_"))) { if (form[item].Contains("true")) { atividadePublicada = new ca_atividadesPublicadas(); atividadePublicada.id_publicacao = publicacao.id; atividadePublicada.id_atividade = int.Parse(item.Replace("Atividade_", "")); publicacao.ca_atividadesPublicadas.Add(atividadePublicada); } } repositorio.Incluir(publicacao); repositorio.Salvar(); EmailPublicacao(publicacao); Mensagem(TipoMensagem.Sucesso, "Publicação realizada com sucesso!"); return(RedirectToAction("Index")); } else { PreencherVBInclusao(); Mensagem(TipoMensagem.Aviso, "Preencha os campos corretamente"); return(View(publicacao)); } } catch (Exception ex) { Mensagem(TipoMensagem.Erro, "ERRO: " + ex.Message); return(RedirectToAction("Index")); } }
public ActionResult Alterar(FormCollection form) { try { ViewBag.Submit = "Alterar"; ViewBag.BotaoSubmit = "warning"; ViewBag.Voltar = "Voltar"; ca_publicacao publicacao = new ca_publicacao(); TryUpdateModel(publicacao, form); if (ViewData.ModelState.IsValid) { #region Adicionando e Removendo AtividesPublicadas whereAP = ap => ap.id_publicacao == publicacao.id; List <ca_atividadesPublicadas> apAntigas = repositorioAP.Listar(whereAP).ToList(); List <int> naoAdicionar = new List <int>(); ca_atividadesPublicadas atividadePublicada; foreach (var antigas in apAntigas) { bool achou = false; foreach (var item in form.AllKeys.Where(f => f.Contains("Atividade_"))) { atividadePublicada = new ca_atividadesPublicadas(); if (form[item].Contains("true")) { if (antigas.id_atividade == int.Parse(item.Replace("Atividade_", ""))) { achou = true; } } } if (achou) { naoAdicionar.Add(antigas.id_atividade); } else { repositorioAP.Deletar(antigas); } } repositorioAP.Salvar(); foreach (var item in form.AllKeys.Where(f => f.Contains("Atividade_"))) { atividadePublicada = new ca_atividadesPublicadas(); if (form[item].Contains("true")) { if (!naoAdicionar.Any(n => n == int.Parse(item.Replace("Atividade_", "")))) { atividadePublicada.id_publicacao = publicacao.id; atividadePublicada.id_atividade = int.Parse(item.Replace("Atividade_", "")); repositorioAP.Incluir(atividadePublicada); } } } #endregion repositorio.Alterar(publicacao); repositorio.Salvar(); repositorioAP.Salvar(); EmailPublicacao(publicacao); Mensagem(TipoMensagem.Sucesso, "Publicação realizada com sucesso!"); return(RedirectToAction("Index")); } else { PreencherVBAlteracao(publicacao); Mensagem(TipoMensagem.Aviso, "Preencha os campos corretamente"); return(View(publicacao)); } } catch (Exception ex) { Mensagem(TipoMensagem.Erro, "ERRO: " + ex.Message); return(RedirectToAction("Index")); } }