Esempio n. 1
0
        public ActionResult Create([Bind(Include = "Id,Titulo,Descricao,Materia")] Materias materias)
        {
            if (ModelState.IsValid && IsValid(materias))
            {
                materias.DataMateria = DateTime.Now;
                materias.Condicao = (int)Condicao.Proposta;
                materias.Jornalistas = db.Jornalistas.Where(w => w.Nome == User.Identity.Name).First();

                //Pega a seção
                Secoes Secao = db.Secoes.Find(int.Parse(Request["IdSecao"]));

                materias.Secoes = Secao;
                materias.Gerentes = Secao.Gerentes;
                //Roles.IsUserInRole("Jornalista")

                db.Materias.Add(materias);

                //Cria o evento
                Eventos evento = new Eventos { DataEvento = DateTime.Now, Evento = "Envio inicial", Materias = materias, Pessoas = materias.Jornalistas };
                db.Eventos.Add(evento);

                db.SaveChanges();
                return RedirectToAction("Index");
            }

            ViewBag.IdSecao = new SelectList(db.Secoes, "Id", "Secao");
            return View(materias);
        }
Esempio n. 2
0
        public ActionResult Edit([Bind(Include = "Id,Titulo,Descricao,DataMateria,Materia,Condicao,Aprovar,Arquivar")] Materias materias, string btnSalvar)
        {
            if (ModelState.IsValid)
            {
                string papel = db.Pessoas.Where(w => w.Nome == User.Identity.Name).Select(s => s.Papeis.Papel).First();

                //Criar o evento
                Eventos evento = new Eventos { DataEvento = DateTime.Now,  Materias = materias,
                                               Pessoas = db.Pessoas.Where(w => w.Nome == User.Identity.Name).First() };

                if (papel == "Revisores")
                {
                    materias.Revisores = db.Revisores.Where(w => w.Nome == User.Identity.Name).First();
                }
                else if (papel == "Publicadores")
                {
                    materias.Publicadores = db.Publicadores.Where(w => w.Nome == User.Identity.Name).First();
                }

                // Se Aprovar == 0 => ninguém aprovou
                // Se Aprovar == 1 => jornalista aprovou, no aguardo da aprovação do revisor
                // Se Aprovar == 2 => revisor aprovou, no aguardo da aprovação do jornalista
                // Se Aprovar == 3 => ambos aprovaram
                if (btnSalvar == "Aprovar")
                {
                    if (papel == "Jornalistas")
                    {
                        if (materias.Aprovar == 0)
                        {
                            materias.Aprovar = 1;
                            evento.Evento = "Matéria aprovada pelo jornalista";
                        }
                        else if (materias.Aprovar == 2)
                        {
                            materias.Aprovar = 3;
                            materias.Condicao = 3;
                            evento.Evento = "Matéria aprovada pelo jornalista e pelo revisor";
                        }
                    }
                    else if (papel == "Revisores")
                    {
                        if (materias.Aprovar == 0)
                        {
                            materias.Aprovar = 2;
                            evento.Evento = "Matéria aprovada pelo revisor";
                        }
                        else if (materias.Aprovar == 1)
                        {
                            materias.Aprovar = 3;
                            materias.Condicao = 3;
                            evento.Evento = "Matéria aprovada pelo revisor e pelo jornalista";
                        }
                    }
                    //materias.Condicao = 3;
                    //evento.Evento = "Aprovação";
                }

                // Se Arquivar == 0 => ninguém arquivou
                // Se Arquivar == 1 => jornalista arquivou, no aguardo do revisor arquivar a matéria
                // Se Arquivar == 2 => revisor arquivou, no aguardo do jornalista arquivar a matéria
                // Se Arquivar == 3 => ambos arquivaram
                else if (btnSalvar == "Arquivar")
                {
                    if (papel == "Jornalistas")
                    {
                        if (materias.Arquivar == 0)
                        {
                            materias.Arquivar = 1;
                            evento.Evento = "Matéria arquivada pelo jornalista";
                        }
                        else if (materias.Arquivar == 2)
                        {
                            materias.Arquivar = 3;
                            materias.Condicao = 3;
                            evento.Evento = "Matéria arquivada pelo jornalista e pelo revisor";
                        }
                    }
                    else if (papel == "Revisores")
                    {
                        if (materias.Arquivar == 0)
                        {
                            materias.Arquivar = 2;
                            evento.Evento = "Matéria arquivada pelo revisor";
                        }
                        else if (materias.Arquivar == 1)
                        {
                            materias.Arquivar = 3;
                            materias.Condicao = 4;
                            evento.Evento = "Matéria arquivada pelo revisor e pelo jornalista";
                        }
                    }
                    //materias.Condicao = 4;
                    //evento.Evento = "Arquivamento";
                }
                else if (btnSalvar == "Publicar")
                {
                    materias.Condicao = 5;
                    evento.Evento = "Publicação";
                }
                else
                {
                    materias.Condicao = 2;
                    evento.Evento = "Revisão";
                }

                db.Entry(materias).State = EntityState.Modified;
                db.Eventos.Add(evento);

                db.SaveChanges();
                return RedirectToAction("Index");
            }

            ViewBag.IdSecao = new SelectList(db.Secoes, "Id", "Secao", materias.Secoes.Id);
            return View(materias);
        }