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