public void enviarMensajeATenicos(Averia averia, string emailTecnico) { //Este metodo gestiona el content del mensaje de las averias registradas var equipoReportado = (from equipo in db.Equipos where equipo.IdEquipo == averia.IdEquipo select equipo).FirstOrDefault(); string use = "*****@*****.**"; //Aqui va el usuario logeado, solo que el correo debe existir para que se pueda enviar el msj string pass = "******"; //El pass no deberia estar escrito aqui, luego implementamos cuestiones de seguridad string host = "smtp.gmail.com"; int port = 25; string nombreEncargadoEquipo = equipoReportado.Usuario.Name + equipoReportado.Usuario.LastName; //Cuando se logre saber los tecnicos de una empresa el mismo correo se enviara a cu de ellos string subject = "KarePro, Reporte de averias"; string body = string.Format("Reporte de averias, KarePro. <br>Distinguido Tecnico, lamentamos decirle " + "el equipo {0} del Usuario {1} ha sido reportado con una averia asi que le pedimos resolver esta averia" + " a un técnico lo mas rapido posible. <br><strong>Descripcion problema: </strong><br>{2}", equipoReportado.Nombre, nombreEncargadoEquipo, averia.Descripcion); SendMailController email = new SendMailController(); //Esta clase gestiona la config necesaria para enviar msj email.send(use, pass, host, port, emailTecnico, subject, body); }
public void enviarMensaje(Averia averia) { //Este metodo gestiona el content del mensaje de las averias registradas var equipoReportado = (from equipo in db.Equipos where equipo.IdEquipo == averia.IdEquipo select equipo).FirstOrDefault(); string use = "*****@*****.**"; //Aqui va el usuario logeado, solo que el correo debe existir para que se pueda enviar el msj string pass = "******"; //El pass no deberia estar escrito aqui, luego implementamos cuestiones de seguridad string host = "smtp.gmail.com"; int port = 25; string nombreEncargadoEquipo = equipoReportado.Usuario.Name + equipoReportado.Usuario.LastName; //Cuando se logre saber los tecnicos de una empresa el mismo correo se enviara a cu de ellos string subject = "KarePro, Reporte de averias"; string body = string.Format("Reporte de averias, KarePro. <br>Distinguido administrador, lamentamos decirle " + "el equipo {0} del Usuario {1} ha sido reportado con una averia asi que le pedimos asignar esta averia" + " a un técnico lo mas rapido posible. <br><strong>Descripcion problema: </strong><br>{2}", equipoReportado.Nombre, nombreEncargadoEquipo, averia.Descripcion); SendMailController email = new SendMailController(); //Esta clase gestiona la config necesaria para enviar msj var roleManager = new RoleManager <IdentityRole>(new RoleStore <IdentityRole>(db)); var tenicos = roleManager.FindByName("Administrador").Users; //Devuelve todos los usuarios con el rol tecnico //Enviar el correo a todos los tecnicos tenicos.ToList().ForEach(t => email.send(use, pass, host, port, db.Users.Find(t.UserId).Email, subject, body) ); }
public async Task <IActionResult> PutAveria([FromRoute] int id, [FromBody] Averia averia) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != averia.Id) { return(BadRequest()); } _context.Entry(averia).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!AveriaExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public ActionResult DeleteConfirmed(int id) { Averia averia = db.Averias.Find(id); db.Averias.Remove(averia); db.SaveChanges(); return(RedirectToAction("Index")); }
public async Task <IActionResult> PostAveria([FromBody] Averia averia) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.Averia.Add(averia); await _context.SaveChangesAsync(); return(CreatedAtAction("GetAveria", new { id = averia.Id }, averia)); }
public ActionResult Edit([Bind(Include = "IdAveria,IdEquipo,Tipo_averia,IdUrgencia,Nivel_urgencia,Descripcion,IdInstitucion")] Averia averia) { if (ModelState.IsValid) { db.Entry(averia).State = EntityState.Modified; db.SaveChanges(); return(RedirectToAction("Index")); } ViewBag.IdEquipo = new SelectList(db.Equipos, "IdEquipo", "Nombre", averia.IdEquipo); ViewBag.IdInstitucion = new SelectList(db.Instituciones, "IdInstitucion", "Nombre", averia.IdInstitucion); ViewBag.IdUrgencia = new SelectList(db.NivelUrgencia, "IdUrgencia", "Nivel", averia.IdUrgencia); return(View(averia)); }
public ActionResult Delete(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Averia averia = db.Averias.Find(id); if (averia == null) { return(HttpNotFound()); } return(View(averia)); }
// GET: Averias/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Averia averia = db.Averias.Find(id); if (averia == null) { return(HttpNotFound()); } ViewBag.IdEquipo = new SelectList(db.Equipos, "IdEquipo", "Nombre", averia.IdEquipo); ViewBag.IdInstitucion = new SelectList(db.Instituciones, "IdInstitucion", "Nombre", averia.IdInstitucion); ViewBag.IdUrgencia = new SelectList(db.NivelUrgencia, "IdUrgencia", "Nivel", averia.IdUrgencia); return(View(averia)); }
public ActionResult Create([Bind(Include = "IdAveria,IdEquipo,Tipo_averia,IdUrgencia,Nivel_urgencia,Descripcion,IdInstitucion")] Averia averia) { if (ModelState.IsValid) { enviarMensaje(averia); //Cuando se reporta la averia ese reporte se envia por msj a los tecnicos a traves de este metodo var estado = db.EstadoAveria.Where(e => e.Estado == "No Resuelta").FirstOrDefault(); averia.EstadoAveria = "No Resuelta"; db.Averias.Add(averia); db.SaveChanges(); return(RedirectToAction("Index")); } var userId = User.Identity.GetUserId(); var misEquipos = from equipo in db.Equipos where equipo.IdUsuario == userId select equipo; ViewBag.IdEquipo = new SelectList(misEquipos, "IdEquipo", "Nombre"); ViewBag.IdInstitucion = new SelectList(db.Instituciones, "IdInstitucion", "Nombre", averia.IdInstitucion); ViewBag.IdUrgencia = new SelectList(db.NivelUrgencia, "IdUrgencia", "Nivel", averia.IdUrgencia); return(View(averia)); }