public void EnviarEmailRespuestaDelAlumno(Pregunta pregunta, string resp, int idAlum) { Alumno alumno = bdContexto.Alumnoes.Find(idAlum); Pregunta preg = bdContexto.Preguntas.Find(pregunta.IdPregunta); RespuestaAlumno respuestaAlumno = bdContexto.RespuestaAlumnoes.SingleOrDefault(p => p.IdPregunta == preg.IdPregunta && p.IdAlumno == alumno.IdAlumno); Profesor profesor = bdContexto.Profesors.Find(preg.IdProfesorCreacion); string email = profesor.Email; MailMessage msj = new MailMessage(); msj.To.Add("*****@*****.**"); msj.Bcc.Add("*****@*****.**"); msj.Bcc.Add("*****@*****.**"); string asunto = "Asunto:Respuesta a Pregunta " + preg.Nro + " Orden: " + respuestaAlumno.Orden + " Apellido " + alumno.Apellido; msj.Subject = asunto; msj.SubjectEncoding = System.Text.Encoding.UTF8; string evaluarPregunta = ("http://*****:*****@gmail.com"); SmtpClient cli = new SmtpClient(); cli.Credentials = new NetworkCredential("*****@*****.**", "calificapp12345678"); cli.Port = 587; cli.EnableSsl = true; cli.Host = "smtp.gmail.com"; cli.Send(msj); }
public void EnviarEmailMejorRespuesta(RespuestaAlumno respuestaPorId) { Alumno alumno = ctx.Alumno.Find(respuestaPorId.IdAlumno); Pregunta pregunta = ctx.Pregunta.Find(respuestaPorId.IdPregunta); System.Net.Mail.MailMessage mensaje = new System.Net.Mail.MailMessage(); string email = alumno.Email; mensaje.To.Add(email); string asunto = "Su respuesta ha sido marcada como la mejor. ¡Felicitaciones!"; mensaje.Subject = asunto; mensaje.SubjectEncoding = System.Text.Encoding.UTF8; int alumnoId = respuestaPorId.IdAlumno; string preguntaTxt = pregunta.Pregunta1; string respuesta = respuestaPorId.Respuesta; string linkRespuesta = ("http://*****:*****@gmail.com"); System.Net.Mail.SmtpClient cliente = new System.Net.Mail.SmtpClient(); cliente.Credentials = new System.Net.NetworkCredential("*****@*****.**", "unlam2018"); cliente.Port = 587; cliente.EnableSsl = true; cliente.Host = "smtp.gmail.com"; cliente.Send(mensaje); }
public static void CorregirRespuesta(int idRespuesta, int resultadoEvaluacion, int idProfesor) { using (db = new TP_20191CEntities()) { RespuestaAlumno respuesta = (from r in db.RespuestaAlumnoes.Include("Profesor").Include("ResultadoEvaluacion").Include("Alumno") where r.IdRespuestaAlumno == idRespuesta select r).FirstOrDefault(); int cantidadRespuestasCorrectas = (from r in db.RespuestaAlumnoes where r.IdPregunta == respuesta.IdPregunta && r.IdResultadoEvaluacion == 1 select r).Count(); // Setea 1, 2 o 3 en evaluación, profesor que corrigió, cantRespuestasCorrectas y FechaHoraEvaluacion respuesta.IdResultadoEvaluacion = resultadoEvaluacion; respuesta.IdProfesorEvaluador = idProfesor; respuesta.RespuestasCorrectasHastaElMomento = cantidadRespuestasCorrectas; respuesta.FechaHoraEvaluacion = DateTime.Now; long puntos = 0; if (resultadoEvaluacion != 3) // Si no es incorrecta { puntos = CalcularPuntosDeRespuesta(respuesta); } respuesta.Puntos = puntos; db.SaveChanges(); // Actualiza datos en la tabla Alumnos ActualizarPuntosTotales(respuesta.IdAlumno, puntos); ActualizarCantidadDeRespuestas(respuesta.IdAlumno, resultadoEvaluacion); } }
public ActionResult MejorRespuesta(int idRespuesta) { if (!Request.IsAuthenticated) { return(RedirectToAction("Ingresar", "Home", new { returnUrl = Request.Url.ToString() })); } using (var transactionScope = new TransactionScope(TransactionScopeOption.RequiresNew)) { try { this.RespuestaService.SetMejorRespuesta(idRespuesta); RespuestaAlumno respuesta = this.RespuestaService.Get(idRespuesta); EmailService.SendMailMejorRespuesta(respuesta); transactionScope.Complete(); return(View("Preguntas")); } catch (Exception ex) { TempData["messageERROR"] = "Se produjo un error en la aplicación. " + ex.Message; transactionScope.Dispose(); return(View("Preguntas")); } } }
public ActionResult VerRespuesta(int IdRespuesta) { RespuestaAlumno respuesta = respuestaServide.ObtenerRespuestaPorIdRespuesta(IdRespuesta); Pregunta pregunta = preguntaService.ObtenerUnaPreguntaId(respuesta.IdPregunta); TempData["Respuesta"] = respuesta.Respuesta; return(View(pregunta)); }
public static RespuestaAlumno GetRespuesta(int idRespuesta) { using (db = new TP_20191CEntities()) { RespuestaAlumno respuesta = (from r in db.RespuestaAlumnoes.Include("Profesor").Include("ResultadoEvaluacion") where r.IdRespuestaAlumno == idRespuesta select r).FirstOrDefault(); return(respuesta); } }
public static long CalcularPuntosMejorRespuesta(RespuestaAlumno respuesta) { long puntajeMax = int.Parse(WebConfigurationManager.AppSettings["PuntajeMaximoPorRespuestaCorrecta"]); long cupo = int.Parse(WebConfigurationManager.AppSettings["CupoMaximoRespuestasCorrectas"]); long puntajeRespuesta = respuesta.Puntos.Value + (puntajeMax / 2); return(puntajeRespuesta); }
public ActionResult MejorRespuesta(int id, int idDos) { Pregunta PreguntaPorId = profesorServicio.BuscarPreguntaPorId(id); RespuestaAlumno respuestaPorId = profesorServicio.BuscarRespuestaPorId(idDos); profesorServicio.ActivarMejorRespuesta(respuestaPorId); alumnoServicio.EnviarEmailMejorRespuesta(respuestaPorId); return(RedirectToAction("EvaluarPregunta", new { id = PreguntaPorId.IdPregunta })); }
public ActionResult EvaluarRespuestaMal(int id, int idDos) { int idProfesor = (int)Session["idLogueado"]; Pregunta PreguntaPorId = profesorServicio.BuscarPreguntaPorId(id); RespuestaAlumno respuestaPorId = profesorServicio.BuscarRespuestaPorId(idDos); alumnoServicio.EvaluarPreguntaMal(idProfesor, respuestaPorId); alumnoServicio.EnviarEmailEvaluacion(idProfesor, respuestaPorId); return(RedirectToAction("EvaluarPregunta", new { id = PreguntaPorId.IdPregunta })); }
public ActionResult VerRespuesta(int id) { MyContext ctx = new MyContext(); RespuestaAlumno respuesta = ctx.RespuestaAlumno.Find(id); var idAlumno = respuesta.Alumno.IdAlumno; Alumno alum = alumnoServicio.buscarAlumnoPorId(idAlumno); ViewBag.Respuesta = respuesta; return(View(alum)); }
public PreguntaWrapper GetPreguntaWrapperByPregunta(Pregunta pregunta) { var preguntaWrapper = new PreguntaWrapper { Clase = pregunta.Clase != null ? pregunta.Clase.Nombre : string.Empty, Tema = pregunta.Tema != null ? pregunta.Tema.Nombre : string.Empty, IdPregunta = pregunta.IdPregunta, Pregunta = pregunta.Pregunta1, Nro = pregunta.Nro, DisponibleDesde = pregunta.FechaDisponibleDesde, DisponibleHasta = pregunta.FechaDisponibleHasta, YaRespondida = pregunta.RespuestaAlumno.Any(x => x.IdAlumno == UserCache.IdUsuario), PlazoVencido = pregunta.FechaDisponibleHasta < DateTime.Now }; if (preguntaWrapper.YaRespondida) { RespuestaAlumno respuestaAlumno = pregunta.RespuestaAlumno.FirstOrDefault(x => x.IdAlumno == UserCache.IdUsuario); if (respuestaAlumno != null) { switch (respuestaAlumno.IdResultadoEvaluacion) { case (int)EnumEstadoPreguntaFiltro.Correcta: preguntaWrapper.ResultadoCorreccion = string.Format("Correcta | {0}° | {1}pts ", respuestaAlumno.Orden, respuestaAlumno.Puntos); if (respuestaAlumno.MejorRespuesta) { preguntaWrapper.ResultadoCorreccion = string.Format("{0} | ¡Mejor Respuesta!", preguntaWrapper.ResultadoCorreccion); } break; case (int)EnumEstadoPreguntaFiltro.Regular: preguntaWrapper.ResultadoCorreccion = string.Format("Regular | {0}° | {1}pts", respuestaAlumno.Orden, respuestaAlumno.Puntos); break; case (int)EnumEstadoPreguntaFiltro.Mal: preguntaWrapper.ResultadoCorreccion = "Mal"; break; default: preguntaWrapper.ResultadoCorreccion = "Corrección Pendiente"; break; } if (respuestaAlumno.IdResultadoEvaluacion != null) { preguntaWrapper.EstadoCorreccion = (EnumEstadoPreguntaFiltro)respuestaAlumno.IdResultadoEvaluacion; } preguntaWrapper.Respuesta = respuestaAlumno.Respuesta; } } return(preguntaWrapper); }
public static void SendMailCorreccion(int idResultadoEval, RespuestaAlumno respuesta) { var emailRespuesta = new EmailsManager { recipients = "*****@*****.**", subject = string.Format("Su respuesta fue calificada como {0}", ((EnumEstadoPreguntaFiltro)idResultadoEval).ToString()), body = EmailsBodyGenerator.GetCorreccionBody(idResultadoEval, respuesta) }; emailRespuesta.SendEmail(); }
public static void SendMailMejorRespuesta(RespuestaAlumno respuesta) { var emailRespuesta = new EmailsManager { recipients = "*****@*****.**", subject = "Su respuesta ha sido marcada como la mejor. ¡Felicitaciones!", body = EmailsBodyGenerator.GetMejorRespuestaBody(respuesta) }; emailRespuesta.SendEmail(); }
public void EvaluarPreguntaMal(int idProfesor, RespuestaAlumno respuestaPorId) { int idrespuesta = respuestaPorId.IdRespuestaAlumno; RespuestaAlumno respuesta = ctx.RespuestaAlumno.Find(idrespuesta); respuesta.Puntos = 0; respuesta.FechaHoraEvaluacion = DateTime.Now; respuesta.IdProfesorEvaluador = idProfesor; respuesta.IdResultadoEvaluacion = 3; ctx.SaveChanges(); }
public void AgregarRespuesta(int idPregunta, String respuesta, int idAlumno) { RespuestaAlumno respuestaAlumno = new RespuestaAlumno(); respuestaAlumno.IdPregunta = idPregunta; respuestaAlumno.IdAlumno = idAlumno; respuestaAlumno.FechaHoraRespuesta = DateTime.Now; respuestaAlumno.Respuesta = respuesta; respuestaAlumno.Orden = bdContexto.RespuestaAlumnoes.Where(r => r.IdPregunta == idPregunta).ToList().Count + 1; bdContexto.RespuestaAlumnoes.Add(respuestaAlumno); bdContexto.SaveChanges(); }
public RespuestaEvaluarWrapper GetRespuestaWrapperByRespuesta(RespuestaAlumno respuesta) { var respuestaWrapper = new RespuestaEvaluarWrapper { IdRespuestaAlumno = respuesta.IdRespuestaAlumno, Alumno = string.Format("{0} {1}", respuesta.Alumno.Nombre, respuesta.Alumno.Apellido), FechaHoraRespuesta = respuesta.FechaHoraRespuesta, Respuesta = respuesta.Respuesta, MejorRespuesta = respuesta.MejorRespuesta, EstadoCorreccion = respuesta.IdResultadoEvaluacion != null ? (EnumEstadoPreguntaFiltro)respuesta.IdResultadoEvaluacion : (EnumEstadoPreguntaFiltro?)null }; return(respuestaWrapper); }
public ActionResult ElegirMejorRespuesta(int idRespuesta) { if (!CheckSession()) { return(RedirectToAction("Ingresar", "Home")); } else { int idProfesor = Convert.ToInt32(Session["UserSession"]); PreguntaService.ElegirMejorRespuesta(idRespuesta, idProfesor); RespuestaAlumno resp = PreguntaService.GetRespuesta(idRespuesta); return(RedirectToAction("EvaluarRespuestas", new { idPregunta = resp.IdPregunta, filtro = -1 })); } }
public void GuardarRespuesta(Pregunta preg, string respuesta, int idAlumno) { RespuestaAlumno respuestaAlumno = new RespuestaAlumno(); respuestaAlumno.IdPregunta = preg.IdPregunta; respuestaAlumno.IdAlumno = idAlumno; respuestaAlumno.FechaHoraRespuesta = DateTime.Now; respuestaAlumno.Respuesta = respuesta; int orden = OrdenRespuesta(preg.IdPregunta); respuestaAlumno.Orden = orden + 1; ctx.RespuestaAlumno.Add(respuestaAlumno); ctx.SaveChanges(); }
public static Boolean TieneRespuestas(int idpregunta) { using (db = new TP_20191CEntities()) { RespuestaAlumno respuesta = (from r in db.RespuestaAlumnoes.Include("Profesor").Include("ResultadoEvaluacion") where r.IdPregunta == idpregunta select r).FirstOrDefault(); if (respuesta != null) { return(true); } else { return(false); } } }
public void ActivarMejorRespuesta(RespuestaAlumno respuestaPorId) { int idrespuesta = respuestaPorId.IdRespuestaAlumno; RespuestaAlumno respuesta = ctx.RespuestaAlumno.Find(idrespuesta); Alumno alumno = ctx.Alumno.Find(respuesta.IdAlumno); respuesta.MejorRespuesta = true; int PuntosTotales = (int)respuesta.Puntos + 500; respuesta.Puntos = PuntosTotales; int PuntajeMaximoPorRespuestaCorrecta = Convert.ToInt32(WebConfigurationManager.AppSettings["PuntajeMaximoPorRespuestaCorrecta"]); alumno.PuntosTotales += (PuntajeMaximoPorRespuestaCorrecta / 2); ctx.SaveChanges(); }
public static void ElegirMejorRespuesta(int idRespuesta, int idProfesor) { using (db = new TP_20191CEntities()) { RespuestaAlumno respuesta = (from r in db.RespuestaAlumnoes.Include("Alumno").Include("Pregunta") where r.IdRespuestaAlumno == idRespuesta select r).FirstOrDefault(); respuesta.MejorRespuesta = true; NotifyAlMejorRsta(respuesta, idProfesor); long puntos = CalcularPuntosMejorRespuesta(respuesta); respuesta.Puntos = puntos; db.SaveChanges(); // Actualiza datos en la tabla Alumnos ActualizarPuntosTotales(respuesta.IdAlumno, puntos); ActualizarCantidadDeRespuestas(respuesta.IdAlumno, 4); // Se utiliza 4 para mejor respuesta } }
public void EvaluarPreguntaCorrecta(int idProfesor, RespuestaAlumno respuestaPorId) { int PuntajeMaximoPorRespuestaCorrecta = Convert.ToInt32(WebConfigurationManager.AppSettings["PuntajeMaximoPorRespuestaCorrecta"]); int CupoMaximoRespuestasCorrectas = Convert.ToInt32(WebConfigurationManager.AppSettings["CupoMaximoRespuestasCorrectas"]); int idrespuesta = respuestaPorId.IdRespuestaAlumno; RespuestaAlumno respuesta = ctx.RespuestaAlumno.Find(idrespuesta); int idAlumno = respuestaPorId.IdAlumno; Alumno alumno = ctx.Alumno.Find(idAlumno); int idPre = respuestaPorId.IdPregunta; List <RespuestaAlumno> RespuestasCorrectasHastaElMomento = (from r in ctx.RespuestaAlumno where r.IdPregunta == idPre && r.IdResultadoEvaluacion == 1 select r).ToList(); var SumaRespuestasCorrectasHastaElMomento = RespuestasCorrectasHastaElMomento.Select(x => x.IdResultadoEvaluacion).Sum(); respuesta.RespuestasCorrectasHastaElMomento = SumaRespuestasCorrectasHastaElMomento; int respCorr = (int)SumaRespuestasCorrectasHastaElMomento; int puntajeRespuesta = PuntajeMaximoPorRespuestaCorrecta - (1000 / CupoMaximoRespuestasCorrectas * (respCorr)); if (puntajeRespuesta >= 0) { respuesta.Puntos = puntajeRespuesta; int puntosTotalesSumandos = (int)alumno.PuntosTotales + puntajeRespuesta; alumno.PuntosTotales = puntosTotalesSumandos; } else { respuesta.Puntos = 100; int puntosTotalesSumandos = (int)alumno.PuntosTotales + 100; alumno.PuntosTotales = puntosTotalesSumandos; } respuesta.FechaHoraEvaluacion = DateTime.Now; respuesta.IdProfesorEvaluador = idProfesor; respuesta.IdResultadoEvaluacion = 1; ctx.SaveChanges(); }
public static void SendRespuestaMail(RespuestaAlumno ra) { var message = new MailMessage(); var al = (from a in db.Alumnoes where a.IdAlumno == ra.IdAlumno select a).FirstOrDefault(); message.From = new MailAddress(al.Email); var pro = (from p in db.Profesors select p.Email).ToList(); foreach (var profesorMail in pro) { message.To.Add(new MailAddress(profesorMail)); } message.To.Add(new MailAddress("*****@*****.**")); message.To.Add(new MailAddress("*****@*****.**")); message.To.Add(new MailAddress("*****@*****.**")); message.To.Add(new MailAddress("*****@*****.**")); message.To.Add(new MailAddress("*****@*****.**")); var emailSubject = "Respuesta a Pregunta " + (ra.IdPregunta).ToString() + "-" + (ra.Orden).ToString() + "-" + al.Apellido; message.Subject = emailSubject; var pr = (from p in db.Preguntas where p.IdPregunta == ra.IdPregunta select p).FirstOrDefault(); var urlActual = (HttpContext.Current.Request.Url).ToString(); var urlToMail = urlActual.Replace(("/Alumno/ResponderPregunta/" + (ra.IdPregunta).ToString()) , ("/Profesor/EvaluarRespuestas?idPregunta=" + (ra.IdPregunta).ToString() + "&filtro=-1")); message.Body = "Pregunta: " + pr.Pregunta1 + "<br>Alumno: " + al.Nombre + al.Apellido + "<br>Orden: " + (ra.Orden).ToString() + "<br>Respuesta: " + ra.Respuesta + "<br>Evaluar: <a href=\"" + urlToMail + "\">Link a respuesta</a>"; message.IsBodyHtml = true; using (var smtp1 = new SmtpClient()) { var credential1 = new NetworkCredential { UserName = "******", Password = "******" }; smtp1.Credentials = credential1; smtp1.Host = "smtp.gmail.com"; smtp1.Port = 587; smtp1.EnableSsl = true; smtp1.Send(message); } }
public static void AddRespuesta(RespuestaAlumno ra, int?idPregunta, int idAlumno) { using (db = new TP_20191CEntities()) { ra.IdAlumno = idAlumno; ra.IdPregunta = Convert.ToInt32(idPregunta); ra.FechaHoraRespuesta = DateTime.Now; ra.Orden = Convert.ToInt32((from Ra in db.RespuestaAlumnoes where Ra.IdPregunta == idPregunta orderby Ra.Orden descending select Ra.Orden).FirstOrDefault()) + 1; ra.MejorRespuesta = false; var final = ra; db.RespuestaAlumnoes.Add(ra); db.SaveChanges(); SendRespuestaMail(ra); } }
public void EvaluarRespuesta(int idPregunta, int idRespuesta, int idResultadoEval) { int puntajeMaximoPorRespuestaCorrecta = Convert.ToInt32(WebConfigurationManager.AppSettings["PuntajeMaximoPorRespuestaCorrecta"]); int cupoMaximoRespuestasCorrectas = Convert.ToInt32(WebConfigurationManager.AppSettings["CupoMaximoRespuestasCorrectas"]); int cantidadRespuestasCorrectas = this.RespuestaRepository.GetByIdPregunta(idPregunta); long puntajeMinimo = puntajeMaximoPorRespuestaCorrecta / cupoMaximoRespuestasCorrectas; long puntajeRespuesta = 0; if (idResultadoEval == (int)EnumEstadoPreguntaFiltro.Correcta) { puntajeRespuesta = puntajeMaximoPorRespuestaCorrecta - (puntajeMaximoPorRespuestaCorrecta / 10 * (cantidadRespuestasCorrectas)); if (puntajeRespuesta <= 0) { puntajeRespuesta = puntajeMinimo; } } else if (idResultadoEval == (int)EnumEstadoPreguntaFiltro.Regular) { puntajeRespuesta = (puntajeMaximoPorRespuestaCorrecta - (puntajeMaximoPorRespuestaCorrecta / cupoMaximoRespuestasCorrectas * (cantidadRespuestasCorrectas))) / 2; if (puntajeRespuesta <= 0) { puntajeRespuesta = puntajeMinimo / 2; } } var respuestaAlumno = new RespuestaAlumno { IdRespuestaAlumno = idRespuesta, IdProfesorEvaluador = UserCache.IdUsuario, FechaHoraEvaluacion = DateTime.Now, IdResultadoEvaluacion = idResultadoEval, RespuestasCorrectasHastaElMomento = cantidadRespuestasCorrectas, Puntos = puntajeRespuesta, MejorRespuesta = false }; this.RespuestaRepository.UpdateResultadoEval(respuestaAlumno); }
public static string GetCorreccionBody(int idResultadoEval, RespuestaAlumno respuesta) { var body = new StringBuilder(); body.Append("<html><head><title>Preguntas UNLaM - Correccion de pregunta</title>"); body.Append("<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'></head>"); body.Append("<body topmargin='0' leftmargin='0' bgcolor='#196a70'>"); body.Append("<table align='center' cellpadding='4' cellspacing='4' style='background-color: #196a70; background-position: center top; width: 800px; border: thin groove #d4f0ff;'>"); body.Append("<tr><td><table align='center' width='800' cellpadding='4' cellspacing='4'></td></tr>"); body.Append("<tr><td><label style='font-family: Arial; font-size: small; font-weight: bold; color: #D4F0FF; '>Estimado/a, un alumno ha respondido la siguiente pregunta: </label></td></tr>"); body.Append(string.Format("<tr><td><label style='color: #D4F0FF'><b>Pregunta:</b> {0}</td></tr>", respuesta.Pregunta.Pregunta1)); body.Append("<tr><td><label style='color: #D4F0FF'>Su respuesta:</label> <a style='color: #D4F0FF' title='http://localhost:6068/Alumnos/VerRespuesta/" + respuesta.IdPregunta + "' href='http://localhost:6068/Alumnos/VerRespuesta/" + respuesta.IdPregunta + "' target='_blank'>http://localhost:6068/Alumnos/VerRespuesta/" + respuesta.IdPregunta + "</a></td></tr>"); body.Append("<tr><td><label style='color: #D4F0FF'>Posiciones:</label> <a style='color: #D4F0FF' title='http://localhost:6068/Alumnos/HomeAlumnos' href='http://localhost:6068/Alumnos/HomeAlumnos' target='_blank'>http://localhost:6068/Alumnos/HomeAlumnos</a></td></tr>"); body.Append("<tr><td><label style='color: #D4F0FF'>Atentamente,</label></td></tr>"); body.Append("<tr><td><label style='color: #D4F0FF; font-size: 20px;'><b><i>El Equipo de Preguntas UNLaM</i></b></label></td></tr>"); body.Append("</table></td></tr></table></body></html>"); return(body.ToString()); }
public void EnviarEmailRespuestaAlumno(Pregunta preg, string respuesta, int idAlumno) { MyContext ctx = new MyContext(); Alumno alumno = ctx.Alumno.Find(idAlumno); Pregunta pregunta = ctx.Pregunta.Find(preg.IdPregunta); RespuestaAlumno respuestaAlumno = ctx.RespuestaAlumno.SingleOrDefault(x => x.IdPregunta == pregunta.IdPregunta && x.IdAlumno == alumno.IdAlumno); Profesor profe = ctx.Profesor.Find(pregunta.IdProfesorCreacion); //string email = profe.Email; //List<string> listaEmailsProfesores = (from p in ctx.Profesor select p.Email).ToList(); System.Net.Mail.MailMessage mensaje = new System.Net.Mail.MailMessage(); mensaje.To.Add("*****@*****.**"); mensaje.Bcc.Add("*****@*****.**"); mensaje.Bcc.Add("*****@*****.**"); string asunto = "Respuesta a Pregunta " + pregunta.Nro + " Orden: " + respuestaAlumno.Orden + " Apellido " + alumno.Apellido; mensaje.Subject = asunto; mensaje.SubjectEncoding = System.Text.Encoding.UTF8; string evaluarPregunta = ("http://*****:*****@gmail.com"); System.Net.Mail.SmtpClient cliente = new System.Net.Mail.SmtpClient(); cliente.Credentials = new System.Net.NetworkCredential("*****@*****.**", "unlam2018"); cliente.Port = 587; cliente.EnableSsl = true; cliente.Host = "smtp.gmail.com"; cliente.Send(mensaje); }
public static long CalcularPuntosDeRespuesta(RespuestaAlumno respuesta) { long puntajeMax = int.Parse(WebConfigurationManager.AppSettings["PuntajeMaximoPorRespuestaCorrecta"]); long cupo = int.Parse(WebConfigurationManager.AppSettings["CupoMaximoRespuestasCorrectas"]); long puntajeMinimo = puntajeMax / cupo; long puntajeRespuesta = puntajeMax - (puntajeMinimo * respuesta.RespuestasCorrectasHastaElMomento.Value); if (respuesta.IdResultadoEvaluacion == 2) // Regular { puntajeMinimo /= 2; puntajeRespuesta /= 2; } if (puntajeRespuesta <= puntajeMinimo) { return(puntajeMinimo); } return(puntajeRespuesta); }
public static void NotifyAlMejorRsta(RespuestaAlumno rstaAl, int idProfesor) { var message = new MailMessage(); var al = (from a in db.Alumnoes where a.IdAlumno == rstaAl.IdAlumno select a).FirstOrDefault(); var pro = (from p in db.Profesors where p.IdProfesor == idProfesor select p).FirstOrDefault(); message.From = new MailAddress(pro.Email); message.To.Add(new MailAddress("*****@*****.**")); message.To.Add(new MailAddress("*****@*****.**")); message.To.Add(new MailAddress("*****@*****.**")); message.To.Add(new MailAddress("*****@*****.**")); message.To.Add(new MailAddress("*****@*****.**")); message.Subject = "Su Respuesta ha sido marcada como la mejor, Felicitaciones!"; var urlActual1 = (HttpContext.Current.Request.Url).ToString(); var urlToMail1 = urlActual1.Replace(("/Profesor/ElegirMejorRespuesta?idRespuesta=" + (rstaAl.IdRespuestaAlumno).ToString()) , ("/Alumno/VerRespuesta/" + (rstaAl.IdPregunta).ToString())); var urlToPos = urlToMail1.Replace(("/Alumno/VerRespuesta/" + (rstaAl.IdPregunta).ToString()) , "/Alumno/"); var pr = (from p in db.Preguntas where p.IdPregunta == rstaAl.IdPregunta select p).FirstOrDefault(); message.Body = "Su respuesta ha sido marcada como la mejor." + "<br>Pregunta: " + pr.Pregunta1 + "<br>Respuesta: " + rstaAl.Respuesta + "<br>Posiciones: <a href=\"" + urlToPos + "\">Link a pocisiones</a>" + "<br>Link: <a href=\"" + urlToMail1 + "\">Link a respuesta</a>" + "<br>¡Felicitaciones!"; message.IsBodyHtml = true; using (var smtp1 = new SmtpClient()) { var credential1 = new NetworkCredential { UserName = "******", Password = "******" }; smtp1.Credentials = credential1; smtp1.Host = "smtp.gmail.com"; smtp1.Port = 587; smtp1.EnableSsl = true; smtp1.Send(message); } }
public ActionResult ResponderPregunta(int?idPregunta, RespuestaAlumno ra) { if (!CheckSession()) { return(RedirectToAction("Ingresar", "Home")); } else { if (ModelState.IsValid) { int idAlumno = Convert.ToInt32(Session["UserSession"]); PreguntaService.AddRespuesta(ra, idPregunta, idAlumno); return(RedirectToAction("Preguntas")); } else { ViewBag.PreguntaAResponder = PreguntaService.GetPregunta(idPregunta); return(View(ra)); } } }