/// <summary> /// Retorna uma lista de Etapas /// </summary> /// <autor>Fabio Senziani</autor> /// <returns><type="EntEtapa">EntEtapa</returns> public List <EntEtapa> ObterAtivaPorIdEstadoIdTurma(Int32 IdEstado, Int32 nTipoEtapa, Int32 IdTurma) { List <EntEtapa> objEtapa = null; using (DbConnection connection = db.CreateConnection()) { connection.Open(); DbTransaction transaction = connection.BeginTransaction(); try { objEtapa = dalEtapa.ObterAtivaPorIdEstadoIdTurma(IdEstado, nTipoEtapa, IdTurma, transaction, db); foreach (EntEtapa etapa in objEtapa) { if (objEtapa != null) { etapa.Estado = new BllEstado().ObterPorId(etapa.Estado.IdEstado); } } transaction.Commit(); } catch { transaction.Rollback(); throw; } finally { connection.Close(); } } return(objEtapa); }
/// <summary> /// Mudar /// </summary> /// <param name="objTurma"></param> public bool MudarTurma(EntTurmaEmpresa objTurmaEmpresa, int IdTurmaDestino) { using (DbConnection connection = db.CreateConnection()) { connection.Open(); DbTransaction transaction = connection.BeginTransaction(); try { objTurmaEmpresa.EmpresaCadastro = dalEmpresaCadastro.ObterPorId(objTurmaEmpresa.EmpresaCadastro.IdEmpresaCadastro, transaction, db); dalTurmaEmpresa.MudarTurma(objTurmaEmpresa, IdTurmaDestino, transaction, db); List <EntQuestionarioEmpresa> listQuestionarioEmpresa = dalQuestionarioEmpresa.ObterQuestionarioPorTurmaEmpresa(objTurmaEmpresa.EmpresaCadastro.IdEmpresaCadastro, objTurmaEmpresa.Turma.IdTurma, transaction, db); foreach (EntQuestionarioEmpresa objQuestionarioEmpresa in listQuestionarioEmpresa) { objQuestionarioEmpresa.Etapa = dalEtapa.ObterPorId(objQuestionarioEmpresa.Etapa.IdEtapa, transaction, db); List <EntEtapa> listTemp = dalEtapa.ObterAtivaPorIdEstadoIdTurma(objTurmaEmpresa.EmpresaCadastro.Estado.IdEstado, objQuestionarioEmpresa.Etapa.TipoEtapa.IdTipoEtapa, IdTurmaDestino, transaction, db); if (listTemp.Count > 0) { objQuestionarioEmpresa.Etapa = listTemp[0]; dalQuestionarioEmpresa.MudarTurma(objQuestionarioEmpresa, transaction, db); } else { transaction.Rollback(); return(false); } } transaction.Commit(); return(true); } catch { transaction.Rollback(); return(false); throw; } finally { connection.Close(); } } }