public List <PCurrentMatterView> GetCurrentMattersTeacher(int idCurrentUser, ref string error)
        {
            List <PCurrentMatterView> pCurrentMatterViewList = new List <PCurrentMatterView>();
            PCurrentMatterView        pCurrentMatterView;

            try
            {
                using (NotasAcademicasEntities context = new NotasAcademicasEntities())
                {
                    var currentMatter = (from mt in context.Matricula
                                         join dm in context.DetalleMatricula on mt.IdMatricula equals dm.Id_Fr_Matricula
                                         join de in context.DetalleEstudiantes on dm.Id_Fr_Matricula equals de.Id_Fr_Matricula_E
                                         join Materia m in context.Materia on dm.IdMateria equals m.IdMateria
                                         join p in context.Profesor on dm.IdProfesor equals p.IdProfesor
                                         where dm.IdProfesor == idCurrentUser
                                         select new { dm.Id_Fr_Matricula, m.IdMateria, m.Nombre, m.Codigo, m.NumeroCredito, p.IdProfesor }).ToList();

                    foreach (var item in currentMatter)
                    {
                        pCurrentMatterView = new PCurrentMatterView();
                        pCurrentMatterView.IdRegistration = item.Id_Fr_Matricula;
                        pCurrentMatterView.IdMatter       = item.IdMateria.ToString();
                        pCurrentMatterView.NameMatter     = item.Nombre;
                        pCurrentMatterView.NamberCredits  = (int)item.NumeroCredito;
                        pCurrentMatterView.Code           = item.Codigo;
                        pCurrentMatterView.IdTeacher      = item.IdProfesor.ToString();
                        pCurrentMatterViewList.Add(pCurrentMatterView);
                    }
                }
                return(pCurrentMatterViewList);
            }
            catch (System.Exception ex)
            {
                error = ex.ToString();
                return(null);

                throw;
            }
        }
        public List <PCurrentMatterView> GetCurrentMattersByUser(int idCurrentUser, string typeUser, ref string error)
        {
            List <PCurrentMatterView> pCurrentMatterViewList = new List <PCurrentMatterView>();
            PCurrentMatterView        pCurrentMatterView;

            try
            {
                using (NotasAcademicasEntities context = new NotasAcademicasEntities())
                {
                    if (typeUser.Equals("student"))
                    {
                        var currentMatter = (from mt in context.Matricula
                                             join dm in context.DetalleMatricula on mt.IdMatricula equals dm.Id_Fr_Matricula
                                             join de in context.DetalleEstudiantes on dm.Id_Fr_Matricula equals de.Id_Fr_Matricula_E
                                             join Materia m in context.Materia on dm.IdMateria equals m.IdMateria
                                             join p in context.Profesor on dm.IdProfesor equals p.IdProfesor
                                             where de.Id_Fr_Estudiantes_E == idCurrentUser & de.Estado == true && mt.Estado == true
                                             select new { dm.Id_Fr_Matricula, dm.Grupo, m.IdMateria, m.Nombre, m.Codigo, m.NumeroCredito, p.IdProfesor, p.Nombres, p.Apellidos }).ToList();

                        foreach (var item in currentMatter)
                        {
                            pCurrentMatterView = new PCurrentMatterView();
                            pCurrentMatterView.IdRegistration = item.Id_Fr_Matricula;
                            pCurrentMatterView.IdMatter       = item.IdMateria.ToString();
                            pCurrentMatterView.NameMatter     = item.Nombre;
                            pCurrentMatterView.NamberCredits  = (int)item.NumeroCredito;
                            pCurrentMatterView.Code           = item.Codigo;
                            pCurrentMatterView.IdTeacher      = item.IdProfesor.ToString();
                            pCurrentMatterView.NameTeacher    = item.Nombres + " " + item.Apellidos;
                            pCurrentMatterView.Group          = item.Grupo.ToString();
                            pCurrentMatterViewList.Add(pCurrentMatterView);
                        }
                    }
                    else
                    {
                        var currentMatter = (from dm in context.DetalleMatricula
                                             join p in context.Profesor on dm.IdProfesor equals p.IdProfesor
                                             join m in context.Materia on dm.IdMateria equals m.IdMateria
                                             join mt in context.Matricula on dm.Id_Fr_Matricula equals mt.IdMatricula
                                             where dm.IdProfesor == idCurrentUser && mt.Estado == true
                                             select new { dm.Grupo, dm.Id_Fr_Matricula, m.IdMateria, m.Nombre, m.Codigo, m.NumeroCredito, p.IdProfesor }).ToList();

                        foreach (var item in currentMatter)
                        {
                            pCurrentMatterView = new PCurrentMatterView();
                            pCurrentMatterView.IdRegistration = item.Id_Fr_Matricula;
                            pCurrentMatterView.IdMatter       = item.IdMateria.ToString();
                            pCurrentMatterView.NameMatter     = item.Nombre + "(" + item.Grupo + ")";
                            pCurrentMatterView.NamberCredits  = (int)item.NumeroCredito;
                            pCurrentMatterView.Code           = item.Codigo;
                            pCurrentMatterView.IdTeacher      = item.IdProfesor.ToString();
                            pCurrentMatterView.Group          = item.Grupo.ToString();
                            pCurrentMatterViewList.Add(pCurrentMatterView);
                        }
                    }
                }
                return(pCurrentMatterViewList);
            }
            catch (System.Exception ex)
            {
                error = ex.ToString();
                return(null);

                throw;
            }
        }