示例#1
0
        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);
            }
        }
示例#2
0
        public IHttpActionResult Getplantilla(int id)
        {
            plantilla plantilla = db.plantillas.Find(id);

            if (plantilla == null)
            {
                return(NotFound());
            }
            db.Entry(plantilla).Collection(p => p.preguntas).Load();
            return(Ok(plantilla));
        }
示例#3
0
        public IHttpActionResult Deleteplantilla(int id)
        {
            plantilla plantilla = db.plantillas.Find(id);

            if (plantilla == null)
            {
                return(NotFound());
            }

            db.plantillas.Remove(plantilla);
            db.SaveChanges();

            return(Ok(plantilla));
        }
示例#4
0
        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());
        }
示例#5
0
        // PUT api/Templates/5
        public IHttpActionResult Putplantilla(int id, plantilla plantilla)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (id != plantilla.id_plantilla)
            {
                return(BadRequest());
            }
            plantilla databaseTemplate = db.plantillas.Find(plantilla.id_plantilla);

            db.Entry(databaseTemplate).Collection(p => p.preguntas).Load();
            int count = databaseTemplate.preguntas.Count;

            for (int i = 0; i < count; i++)
            {
                databaseTemplate.preguntas.Remove(databaseTemplate.preguntas.ElementAt(0));
            }
            count = plantilla.preguntas.Count;
            for (int j = 0; j < count; j++)
            {
                databaseTemplate.preguntas.Add(db.preguntas.Find(plantilla.preguntas.ElementAt(j).id_pregunta));
            }
            databaseTemplate.nombre          = plantilla.nombre;
            databaseTemplate.descripcion     = plantilla.descripcion;
            db.Entry(databaseTemplate).State = EntityState.Modified;

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

            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#6
0
        public IHttpActionResult Postplantilla(plantilla plantilla)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }


            for (int i = 0; i < plantilla.preguntas.Count; i++)
            {
                pregunta pregunta = plantilla.preguntas.ElementAt(i);
                plantilla.preguntas.Remove(pregunta);
                plantilla.preguntas.Add(db.preguntas.Find(pregunta.id_pregunta));
            }
            db.plantillas.Add(plantilla);
            db.SaveChanges();

            return(CreatedAtRoute("DefaultApi", new { id = plantilla.id_plantilla }, plantilla));
        }