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(); }
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; }
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; }