コード例 #1
0
        public JsonResult PostCadastrar(DadosProjetoModel dadosProjetoModel)
        {
            try
            {
                var projeto = new Projeto
                {
                    Titulo     = dadosProjetoModel.Titulo,
                    DataInicio = dadosProjetoModel.DataInicio,
                    DataFim    = dadosProjetoModel.DataFim,
                    Descricao  = dadosProjetoModel.Descricao,
                    Status     = StatusProjeto.NaoIniciado.Status
                };

                _contexto.Projetos.Add(projeto);
                _contexto.SaveChanges();

                var sessao = (SessionModel)Session["Sessao"];

                var gerente = _contexto.Gerentes
                              .FirstOrDefault(x => x.PessoaId == sessao.Pessoa.PessoaId);

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

                foreach (int programadorId in dadosProjetoModel.ProgramadoresId)
                {
                    var programadorProjeto = new ProgramadorProjeto
                    {
                        ProjetoId     = projeto.ProjetoId,
                        GerenteId     = gerente.GerenteId,
                        ProgramadorId = programadorId
                    };
                    _contexto.ProgramadorProjeto.Add(programadorProjeto);
                    _contexto.SaveChanges();
                }



                return(Json(new
                {
                    redirectUrl = Url.Action($"Index", $"PainelDeControle"),
                    isRedirect = true
                }));
            }
            catch (Exception er)
            {
                return(Json(false));
            }
        }
コード例 #2
0
        public JsonResult Editar(DadosProjetoModel dadosProjetoModel)
        {
            try
            {
                var projeto = _contexto.Projetos.FirstOrDefault(l => l.ProjetoId == dadosProjetoModel.ProjetoId);

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

                projeto.DataFim    = dadosProjetoModel.DataFim;
                projeto.DataInicio = dadosProjetoModel.DataInicio;
                projeto.Titulo     = dadosProjetoModel.Titulo;
                projeto.Descricao  = dadosProjetoModel.Descricao;

                _contexto.Entry(projeto).State = EntityState.Modified;
                _contexto.SaveChanges();

                var sessao  = (SessionModel)Session["Sessao"];
                var gerente = _contexto.Gerentes
                              .FirstOrDefault(x => x.PessoaId == sessao.Pessoa.PessoaId);

                #region Atualizando programadores

                var todosProgramadoresDoProjeto = _contexto.ProgramadorProjeto
                                                  .Where(l => l.ProjetoId == dadosProjetoModel.ProjetoId)
                                                  .ToList();

                foreach (ProgramadorProjeto programadorProjeto in todosProgramadoresDoProjeto.ToList())
                {
                    _contexto.ProgramadorProjeto.Remove(programadorProjeto);
                    _contexto.SaveChanges();
                }
                foreach (int programadorId in dadosProjetoModel.ProgramadoresId)
                {
                    var programadorProjeto = new ProgramadorProjeto
                    {
                        ProjetoId     = projeto.ProjetoId,
                        GerenteId     = gerente.GerenteId,
                        ProgramadorId = programadorId
                    };
                    _contexto.ProgramadorProjeto.Add(programadorProjeto);
                    _contexto.SaveChanges();
                }

                #endregion

                return(this.Json(new
                {
                    redirectUrl = Url.Action("Index", "PainelDeControle"),
                    isRedirect = true
                }));
            }
            catch (Exception e)
            {
                return(Json(false));

                throw;
            }
        }