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)); } }
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; } }