public BaseResponse <Materias> GetMaterias(int IdMateria)
        {
            var response = new BaseResponse <Materias>();

            try
            {
                response.Results = _MateriaDAL.GetMaterias(IdMateria);

                if (response.Results != null)
                {
                    response.CodeError = 0;
                }
                else
                {
                    response.SetErrorCode(7);
                }
            }
            catch
            {
                throw;
            }

            return(response);
        }
Exemple #2
0
        public IHttpActionResult GetMaterias()
        {
            List <Materia> lstMaterias = materias.GetMaterias();

            if (lstMaterias.Count > 0)
            {
                if (!String.IsNullOrEmpty(lstMaterias[0].mensajeError))
                {
                    return(Content(HttpStatusCode.NotFound, lstMaterias[0].mensajeError));
                }
                else
                {
                    return(Content(HttpStatusCode.OK, lstMaterias));
                }
            }
            else
            {
                return(Content(HttpStatusCode.OK, lstMaterias));
            }
        }
        //GRUPOSMETARIAS
        public BaseResponse <int> UpdateGrupoMateria(GruposMaterias Grupo)
        {
            var response = new BaseResponse <int>();

            int existe = _GrupoDAL.GetGruposMateriasIN(Grupo.IdGrupo, Grupo.IdMateria);

            if (existe > 0)
            {
                response.SetErrorCode(17);
                return(response);
            }

            List <GruposMaterias> materiasList = _GrupoDAL.GetMateriasGrupos(Grupo.IdGrupo);
            Materias currentMateria            = _MateriaDAL.GetMaterias(Grupo.IdMateria);

            if (materiasList.Count > 0)
            {
                foreach (GruposMaterias materia in materiasList)
                {
                    if (currentMateria.IdDia == materia.IdDia && materia.HoraEntrada >= currentMateria.HoraEntrada && materia.HoraSalida <= currentMateria.HoraSalida && materia.IdMateria != currentMateria.IdMateria ||
                        currentMateria.IdDia == materia.IdDia && materia.HoraEntrada >= currentMateria.HoraEntrada && materia.HoraEntrada <= currentMateria.HoraSalida && materia.IdMateria != currentMateria.IdMateria)
                    {
                        response.SetErrorCode(16);
                        response.MessageError += " en el horario : " + currentMateria.HoraEntrada + " - " + currentMateria.HoraSalida;
                        return(response);
                    }
                }
            }

            List <GruposMaterias> horario = _GrupoDAL.GetMateriasByDocente(currentMateria.IdDocente);

            if (horario.Count > 0)
            {
                foreach (GruposMaterias hora in horario)
                {
                    if (currentMateria.HoraEntrada >= hora.HoraEntrada && currentMateria.HoraSalida <= hora.HoraSalida && currentMateria.IdMateria != hora.IdMateria ||
                        currentMateria.HoraEntrada >= hora.HoraEntrada && currentMateria.HoraEntrada <= hora.HoraSalida && currentMateria.IdMateria != hora.IdMateria)
                    {
                        response.SetErrorCode(16);
                        response.MessageError += " en el horario : " + hora.HoraEntrada + " - " + hora.HoraSalida;
                        return(response);
                    }
                }
            }


            bool desconecta = false;

            try
            {
                if (_GrupoDAL.Dao.Conectado())
                {
                    desconecta = false;
                }
                else
                {
                    _GrupoDAL.Dao.Conectar();
                    desconecta = true;
                }

                _GrupoDAL.Dao.IniciaTransaccion();
                response.Results   = _GrupoDAL.UpdateGruposMateria(Grupo);
                response.CodeError = 0;
                _GrupoDAL.Dao.ConfirmaTransaccion();
            }
            catch
            {
                response.SetErrorCode(8);
                _GrupoDAL.Dao.CancelarTransaccion();
                throw;
            }
            finally
            {
                if (desconecta)
                {
                    _GrupoDAL.Dao.Desconectar();
                }
            }
            return(response);
        }