Beispiel #1
0
        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);
        }
Beispiel #2
0
        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)
                                     );
        }
Beispiel #3
0
        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());
        }
Beispiel #4
0
        public ActionResult DeleteConfirmed(int id)
        {
            Averia averia = db.Averias.Find(id);

            db.Averias.Remove(averia);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Beispiel #5
0
        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));
        }
Beispiel #6
0
 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));
 }
Beispiel #7
0
        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));
        }
Beispiel #8
0
        // 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));
        }
Beispiel #9
0
        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));
        }