public ActionResult Editar(int projetoId)
        {
            var editarProjetoModel = new EditarProjetoModel();

            var projeto = _contexto.Projetos.FirstOrDefault(l => l.ProjetoId == projetoId);

            editarProjetoModel.DadosProjeto = new DadosProjetoModel(projeto);

            #region Todos Programadores

            var programadores = _contexto.Programadores
                                .Select(l => new { l.ProgramadorId, l.Pessoa.Nome })
                                .ToList();


            foreach (var programador in programadores)
            {
                var programadorModel = new ProgramadorModel()
                {
                    Nome          = programador.Nome,
                    ProgramadorId = programador.ProgramadorId
                };
                editarProjetoModel.Programadores.Add(programadorModel);
            }

            #endregion

            #region Programadores do Projeto

            var programadoresDoProjeto = _contexto.ProgramadorProjeto
                                         .Where(l => l.ProjetoId == projetoId)
                                         .Select(l => new { l.ProgramadorId, l.Programador.Pessoa.Nome })
                                         .ToList();

            foreach (var programadorDoProjeto in programadoresDoProjeto)
            {
                var programadorModel = new ProgramadorModel()
                {
                    Nome          = programadorDoProjeto.Nome,
                    ProgramadorId = programadorDoProjeto.ProgramadorId
                };
                editarProjetoModel.ProgramadoresDoProjetoId.Add(programadorDoProjeto.ProgramadorId.ToString());
                editarProjetoModel.ProgramdoresDoProjeto.Add(programadorModel);
            }
            #endregion

            editarProjetoModel.DadosProjeto.ProjetoId = projetoId;
            return(View(editarProjetoModel));
        }
        public ActionResult Cadastrar()
        {
            var programadores = _contexto.Programadores
                                .Select(l => new { l.ProgramadorId, l.Pessoa.Nome })
                                .ToList();

            var programadoresModel = new List <ProgramadorModel>();

            ;           foreach (var programador in programadores)
            {
                var programadorModel = new ProgramadorModel()
                {
                    Nome          = programador.Nome,
                    ProgramadorId = programador.ProgramadorId
                };
                programadoresModel.Add(programadorModel);
            }
            return(View(programadoresModel));
        }
        public ActionResult Detalhes(int projetoId)
        {
            try
            {
                #region Projeto

                var projeto = _contexto.Projetos
                              .Include(l => l.Mensagens)
                              .FirstOrDefault(l => l.ProjetoId == projetoId);

                if (projeto == null)
                {
                    return(Json(false));
                }

                var dadosProjeto = new DadosProjetoModel(projeto)
                {
                    ProjetoId = projetoId
                };

                #endregion

                #region Programadores

                var programadores = _contexto.ProgramadorProjeto
                                    .Where(l => l.ProjetoId == projetoId)
                                    .Select(l => l.Programador)
                                    .ToList();

                var programadoresModel = new List <ProgramadorModel>();
                foreach (Programador programador in programadores)
                {
                    var programadorModel = new ProgramadorModel(programador);
                    programadoresModel.Add(programadorModel);
                }

                #endregion

                #region Mensagens

                var mensagensModel = new List <MensagemModel>();
                foreach (Mensagem mensagem in projeto.Mensagens)
                {
                    var mensagemModel = new MensagemModel(mensagem);
                    mensagensModel.Add(mensagemModel);
                }


                #endregion

                var nomeGerente = _contexto.ProgramadorProjeto.Where(l => l.ProjetoId == projetoId)
                                  .Select(l => l.Gerente.Pessoa.Nome)
                                  .FirstOrDefault();

                var detalhesProjetoModel = new DetalhesProjetoModel()
                {
                    DadosProjetoModel = dadosProjeto,
                    Mensagens         = mensagensModel,
                    Programadores     = programadoresModel,
                    Gerente           = nomeGerente
                };
                return(View(detalhesProjetoModel));
            }
            catch (Exception e)
            {
                return(Json(false));

                throw;
            }
        }