public bool send(List<usuario> users, plantilla plantilla, evaluacione evaluacion)
        {
            string from = System.Configuration.ConfigurationManager.AppSettings["email"];
            string password = System.Configuration.ConfigurationManager.AppSettings["password"];
            string port = System.Configuration.ConfigurationManager.AppSettings["endpoint"];
            try
            {
                mail.Subject = "Evaluacion ";
                mail.From = new MailAddress(from);
                smtp.Host = "smtp.gmail.com";
                smtp.Port = 587;
                smtp.EnableSsl = true;
                smtp.UseDefaultCredentials = false;
                smtp.Credentials = new NetworkCredential(from, password);
                mail.IsBodyHtml = true;

                foreach (var user in users)
                {
                    mail.To.Add(new MailAddress(user.correo));
                    mail.Body = "<h4>Buenas puedes ingresar a realizar la evaluacion de " + evaluacion.usuario.nombre + " "
                        + evaluacion.usuario.apellido + "</h4>";
                    mail.Body = "<h2>" + port +  AES256.encryptPassword(evaluacion.id_evaluacion.ToString()) + "/" +
                        AES256.encryptPassword(user.id_usuario.ToString()) + " - " + evaluacion.producto.nombre + "</h2>";
                    smtp.Send(mail);
                }

                return true;
            }
            catch (Exception e)
            {
                Console.Write(e.Message);
                return false;
            }
        }
 public IHttpActionResult email(List<usuario> users, int idTemplate, int idProfesor, int idCurso, int porcentaje)
 {
     plantilla template = db.plantillas.Find(idTemplate);
     evaluacione evaluation = new evaluacione();
     evaluation.usuario = db.usuarios.Find(idProfesor);
     evaluation.curso_evaluado = idCurso;
     evaluation.porcentaje_desactivacion = porcentaje;
     evaluation.producto = db.productos.Find(idCurso);
     if (Email.getInstance().send(users,template, evaluation)) return Ok();
     return BadRequest();
 }
        public IHttpActionResult Postevaluacione(evaluacione evaluacione)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            db.evaluaciones.Add(evaluacione);
            db.SaveChanges();

            return CreatedAtRoute("DefaultApi", new { id = evaluacione.id_evaluacion }, evaluacione);
        }
        // PUT api/Evaluations/5
        public IHttpActionResult Putevaluacione(int id, evaluacione evaluacione)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != evaluacione.id_evaluacion)
            {
                return BadRequest();
            }

            db.Entry(evaluacione).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!evaluacioneExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }