public ActionResult Asignadas()
 {
     if (Session["nombreusuario"] != null)
     {
         List<Solicitudes> solicitudes = new Solicitudes().GetSolicitudesByAsignado(Session["nombreusuario"].ToString());
         ViewData["solicitudes"] = solicitudes;
         return View();
     }
     else
     {
         return RedirectToAction("Index", "Home");
     }
 }
        public ActionResult Asignado()
        {
            if (Session["nombreusuario"] != null)
            {
                if (Session["rol"].ToString() == "Supervisor")
                {

                    int tecnicoid = Convert.ToInt32(Request["tecnico"]);
                    string solicitudid = Request["solicitudid"];
                    Solicitudes solicitud = new Solicitudes();
                    solicitud.ID = Convert.ToInt32(solicitudid);
                    solicitud.UsuarioTecnico = new Usuarios();
                    solicitud.UsuarioTecnico.ID = Convert.ToInt32(solicitudid);
                    solicitud.Asignar(Session["nombreusuario"].ToString(), tecnicoid);
                }
                else
                {
                    return RedirectToAction("Index", "Home");
                }
            }
            else {
                return RedirectToAction("Index", "Home");
            }
            return View();
        }
 public ActionResult Ver()
 {
     if (Session["nombreusuario"] != null)
     {
         Solicitudes solicitud = new Solicitudes();
         solicitud.ID = Convert.ToInt32(Request["solicitudid"]);
         solicitud.CargarSolicitud();
         string PrioridadFinal = null, DescripcionFinal = null, SolucionFinal = null, EstadoFinal = null, usuarioTecnico = null, categoria = null, subcategoria = null;
         bool estadocambiado = false;
         if (solicitud.Prioridad != Request["Prioridad"])
         {
             PrioridadFinal = Request["Prioridad"].ToString();
         }
         if (solicitud.estado.ID.ToString() != Request["Estado"])
         {
             EstadoFinal = Request["Estado"].ToString();
             estadocambiado = true;
         }
         if (solicitud.Descripcion != Request["Descripcion"] && Request["Descripcion"] != "")
         {
             DescripcionFinal = Request["Descripcion"].ToString();
         }
         if (solicitud.Solucion != Request["Solucion"] && Request["Solucion"] != "")
         {
             SolucionFinal = Request["Solucion"].ToString();
         }
         if (solicitud.UsuarioTecnico.ID.ToString() != Request["usuarioTecnico"] && Request["usuarioTecnico"] != "")
         {
             usuarioTecnico = Request["usuarioTecnico"];
         }
         if (solicitud.categoria.ID.ToString() != Request["categoria"] && Request["categoria"] != null)
         {
             categoria = Request["categoria"];
         }
         if (solicitud.subcategoria.ID.ToString() != Request["subcategoria"] && Request["subcategoria"] != null)
         {
             subcategoria = Request["subcategoria"];
         }
         Conexion con = new Conexion();
         con.ModificarSolicitud(solicitud.ID, PrioridadFinal, EstadoFinal, DescripcionFinal, SolucionFinal, Session["nombreusuario"].ToString(), usuarioTecnico, Request["satisfaccion"], categoria, subcategoria);
         con.Close();
         if (estadocambiado)
         {
             if (Request["Estado"] == "4")
             {
                 //Enviar mensaje a usuario solicitante
                 string mensaje = String.Format("Se ha registrado su solicitud <b>{0}</b> como <b>resuelta</b> con el asunto de {1}. En caso de que su solicitud haya sido resuelta favor especificar su nivel de satisfaccion haciendo click:<br/><a href='http://dtic017/MesaDeAyuda/Solicitud/Validado/{0}/5'>Muy satisfecho</a>, <a href='http://dtic017/MesaDeAyuda/Solicitud/Validado/{0}/4'> Satisfecho</a>, <a href='http://dtic017/MesaDeAyuda/Solicitud/Validado/{0}/3'> Indiferente</a>, <a href='http://dtic017/MesaDeAyuda/Solicitud/Validado/{0}/2'> Insatisfecho</a>, <a href='http://dtic017/MesaDeAyuda/Solicitud/Validado/{0}/1'> Muy Insatisfecho</a><br />En caso de que su solicitud no se haya resuelto <a href='http://dtic017/MesaDeAyuda/Solicitud/NoValido/{0}'>click aqui</a><br />Nota: Para ingresar al sistema debe de estar dentro de la red alambrica de MEPYD. No podrá ingresar a traves de Wi-Fi", solicitud.ID, solicitud.Descripcion);
                 new Mensajes().EnviarMensaje(solicitud.UsuarioCreador.CorreoElectronico, "Solicitud marcada como resuelta", mensaje);
             }
             else if (Request["Estado"] == "8")
             {
                 //Enviar mensaje a usuarios supervisores
                 Conexion con2 = new Conexion();
                 SqlDataReader super = con2.GetAllUsuariosSupervisores();
                 List<String> supervisores = new List<string>();
                 while (super.Read())
                 {
                     supervisores.Add(super["CorreoElectronico"].ToString());
                 }
                 con2.Close();
                 string mensaje = String.Format("Se ha registrado la solicitud {0} como No Valida por el usuario solicitante. Favor de resolver situación.", solicitud.ID);
                 foreach (string sup in supervisores)
                 {
                     new Mensajes().EnviarMensaje(sup.ToString(), "Solicitud marcada como No Valida", mensaje);
                 }
             }
         }
         return RedirectToAction("Ver", "Solicitud", solicitud.ID.ToString());
     }
     else
     {
         return RedirectToAction("Index", "Home");
     }
 }
 public ActionResult Validado(string id, string id2)
 {
     string nombreusuario = User.Identity.Name.Split('\\')[1].ToString();
     Usuarios usuario = new Usuarios();
     usuario.InicioSesion(nombreusuario);
     Session["nombre"] = usuario.Nombre;
     Session["nombreusuario"] = usuario.NombreUsuario;
     Session["correousuario"] = usuario.CorreoElectronico;
     Session["rol"] = usuario.rol.Nombre;
     Solicitudes s = new Solicitudes();
     s.ID = int.Parse(id);
     s.CargarSolicitud();
     if (s.estado.ID == 4)
     {
         Conexion con = new Conexion();
         con.ModificarSolicitud(s.ID, null, "5", null, null, s.UsuarioCreador.NombreUsuario, null, id2, null, null);
         con.Close();
         return View();
     }
     else
     {
         return RedirectToAction("Index", "Home");
     }
 }
 public ActionResult Ver(string id)
 {
     if (Session["nombreusuario"] != null)
     {
         Solicitudes solicitud = new Solicitudes();
         solicitud.ID = Convert.ToInt32(id);
         solicitud.CargarSolicitud();
         ViewBag.Solicitud = solicitud;
         //Usuarios tecnicos
         //ViewBag.Tecnicos = new Conexion().GetAllTecnicos();
         //Estados dependientes de estado actual
         ViewBag.estados = new Conexion().GetEstadosByOrigen(solicitud.estado.ID, Session["nombreusuario"].ToString());
         List<Comentarios> comentarios = new Comentarios().GetComentariosBySolicitudId(Convert.ToInt32(id));
         ViewData["comentarios"] = comentarios;
         List<Categorias> cat = new Categorias().GetAllCategorias();
         ViewData["categorias"] = cat;
         List<SubCategorias> subc = new SubCategorias().GetSubCategoriasByCategoriaId(solicitud.categoria.ID);
         ViewData["subcategorias"] = subc;
         if (Session["rol"].ToString() == "Supervisor")
         {
             ViewData["tecnicos"] = new Usuarios().GetAllTecnicos();
         }
     }
     else {
         return RedirectToAction("Index", "Home");
     }
     return View();
 }
        public ActionResult ListaAsignar()
        {
            if (Session["nombreusuario"] != null)
            {
                if (Session["rol"].ToString() == "Supervisor")
                {

                    List<Solicitudes> solicitudes = new Solicitudes().GetSolicitudesNoAsignadas();
                    ViewData["solicitudes"] = solicitudes;

                }
                else
                {
                    return RedirectToAction("Index", "Home");
                }
            }
            else
            {
                return RedirectToAction("Index", "Home");
            }
            return View("AAsignar");
        }
 public ActionResult NoValidado(string id)
 {
     string nombreusuario = User.Identity.Name.Split('\\')[1].ToString();
     Usuarios usuario = new Usuarios();
     usuario.InicioSesion(nombreusuario);
     Session["nombre"] = usuario.Nombre;
     Session["nombreusuario"] = usuario.NombreUsuario;
     Session["correousuario"] = usuario.CorreoElectronico;
     Session["rol"] = usuario.rol.Nombre;
     Solicitudes s = new Solicitudes();
     s.ID = int.Parse(id);
     s.CargarSolicitud();
     if (s.estado.ID == 4)
     {
         Conexion con = new Conexion();
         con.ModificarSolicitud(s.ID, null, "8", null, null, s.UsuarioCreador.NombreUsuario, null, "5", null, null);
         con.Close();
         //Enviar mensaje a usuarios supervisores
         Conexion con2 = new Conexion();
         SqlDataReader super = con2.GetAllUsuariosSupervisores();
         List<String> supervisores = new List<string>();
         while (super.Read())
         {
             supervisores.Add(super["CorreoElectronico"].ToString());
         }
         con2.Close();
         string mensaje = String.Format("Se ha registrado la solicitud {0} como No Valida por el usuario solicitante. Favor de resolver situación.", s.ID);
         foreach (string sup in supervisores)
         {
             new Mensajes().EnviarMensaje(sup.ToString(), "Solicitud marcada como No Valida", mensaje);
         }
         return View();
     }
     else
     {
         return RedirectToAction("Index", "Home");
     }
 }
 public ActionResult HistorialSolicitud(string id)
 {
     if (Session["nombreusuario"] != null)
     {
         List<Solicitudes> historiaSolicitud = new Solicitudes().GetHistorialSolicitudes(Convert.ToInt32(id));
         ViewData["historia"] = historiaSolicitud;
     }
     else {
         return RedirectToAction("Index", "Home");
     }
     return View();
 }
        public ActionResult Index(Solicitudes model)
        {
            if (Session["nombreusuario"] != null)
            {
                model.categoria = new Categorias();
                model.subcategoria = new SubCategorias();
                model.estado = new Estados();
                model.categoria.ID = Convert.ToInt32(Request["Categoria"].ToString());
                model.Prioridad = Request["Prioridad"].ToString();
                model.subcategoria.ID = Convert.ToInt32(Request["SubCategoria"].ToString());
                model.UsuarioCreador = new Usuarios();

                if (Session["rol"].ToString() == "Supervisor" && Request["solicitante"] != "")
                {
                    Usuarios usuario = new Usuarios();
                    if (!usuario.InicioSesion(Request["solicitante"]))
                    {
                        string correoinstitucional = System.Configuration.ConfigurationManager.AppSettings["CorreoInstitucional"];
                        DirectoryEntry deRoot = new DirectoryEntry(System.Configuration.ConfigurationManager.AppSettings["ActiveDirectoryURL"], System.Configuration.ConfigurationManager.AppSettings["ActiveDirectoryUser"], System.Configuration.ConfigurationManager.AppSettings["ActiveDirectoryPassword"]);
                        DirectorySearcher dsFindUser = new DirectorySearcher(deRoot);
                        dsFindUser.SearchScope = SearchScope.Subtree;
                        dsFindUser.PropertiesToLoad.Add("cn"); // nombre completo
                        //dsFindUser.PropertiesToLoad.Add("givenName"); // first name
                        dsFindUser.PropertiesToLoad.Add("mail"); // correo
                        dsFindUser.PropertiesToLoad.Add("sAMAccountName"); // nombre de usuario
                        dsFindUser.Filter = string.Format("(&(objectCategory=Person)(anr={0}))", Request["solicitante"]);
                        SearchResult result = dsFindUser.FindOne();
                        if (result != null)
                        {
                            string nombre = result.Properties["cn"][0].ToString();
                            string departamento = result.Path.Split(',')[1].Remove(0, 3);
                            string correo = "";
                            if (result.Properties["mail"].Count != 0)
                            {
                                correo = result.Properties["mail"][0].ToString();
                            }
                            else
                            {
                                correo = result.Properties["sAMAccountName"][0].ToString() + correoinstitucional;
                            }
                            usuario.NuevoUsuario(result.Properties["sAMAccountName"][0].ToString(), nombre, departamento, correo);
                            model.UsuarioCreador = usuario;
                        }
                        else
                        {
                            List<Categorias> cat = new Categorias().GetAllCategorias();
                            ViewData["categorias"] = cat;
                            ViewBag.Message = "Creando solicitud - Nombre de usuario no encontrado";
                            return View();
                        }
                    }
                    else
                    {
                        model.UsuarioCreador = usuario;
                    }
                }
                else
                {
                    model.UsuarioCreador.InicioSesion(Session["nombreusuario"].ToString());
                }
                if (model.NuevaSolicitud())
                {
                    if (Request["tecnico"] != "")
                    {
                        Usuarios tecnico = new Usuarios();
                        tecnico.InicioSesion(Request["tecnico"]);
                        model.Asignar(Session["nombreusuario"].ToString(), tecnico.ID);
                    }
                    ViewBag.SolicitudID = model.ID;
                    //Enviar mensaje a usuario solicitante
                    string mensaje = String.Format("Se ha registrado la creación de su solicitud {0}. En lo mas adelante se le estará asistiendo.", model.ID);
                    new Mensajes().EnviarMensaje(model.UsuarioCreador.CorreoElectronico, "Solicitud registrada", mensaje);
                    //Enviar mensaje a usuarios supervisores
                    List<Usuarios> supervisores = new Usuarios().GetAllUsuariosSupervisores();
                    foreach (Usuarios supervisor in supervisores)
                    {
                        mensaje = String.Format("Se ha registrado la nueva solicitud {0}. Favor asignarlo a un usuario tecnico", model.ID);
                        new Mensajes().EnviarMensaje(supervisor.CorreoElectronico, "Solicitud creada", mensaje);
                    }
                    return View("Creado");
                }
                List<Categorias> cata = new Categorias().GetAllCategorias();
                ViewData["categorias"] = cata;
                return View();
            }
            else
            {
                return RedirectToAction("Index", "Home");
            }
        }
 public ActionResult CreadasPorMi()
 {
     if (Session["nombreusuario"] != null)
     {
         List<Solicitudes> solicitudesFiltradas = new Solicitudes().GetSolicitudesByCreador(Session["nombreusuario"].ToString());
         ViewData["solicitudesFiltradas"] = solicitudesFiltradas;
     }
     else
     {
         return RedirectToAction("Index", "Home");
     }
     return View();
 }
 public ActionResult Consultado()
 {
     if (Session["nombreusuario"] != null)
     {
         string categoria = null, prioridad = null, estado = null, departamento = null, creador = null, tecnico = null, fechaDesde = null, fechaHasta = null, fechaModificacionDesde = null, fechaModificacionHasta = null, pagina = null;
         if (Request["Categoria"] != "")
         {
             categoria = Request["Categoria"];
         }
         if (Request["Prioridad"] != "")
         {
             prioridad = Request["Prioridad"];
         }
         if (Request["Estado"] != "")
         {
             estado = Request["Estado"];
         }
         if (Request["Departamento"] != "")
         {
             departamento = Request["Departamento"];
         }
         if (Request["UsuarioCreador"] != "")
         {
             creador = Request["UsuarioCreador"];
         }
         if (Request["UsuarioTecnico"] != "")
         {
             tecnico = Request["UsuarioTecnico"];
         }
         if (Request["FechaDesde"] != "")
         {
             fechaDesde = Request["FechaDesde"];
         }
         if (Request["FechaHasta"] != "")
         {
             fechaHasta = Request["FechaHasta"];
         }
         if (Request["FechaModificacionDesde"] != "")
         {
             fechaModificacionDesde = Request["FechaModificacionDesde"];
         }
         if (Request["FechaModificacionHasta"] != "")
         {
             fechaModificacionHasta = Request["FechaModificacionHasta"];
         }
         if (Request["pagina"] != "" && Request["pagina"] != null)
         {
             pagina = Request["pagina"];
         }
         else
         {
             pagina = "1";
         }
         Conexion con = new Conexion();
         DataSet ds = con.Consulta(categoria, prioridad, estado, departamento, creador, tecnico, fechaDesde, fechaHasta, fechaModificacionDesde, fechaModificacionHasta, pagina);
         DataTableReader paginas = ds.Tables[2].CreateDataReader();
         paginas.Read();
         List<Solicitudes> solicitudesFiltradas = new Solicitudes().GetSolicitudesFiltradas(ds.Tables[1].CreateDataReader());
         ViewData["solicitudesFiltradas"] = solicitudesFiltradas;
         ViewBag.paginas = paginas["Paginas"].ToString();
         ViewBag.campos = Request;
         con.Close();
     }
     else {
         return RedirectToAction("Index", "Home");
     }
     return View();
 }
        public ActionResult Asignar(string id)
        {
            if (Session["nombreusuario"] != null)
            {
                if (Session["rol"].ToString() == "Supervisor")
                {

                    Solicitudes solicitud = new Solicitudes();
                    solicitud.ID = Convert.ToInt32(id);
                    solicitud.CargarSolicitud();
                    ViewBag.Solicitud = solicitud;
                    //Usuarios tecnicos
                    ViewData["Tecnicos"] = new Usuarios().GetAllTecnicos(Convert.ToInt32(id));

                }
                else
                {
                    return RedirectToAction("Index", "Home");
                }
            }
            else
            {
                return RedirectToAction("Index", "Home");
            }
            return View();
        }
