Esempio n. 1
0
        public ActionResult Index()
        {
            ViewBag.Message = "Bienvenido nuevamente";
            string correoinstitucional = System.Configuration.ConfigurationManager.AppSettings["CorreoInstitucional"];
            string nombreusuario = User.Identity.Name.Split('\\')[1].ToString();
            Usuarios usuario = new Usuarios();
            if (!usuario.InicioSesion(nombreusuario))
            {
                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.Filter = string.Format("(&(objectCategory=Person)(anr={0}))", nombreusuario);
                SearchResult result = dsFindUser.FindOne();
                ViewBag.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 = nombreusuario + correoinstitucional;
                }
                usuario.NuevoUsuario(nombreusuario, ViewBag.Nombre, departamento, correo);
                string mensaje = "Bienvenido al Sistema de Mesa de Ayuda del Ministerio de Economia, Planificación y Desarrollo\n Por esta vía se le enviará notificaciones de sus solicitudes.";
                new Mensajes().EnviarMensaje(correo, "Bienvenido al SiMeAyuda", mensaje);
                ViewBag.Message = "Bienvenido por primera vez";
            }
            Session.Timeout = 20;
            Session["nombre"] = usuario.Nombre;
            Session["nombreusuario"] = usuario.NombreUsuario;
            Session["correousuario"] = usuario.CorreoElectronico;
            Session["rol"] = usuario.rol.Nombre;
            return View();
        }
 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 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 Reportes()
 {
     if (Session["nombreusuario"] != null)
     {
         if (Session["rol"].ToString() == "Supervisor")
         {
             SqlDataReader categorias = new Conexion().GetAllCategorias(), departamentos = new Conexion().GetAllDepartamentos(), estados = new Conexion().GetAllEstados();
             ViewBag.categorias = categorias;
             ViewBag.departamentos = departamentos;
             ViewBag.estados = estados;
             ViewData["Tecnicos"] = new Usuarios().GetAllTecnicos();
             ViewData["Solicitantes"] = new Usuarios().GetAllUsuariosSolicitantes();
         }
         else
         {
             return RedirectToAction("Index", "Home");
         }
     }
     else
     {
         return RedirectToAction("Index", "Home");
     }
     return View();
 }
 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 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");
            }
        }
        //
        // GET: /Solicitud/
        public ActionResult Index()
        {
            if (Session["nombreusuario"] != null)
            {
                ViewBag.Message = "Creando solicitud";

                List<Categorias> cat = new Categorias().GetAllCategorias();
                ViewData["categorias"] = cat;
                ViewData["tecnicos"] = new Usuarios().GetAllTecnicos();
            }
            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();
        }
Esempio n. 9
0
 public List<Usuarios> GetAllUsuariosSupervisores()
 {
     Conexion con = new Conexion();
     List<Usuarios> usuarios = new List<Usuarios>();
     SqlDataReader users = con.GetAllUsuariosSupervisores();
     while (users.Read())
     {
         Usuarios usuario = new Usuarios();
         usuario.InicioSesion(users["NombreUsuario"].ToString());
         usuarios.Add(usuario);
     }
     con.Close();
     return usuarios;
 }
Esempio n. 10
0
 public Comentarios()
 {
     usuario = new Usuarios();
 }
Esempio n. 11
0
 public Adjuntos()
 {
     this.usuario = new Usuarios();
 }
Esempio n. 12
0
 public bool CargarSolicitud()
 {
     Conexion con = new Conexion();
     SqlDataReader solicituddata = con.GetSolicitudById(this.ID);
     solicituddata.Read();
     this.UsuarioCreador = new Usuarios();
     this.UsuarioTecnico = new Usuarios();
     this.UsuarioCreador.InicioSesion(Convert.ToString(solicituddata["NombreUsuario"]));
     this.UsuarioTecnico.InicioSesion(Convert.ToString(solicituddata["UsuarioTecnico"]));
     this.categoria.ID = Convert.ToInt32(solicituddata["CategoriaID"]);
     this.categoria.Nombre = Convert.ToString(solicituddata["Categoria"]);
     this.subcategoria.ID = Convert.ToInt32(solicituddata["SubCategoriaID"]);
     this.subcategoria.Nombre = Convert.ToString(solicituddata["SubCategoria"]);
     this.estado.ID = Convert.ToInt32(solicituddata["EstadoID"]);
     this.estado.Nombre = Convert.ToString(solicituddata["Estado"]);
     this.ID = Convert.ToInt32(solicituddata["SolicitudID"]);
     this.Descripcion = Convert.ToString(solicituddata["Descripcion"]);
     this.Solucion = Convert.ToString(solicituddata["Solucion"]);
     this.Prioridad = Convert.ToString(solicituddata["Prioridad"]);
     this.FechaCreacion = Convert.ToDateTime(solicituddata["FechaCreacion"]);
     this.UltimaModificacion = Convert.ToDateTime(solicituddata["UltimaModificacion"]);
     con.Close();
     return true;
 }