Beispiel #1
0
        private void Salvar(bool confirmacao)
        {
            try
            {
                if (VS_Cpe_Ano != VSAnoLetivo)
                {
                    lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.SalvarApenasAnoCorrente"), UtilBO.TipoMensagem.Alerta);
                    return;
                }
                if (!confirmacao)
                {
                    UCConfirmacaoOperacao1.Mensagem              = "Estas informações serão compartilhadas com a Escola e impressas no boletim. Confirmar?";
                    UCConfirmacaoOperacao1.ObservacaoVisivel     = false;
                    UCConfirmacaoOperacao1.ObservacaoObrigatorio = false;

                    ScriptManager.RegisterStartupScript(Page, typeof(Page), "ConfirmaMovimentacao", "$(document).ready(function(){ $('#divConfirmacao').dialog('open'); });", true);
                }
                else
                {
                    // Busca todos os eventos do calendário
                    DataTable dtEventos = ACA_EventoBO.Select_TodosEventosPorTipo_CalendarioPeriodo(VS_Cal_Id, VS_Tur_Id, UCComboTipoPeriodoCalendario1.Valor, __SessionWEB.__UsuarioWEB.Usuario.ent_id);

                    // Verifica se existe um evento cadastrado
                    if (dtEventos.Rows.Count == 0)
                    {
                        lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.BimetreNaoAbertoLancamento"), UtilBO.TipoMensagem.Alerta);
                        return;
                    }
                    else
                    {
                        // Se não exister nenhum calendário cadastrado, ou exister e a data atual é menor que a data de início
                        bool existeBimestreFuturo = dtEventos.Rows.Cast <DataRow>().Any(row => DateTime.Now.Date < Convert.ToDateTime(row["evt_dataInicio"].ToString()));

                        if (existeBimestreFuturo)
                        {
                            lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.BimetreNaoAbertoLancamento"), UtilBO.TipoMensagem.Alerta);
                            return;
                        }

                        // Verifica se já passou a data final do evento do calendário para fechamento do bimestre vigente
                        bool existeBimestreFechado = dtEventos.Rows.Cast <DataRow>().Any(row => DateTime.Now.Date >= Convert.ToDateTime(row["evt_dataInicio"].ToString()) && DateTime.Now.Date <= Convert.ToDateTime(row["evt_dataFim"].ToString()));

                        if (!existeBimestreFechado)
                        {
                            lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.BimetreFechadoLancamento"), UtilBO.TipoMensagem.Alerta);
                            return;
                        }
                    }

                    Int64 alu_id = __SessionWEB.__UsuarioWEB.alu_id;

                    // Se for um compromisso de estudo que estava excluído e agora foi incluído novamente, altera situação e os dados
                    bool compromissoEstudoAlteraSituacao = false;

                    // Verifica se já existe um compromisso de estudo pra esse bimestre desse aluno
                    // Busca todos os compromissos de estudo do aluno
                    DataTable dtTodosCompromissosAluno = ACA_CompromissoEstudoBO.SelectSituacaoTodosCompromissoAlunoBy_alu_id(alu_id);

                    bool existeBimestreAtivo = dtTodosCompromissosAluno.Rows.Cast <DataRow>().Any(row => row["tpc_id"].ToString().Equals(UCComboTipoPeriodoCalendario1.Valor.ToString()) &&
                                                                                                  !row["cpe_id"].ToString().Equals(VS_Cpe_Id.ToString()) &&
                                                                                                  row["cpe_ano"].ToString().Equals(VS_Cpe_Ano.ToString()) &&
                                                                                                  !row["cpe_situacao"].ToString().Equals("3")
                                                                                                  );

                    // Se existir e tiver com situação ativo, mostra a msg!
                    if (existeBimestreAtivo)
                    {
                        lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.IncluirExisteRegistro"), UtilBO.TipoMensagem.Alerta);
                        return;
                    }
                    else if (VS_Cpe_Id <= 0) // Senão verifica se existe com situação excluído, pra alterar a situação pra ativo, ao invés de salvar um novo registro
                    {
                        foreach (DataRow row in dtTodosCompromissosAluno.Rows)
                        {
                            if (Convert.ToInt32(row["tpc_id"]) == UCComboTipoPeriodoCalendario1.Valor &&
                                Convert.ToInt32(row["cpe_ano"]) == VS_Cpe_Ano &&
                                Convert.ToInt32(row["cpe_situacao"]) == 3)
                            {
                                compromissoEstudoAlteraSituacao = true;
                                VS_Cpe_Id = Convert.ToInt32(row["cpe_id"]);
                                break;
                            }
                        }
                    }

                    ACA_CompromissoEstudo compromisso = new ACA_CompromissoEstudo
                    {
                        alu_id                     = __SessionWEB.__UsuarioWEB.alu_id,
                        cpe_id                     = -1,
                        cpe_atividadeFeita         = txtOqTenhoFeito.Text,
                        cpe_atividadePretendeFazer = txtOqPretendoFazer.Text,
                        cpe_situacao               = 1,
                        cpe_dataAlteracao          = DateTime.Now,
                        cpe_dataCriacao            = DateTime.Now,
                        cpe_ano                    = VS_Cpe_Ano,
                        tpc_id                     = UCComboTipoPeriodoCalendario1.Valor,
                        IsNew = true
                    };

                    // Se já existir, altera
                    if (VS_Cpe_Id > 0)
                    {
                        compromisso.cpe_id = VS_Cpe_Id;
                        compromisso.IsNew  = false;
                    }

                    if (ACA_CompromissoEstudoBO.Save(compromisso))
                    {
                        if (VS_Cpe_Id <= 0 || compromissoEstudoAlteraSituacao)
                        {
                            ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Insert, "Área do aluno. cpe_id: " + Convert.ToString(compromisso.cpe_id));
                            __SessionWEB.PostMessages = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.IncluirSucesso"), UtilBO.TipoMensagem.Sucesso);
                        }
                        else
                        {
                            ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "Área do aluno. cpe_id: " + Convert.ToString(compromisso.cpe_id));
                            __SessionWEB.PostMessages = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.AlterarErro"), UtilBO.TipoMensagem.Sucesso);
                        }

                        Response.Redirect("~/Cadastro/CompromissoEstudo/Busca.aspx", false);
                        HttpContext.Current.ApplicationInstance.CompleteRequest();
                    }
                }
            }
            catch (Exception ex)
            {
                ApplicationWEB._GravaErro(ex);
                lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.SalvarSucesso"), UtilBO.TipoMensagem.Erro);
            }
        }