Example #13
0
 public List<Solicitudes> GetSolicitudesNoAsignadas()
 {
     Conexion con = new Conexion();
     SqlDataReader data = con.GetSolicitudesNoAsignadas();
     List<Solicitudes> solicitudes = new List<Solicitudes>();
     while (data.Read())
     {
         Solicitudes solicitud = new Solicitudes();
         solicitud.ID = Convert.ToInt32(data["ID"].ToString());
         solicitud.CargarSolicitud();
         solicitudes.Add(solicitud);
     }
     con.Close();
     return solicitudes;
 }
Example #14
0
 public List<Solicitudes> GetHistorialSolicitudes(int solicitudid)
 {
     Conexion con = new Conexion();
     SqlDataReader data = con.GetHistorialSolicitud(solicitudid);
     List<Solicitudes> solicitudes = new List<Solicitudes>();
     while (data.Read())
     {
         Solicitudes solicitud = new Solicitudes();
         solicitud.FechaCreacion = Convert.ToDateTime(data["FechaTiempo"]);
         solicitud.UsuarioCreador = new Usuarios();
         solicitud.UsuarioCreador.Nombre = data["Usuario"].ToString();
         solicitud.UsuarioTecnico = new Usuarios();
         solicitud.UsuarioTecnico.Nombre = data["Tecnico"].ToString();
         solicitud.estado.Nombre = data["Estado"].ToString();
         solicitud.Descripcion = data["Descripcion"].ToString();
         solicitud.Solucion = data["Solucion"].ToString();
         solicitud.Prioridad = data["Prioridad"].ToString();
         solicitudes.Add(solicitud);
     }
     con.Close();
     return solicitudes;
 }