예제 #1
0
        protected override void ParamAlterar(QueryStoredProcedure qs, TUR_TurmaDisciplinaAulaPrevista entity)
        {
            base.ParamAlterar(qs, entity);

            qs.Parameters.RemoveAt("@tap_dataCriacao");
            qs.Parameters["@tap_dataAlteracao"].Value = DateTime.Now;
        }
예제 #2
0
        /// <summary>
        /// Retorna todos os dados de uma mesma disciplina
        /// </summary>
        /// <param name="tud_id"></param>
        /// <returns></returns>
        public List <TUR_TurmaDisciplinaAulaPrevista> SelecionaPorDisciplina(long tud_id)
        {
            List <TUR_TurmaDisciplinaAulaPrevista> lista = new List <TUR_TurmaDisciplinaAulaPrevista>();

            QuerySelectStoredProcedure qs = new QuerySelectStoredProcedure("NEW_TUR_TurmaDisciplinaAulaPrevista_SelecionaPorDisciplina", this._Banco);

            try
            {
                #region PARAMETROS

                Param               = qs.NewParameter();
                Param.DbType        = DbType.Int64;
                Param.ParameterName = "@tud_id";
                Param.Size          = 8;
                Param.Value         = tud_id;
                qs.Parameters.Add(Param);

                #endregion

                qs.Execute();

                if (qs.Return.Rows.Count > 0)
                {
                    foreach (DataRow dr in qs.Return.Rows)
                    {
                        TUR_TurmaDisciplinaAulaPrevista ent = new TUR_TurmaDisciplinaAulaPrevista();

                        lista.Add(DataRowToEntity(dr, ent));
                    }
                }

                return(lista);
            }
            catch
            {
                throw;
            }
            finally
            {
                qs.Parameters.Clear();
            }
        }
예제 #3
0
        public HttpResponseMessage PutAulasDadasPrevistasTurma(TurmaDisciplinaAulaPrevista turmaDisciplina)
        {
            try
            {
                if (turmaDisciplina == null)
                    throw new ArgumentException("Objeto do tipo 'TurmaDisciplinaAulaPrevista' está nulo.");

                var permitir = PermitirEditarPeriodoAula(turmaDisciplina.turmaDocentePosicao, turmaDisciplina.aulasPrevistas.First().tipoPeriodoCalendarioId,
                                                         turmaDisciplina.calendarioId, turmaDisciplina.turmaId, turmaDisciplina.periodoDataFim);
                if (!permitir)
                    throw new ArgumentException("O usuário não possui permissão para alterar as aulas previstas.");

                List<TUR_TurmaDisciplinaAulaPrevista> aulasPrevistas = TUR_TurmaDisciplinaAulaPrevistaBO.SelecionaPorDisciplina(turmaDisciplina.turmaDisciplinaId);
                var totalPrevistas = 0;
                List<TUR_TurmaDisciplinaAulaPrevista> listaSalvar = new List<TUR_TurmaDisciplinaAulaPrevista>();
                List<TUR_TurmaDisciplinaAulaPrevista> listaProcessarPend = new List<TUR_TurmaDisciplinaAulaPrevista>();

                foreach (AulaPrevista aula in turmaDisciplina.aulasPrevistas)
                {
                    var qtAulasPrevistas = aula.qtAulasPrevistas;
                    if (qtAulasPrevistas < 1)
                        throw new ArgumentException("Quantidade de aulas previstas deve ser maior que 0.");

                    TUR_TurmaDisciplinaAulaPrevista aulaPrevista = aulasPrevistas.Find(p => p.tpc_id == aula.tipoPeriodoCalendarioId);
                    if (aulaPrevista == null)
                    {
                        aulaPrevista = new TUR_TurmaDisciplinaAulaPrevista();

                        // Seta os dados para uma nova insercao.
                        aulaPrevista.tud_id = turmaDisciplina.turmaDisciplinaId;
                        aulaPrevista.tpc_id = aula.tipoPeriodoCalendarioId;
                        aulaPrevista.tap_registrosCorrigidos = false;
                    }
                    totalPrevistas += qtAulasPrevistas;

                    if ((aulaPrevista.tap_registrosCorrigidos && aulaPrevista.tap_aulasPrevitas == qtAulasPrevistas))
                        continue;

                    aulaPrevista.tap_registrosCorrigidos = aulaPrevista.tap_aulasPrevitas == qtAulasPrevistas;

                    if (!(aulaPrevista.tap_aulasPrevitas == qtAulasPrevistas))
                        listaProcessarPend.Add(aulaPrevista);

                    // Atualiza ou seta as aulas previstas.
                    aulaPrevista.tap_aulasPrevitas = qtAulasPrevistas;

                    aulaPrevista.tud_tipo = turmaDisciplina.turmaDisciplinaTipo;

                    listaSalvar.Add(aulaPrevista);
                }

                Guid ent_id = __userLogged.Usuario.ent_id;
                long doc_id = __userLogged.Docente.doc_id;

                if (TUR_TurmaDisciplinaAulaPrevistaBO.SalvarAulasPrevistas(listaSalvar, listaProcessarPend, ent_id, turmaDisciplina.escolaId, doc_id, turmaDisciplina.fechamentoAutomatico))
                {
                    ApplicationWEB._GravaLogSistema(LOG_SistemaTipo.Update, "Aulas previstas | tud_id: " + turmaDisciplina.turmaDisciplinaId);
                    return Request.CreateResponse(HttpStatusCode.OK, "Aulas previstas alteradas com sucesso.");
                }
                else
                {
                    throw new Exception("Não foi possível salvar as aulas previstas.");
                }
            }
            catch (ArgumentException ex)
            {
                return Request.CreateResponse(HttpStatusCode.Unauthorized, ex.Message);
            }
            catch (Exception ex)
            {
                return Request.CreateResponse(HttpStatusCode.InternalServerError, ex);
            }
        }
예제 #4
0
 /// <summary>
 /// Método alterado para que o update não faça a alteração da data de criação
 /// </summary>
 /// <param name="entity">Entidade TUR_TurmaDisciplina</param>
 /// <returns>true = sucesso | false = fracasso</returns>
 protected override bool Alterar(TUR_TurmaDisciplinaAulaPrevista entity)
 {
     __STP_UPDATE = "NEW_TUR_TurmaDisciplinaAulaPrevista_UPDATE";
     return(base.Alterar(entity));
 }