Beispiel #2
0
        protected void grvCompromissoEstudo_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Deletar")
            {
                try
                {
                    if (UCComboAnosLetivos.Ano != VSAnoLetivo)
                    {
                        lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Cadastro.SalvarApenasAnoCorrente"), UtilBO.TipoMensagem.Alerta);
                        return;
                    }

                    int   index  = int.Parse(e.CommandArgument.ToString());
                    Int64 alu_id = __SessionWEB.__UsuarioWEB.alu_id;

                    DataTable dtCurriculo = ACA_AlunoCurriculoBO.SelecionaDadosUltimaMatricula(alu_id);
                    if (dtCurriculo.Rows.Count == 0)
                    {
                        throw new ValidationException("Aluno não possui dados para a Área do Aluno.");
                    }

                    Int64 tur_id = Convert.ToInt64(dtCurriculo.Rows[0]["tur_id"]);
                    int   cal_id = Convert.ToInt32(dtCurriculo.Rows[0]["cal_id"]);

                    ACA_CompromissoEstudo compromisso = new ACA_CompromissoEstudo
                    {
                        alu_id = alu_id,
                        cpe_id = Convert.ToInt32(grvCompromissoEstudo.DataKeys[index].Value)
                    };
                    ACA_CompromissoEstudoBO.GetEntity(compromisso);

                    List <Cache_EventosEfetivacaoTodos> listEventosCalendario = ACA_EventoBO.Select_EventoEfetivacaoTodos
                                                                                    (cal_id, tur_id, compromisso.tpc_id, __SessionWEB.__UsuarioWEB.Usuario.ent_id, ApplicationWEB.AppMinutosCacheLongo);

                    if (!listEventosCalendario.Any())
                    {
                        throw new ValidationException("Não é possível excluir, pois o bimestre já está fechado.");
                    }

                    compromisso.cpe_situacao      = 3;
                    compromisso.cpe_dataAlteracao = DateTime.Now;

                    if (ACA_CompromissoEstudoBO.Save(compromisso))
                    {
                        CarregarCompromissoEstudoAlunoAnoLetivo(alu_id, UCComboAnosLetivos.Ano);

                        ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Delete, "cpe_id: " + compromisso.cpe_id);
                        lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Busca.ExcluirSucesso"), UtilBO.TipoMensagem.Sucesso);
                    }
                }
                catch (ValidationException ex)
                {
                    lblMensagem.Text = UtilBO.GetErroMessage(ex.Message, UtilBO.TipoMensagem.Alerta);
                }
                catch (Exception ex)
                {
                    ApplicationWEB._GravaErro(ex);
                    lblMensagem.Text = UtilBO.GetErroMessage((string)GetGlobalResourceObject("AreaAluno", "Cadastro.CompromissoEstudo.Busca.ExcluirErro"), UtilBO.TipoMensagem.Erro);
                }
            }
        }