public bool Insert(AvaliacaoProjeto a) { bool ok = false; using (SqlConnection con = new SqlConnection(ConnectionFactory.GetStringConexao())) { StringBuilder sql = new StringBuilder(); sql.AppendLine("INSERT INTO Avalaicao_Projeto "); sql.AppendLine("(id_criterio_av, id_proj, cpf_usu, not_ava, dat_ava, obs_ava) "); sql.AppendLine("VALUES (@id_criterio_av, @id_proj, @cpf_usu, @not_ava, @dat_ava, @obs_ava) "); sql.AppendLine("SELECT SCOPE_IDENTITY(); ");//Linha Responsável por retornar id que foi Inserido using (SqlCommand cmd = new SqlCommand(sql.ToString(), con)) { cmd.CommandType = CommandType.Text; cmd.Parameters.AddWithValue("@id_criterio_av", a.Id_criterio); cmd.Parameters.AddWithValue("@id_proj", a.Id_projeto); cmd.Parameters.AddWithValue("@cpf_usu", a.Id_usuario); cmd.Parameters.AddWithValue("@not_ava", a.Nota); cmd.Parameters.AddWithValue("@dat_ava", a.Data); cmd.Parameters.AddWithValue("@obs_ava", DBNull.Value); con.Open(); ok = (cmd.ExecuteNonQuery() != 0); con.Close(); } } return(ok); }
public AvaliacaoProjeto GetById(string cpf, int projetoId, int criterioId) { AvaliacaoProjeto a = null; using (SqlConnection con = new SqlConnection(ConnectionFactory.GetStringConexao())) { con.Open(); StringBuilder sql = new StringBuilder(); sql.AppendLine("SELECT id_criterio_av, id_proj, cpf_usu, not_ava, dat_ava, obs_ava "); sql.AppendLine("FROM Avalaicao_Projeto a "); sql.AppendLine("WHERE a.cpf_usu = @cpf_usu "); sql.AppendLine("and a.id_proj = @id_proj "); sql.AppendLine("and id_criterio_av = @id_criterio_av "); using (SqlCommand cmd = new SqlCommand(sql.ToString(), con)) { cmd.Parameters.AddWithValue("@cpf_usu", cpf); cmd.Parameters.AddWithValue("@id_proj", projetoId); cmd.Parameters.AddWithValue("@id_criterio_av", criterioId); using (SqlDataReader dr = cmd.ExecuteReader()) { if (dr != null) { if (dr.Read()) { a = new AvaliacaoProjeto();//Instanciando o objeto da iteração //Preenchimento das propriedades a partir do que retornou no banco. a.Id_usuario = dr["cpf_usu"].ToString(); a.Id_projeto = Convert.ToInt32(dr["id_proj"].ToString()); a.Id_criterio = Convert.ToInt32(dr["id_criterio_av"].ToString()); } } } } } return(a); }
protected void btnAvaliarProjeto_Click(object sender, EventArgs e) { try { //Pega a diferença de horas no Web Config. int diferencaHora = Convert.ToInt32(ConfigurationManager.AppSettings["DiferencaHora"].ToString()); DateTime horarioAtual = DateTime.Now.AddHours(diferencaHora); DateTime inicioVotacao = new DateTime(2019, DateTime.Now.Month, DateTime.Now.Day, 19, 0, 0); DateTime inicioVotacaoDia25 = new DateTime(2019, DateTime.Now.Month, 25, 16, 0, 0); DateTime fimVotacao = new DateTime(2019, DateTime.Now.Month, DateTime.Now.Day, 23, 0, 0); bool votacaoAberta = (((horarioAtual > inicioVotacao && horarioAtual < fimVotacao) && (horarioAtual.Day == 23 || horarioAtual.Day == 24)) || ((horarioAtual > inicioVotacaoDia25 && horarioAtual < fimVotacao) && (horarioAtual.Day == 25))); if (!votacaoAberta) { throw new Exception(string.Format("A votação é permitida apenas durante o horário da feira. Consulte o Menu Banner. Hora Atual: {0:dd/MM/yyyy HH:mm}", horarioAtual)); } if (ddlOrganizacao.SelectedValue == "0") { throw new Exception("Selecione a nota para o Critério Organização"); } if (ddlComunicacao.SelectedValue == "0") { throw new Exception("Selecione a nota para o Critério Comunicação"); } if (ddlConhecimentoTecnico.SelectedValue == "0") { throw new Exception("Selecione a nota para o Conhecimento Técnico"); } List <AvaliacaoProjeto> lista = new List <AvaliacaoProjeto>(); AvaliacaoProjeto avOrganizacao = new AvaliacaoProjeto(); avOrganizacao.Id_projeto = Convert.ToInt32(hdnProjetoId.Value); avOrganizacao.Id_criterio = 1; avOrganizacao.Id_usuario = txtCpf.Text; avOrganizacao.Nota = Convert.ToInt32(ddlOrganizacao.SelectedValue); avOrganizacao.Data = DateTime.Now.AddHours(diferencaHora); lista.Add(avOrganizacao); AvaliacaoProjeto avComunicacao = new AvaliacaoProjeto(); avComunicacao.Id_projeto = Convert.ToInt32(hdnProjetoId.Value); avComunicacao.Id_criterio = 2; avComunicacao.Id_usuario = txtCpf.Text; avComunicacao.Nota = Convert.ToInt32(ddlComunicacao.SelectedValue); avComunicacao.Data = DateTime.Now.AddHours(diferencaHora); lista.Add(avComunicacao); AvaliacaoProjeto avConheTecnico = new AvaliacaoProjeto(); avConheTecnico.Id_projeto = Convert.ToInt32(hdnProjetoId.Value); avConheTecnico.Id_criterio = 3; avConheTecnico.Id_usuario = txtCpf.Text; avConheTecnico.Nota = Convert.ToInt32(ddlComunicacao.SelectedValue); avConheTecnico.Data = DateTime.Now.AddHours(diferencaHora); lista.Add(avConheTecnico); foreach (AvaliacaoProjeto av in lista) { AvaliacaoProjeto a = new AvaliacaoProjetoDAL().GetById(av.Id_usuario, av.Id_projeto, av.Id_criterio); if (a != null) { throw new Exception("Você já avaliou este projeto"); } } foreach (AvaliacaoProjeto av in lista) { new AvaliacaoProjetoDAL().Insert(av); } string mensagem = string.Format("{0}, Obrigado e continue avaliando os outros projetos!!!", txtNome.Text); string scriptMensagem = string.Format("<script>ChamarExibirMensagemSucesso('{0}');</script>", mensagem); ClientScript.RegisterStartupScript(this.GetType(), "ChaveMensagem", scriptMensagem); LimparControles(); } catch (Exception ex) { string msg = ex.Message.Replace("'", ""); string scriptMensagem = string.Format("<script>ExibirMensagemErro('{0}');</script>", msg); ClientScript.RegisterStartupScript(this.GetType(), "ChaveMensagem", scriptMensagem); } }