private async Task <IActionResult> GET(string UserId)
        {
            try
            {
                Estudiante es = await _estudiante.Get(UserId);

                if (es == null)
                {
                    return(StatusCode(StatusCodes.Status406NotAcceptable, "No Hay Documentos"));
                }
                else
                {
                    foreach (Semestre us in es.Semestres)
                    {
                        foreach (Materia mat in us.Materias)
                        {
                            List <GridFSFileInfo> Ar = new List <GridFSFileInfo>();
                            foreach (string Id in mat.Archivos)
                            {
                                Ar.Add(await _archivo.Get(Id));
                            }
                            return(Ok(JsonConvert.SerializeObject(Ar)));
                        }
                    }
                    return(StatusCode(StatusCodes.Status406NotAcceptable, "No Existe Esa Materia"));
                }
            }
            catch (Exception e)
            {
                return(BadRequest(e));
            }
        }
 public async Task <IActionResult> Login([FromBody] Users user)
 {
     try {
         if (!ModelState.IsValid)
         {
             return(StatusCode(StatusCodes.Status406NotAcceptable, ModelState));
         }
         else
         {
             if (await Authenticate(user))
             {
                 return(BuildToken(await _estudiante.Get(IdGet(user).Result), user));
             }
             else
             {
                 return(Unauthorized());
             }
         }
     } catch (Exception e) {
         return(BadRequest(e));
     }
 }