Beispiel #1
0
        public bool Excluir(Compromisso horario)
        {
            try
            {
                AntesExcluir();
                BeginTran();
                Sessao.Delete(horario);
                Sessao.Flush();

                //Deleta Agenda caso a mesma não tenha compromissos
                Agenda agenda = new Agenda().Selecionar(horario.Agenda.Codigo);
                if (agenda.Compromissos != null && agenda.Compromissos.Count == 0)
                {
                    Sessao.Delete(agenda);
                    Sessao.Flush();
                }

                Commit();
                return(true);
            }
            catch (HibernateException h)
            {
                Rollback();
                Type aux = typeof(MySqlException);
                if (h.InnerException.GetType().Equals(aux))
                {
                    GepexException.EBancoDados gex = new GepexException.EBancoDados();
                    gex.Numero = ((MySqlException)h.InnerException).Number;
                    throw gex;
                }
                else
                {
                    throw h;
                }
            }
            catch (Exception e)
            {
                Rollback();
                throw e;
            }
        }
Beispiel #2
0
        public bool TrocarHorario(Compromisso pOrigem, Compromisso pDestino, string pMotivo)
        {
            try
            {
                this.BeginTran();

                // delete o registro na tabela para nao dar problemas com os Index na tabela de compromisso
                Sessao.Delete(pOrigem);
                Sessao.Flush();
                Sessao.Delete(pDestino);
                Sessao.Flush();

                Compromisso CompDestino = new Compromisso();
                Compromisso CompOrigem  = new Compromisso();

                //copia do destino para a origem
                CompOrigem.Aluno          = pOrigem.Aluno;
                CompOrigem.Profissao      = pDestino.Profissao;
                CompOrigem.Data           = pDestino.Data;
                CompOrigem.Agenda         = pDestino.Agenda;
                CompOrigem.HorarioInicial = pDestino.HorarioInicial;
                CompOrigem.HorarioFinal   = pDestino.HorarioFinal;
                CompOrigem.Situacao       = pDestino.Situacao;
                CompOrigem.Motivo         = pMotivo;

                //copia da origem para destino
                CompDestino.Aluno          = pDestino.Aluno;
                CompDestino.Profissao      = pOrigem.Profissao;
                CompDestino.Data           = pOrigem.Data;
                CompDestino.Agenda         = pOrigem.Agenda;
                CompDestino.HorarioInicial = pOrigem.HorarioInicial;
                CompDestino.HorarioFinal   = pOrigem.HorarioFinal;
                CompDestino.Situacao       = pOrigem.Situacao;
                CompDestino.Motivo         = pMotivo;
                //insere
                CompDestino.Validar();
                Sessao.Save(CompDestino);
                Sessao.Flush();
                CompOrigem.Validar();
                Sessao.Save(CompOrigem);
                Sessao.Flush();

                this.Commit();
                return(true);
            }
            catch (HibernateException h)
            {
                this.Rollback();
                Type aux = typeof(MySqlException);
                if (h.InnerException.GetType().Equals(aux))
                {
                    GepexException.EBancoDados gex = new GepexException.EBancoDados();
                    gex.Numero = ((MySqlException)h.InnerException).Number;
                    throw gex;
                }
                else
                {
                    throw h;
                }
            }
            catch (Model.Base.GepexException.ERegraNegocio ex)
            {
                throw ex;
            }
            catch (Exception e)
            {
                this.Rollback();
                throw e;
            }
        }