示例#1
0
 public void init()
 {
     FabricaEntidades fabricaEntidades = new FabricaEntidades();
     fabricaDAO = new FabricaDAOSqlServer();
     DAOAcuerdo = fabricaDAO.ObtenerDAOAcuerdo();
     acuerdo = (Acuerdo)fabricaEntidades.ObtenerAcuerdo();
     listaUsuarios = new List<Usuario>();
     listaContactos = new List<Contacto>();
     Usuario usuario1 = (Usuario)fabricaEntidades.ObtenerUsuario();
     usuario1.Id = 1;
     usuario1.Nombre = "Alberto";
     usuario1.Apellido = "Da Silva";
     usuario1.Rol = "Administrador";
     usuario1.Cargo = "1";
     Usuario usuario2 = (Usuario)fabricaEntidades.ObtenerUsuario();
     usuario2.Id = 2;
     usuario2.Nombre = "Argenis";
     usuario2.Apellido = "Rodriguez";
     usuario2.Rol = "Administrador";
     usuario2.Cargo = "2";
     Usuario usuario3 = (Usuario)fabricaEntidades.ObtenerUsuario();
     usuario3.Id = 3;
     usuario3.Nombre = "Scheryl";
     usuario3.Apellido = "Palencia";
     usuario3.Rol = "Usuario";
     usuario3.Cargo = "3";
     Contacto contacto1 = (Contacto)fabricaEntidades.ObtenerContacto();
     contacto1.Id = 1;
     contacto1.Con_Nombre = "Reinaldo";
     contacto1.Con_Apellido = "Cortes";
     contacto1.ConCargo = "1";
     Contacto contacto2 = (Contacto)fabricaEntidades.ObtenerContacto();
     contacto2.Id = 2;
     contacto2.Con_Nombre = "Mercedes";
     contacto2.Con_Apellido = "Amilibia";
     contacto2.ConCargo = "2";
     Contacto contacto3 = (Contacto)fabricaEntidades.ObtenerContacto();
     contacto3.Id = 3;
     contacto3.Con_Nombre = "Amaranta";
     contacto3.Con_Apellido = "Ruiz";
     contacto3.ConCargo = "3";
     listaUsuarios.Add(usuario1);
     listaUsuarios.Add(usuario2);
     listaUsuarios.Add(usuario3);
     listaContactos.Add(contacto1);
     listaContactos.Add(contacto2);
     listaContactos.Add(contacto3);
     acuerdo.Fecha = DateTime.Now;
     acuerdo.Compromiso = "Ejemplo de compromiso";
     acuerdo.ListaContacto = listaContactos;
     acuerdo.ListaUsuario = listaUsuarios;
 }
        /// <summary>
        /// Metodo que se encarga de Agregar un Usuario a la Base de Datos
        /// </summary>
        /// <returns>Verdadero si la insercion fue exitosa o false sino fue exitosa</returns>
        public bool AgregarUsuario()
        {
            bool exito = false;
            FabricaEntidades laFabrica = new FabricaEntidades();
            /*Verificamos que el nombre, apellido, username, correo, pregunta y respuesta secreta, clave y
            confirmacion de clave no esten vacios, ademas el cargo y rol deben tener seleccionados valores permitidos*/
            if (!vista.nombreUsuario.Equals("") && !vista.apellidoUsuario.Equals("") && !vista.username.Equals("")
                && !vista.correoUsuario.Equals("") && !vista.preguntaUsuario.Equals("") && !vista.respuestaUsuario.Equals("")
                && (vista.clave == vista.confirmarClave) && !vista.comboTipoCargo.SelectedValue.Equals("-1")
                && !vista.comboTipoRol.SelectedValue.Equals("-1"))
            {

                // Instanciamos la entidad Usuario a traves de su fabrica
                Entidad Usuario = laFabrica.ObtenerUsuario(vista.username, vista.clave, vista.nombreUsuario,
                    vista.apellidoUsuario, vista.comboTipoRol.SelectedValue, vista.correoUsuario, vista.preguntaUsuario,
                    vista.respuestaUsuario, vista.comboTipoCargo.SelectedValue);

                //Instanciamos el comando agregarUsuario a traves de la fabrica
                Comando<Entidad, bool> agregarUsuario = FabricaComandos.CrearComandoAgregarUsuario();

                //Realizamos la operacion y retornamos la respuesta
                exito = agregarUsuario.Ejecutar(Usuario);
            }

            //Retornamos la respuesta
            return exito;
        }
示例#3
0
 public void Init()
 {
     fabricaEntidades = new FabricaEntidades();
     usuario = (Usuario)fabricaEntidades.ObtenerUsuario();
     usuario.Username = RecursosPUMod1.UsuarioExitoso;
     usuario.Clave = RecursosPUMod1.ClaveExitosa;
 }
示例#4
0
 public void Init()
 {
     daoLogin = new DaoLogin();
     fabricaEntidades = new FabricaEntidades();
     usuario = (Usuario)fabricaEntidades.ObtenerUsuario();
     usuario.Username = RecursosPUMod1.UsuarioExitoso;
     usuario.Clave = RecursosPUMod1.ClaveExitosa;
     usuario.CalcularHash();
 }
示例#5
0
        public void PruebaFabricaUsuario()
        {
            //Instanciamos la fabrica
            FabricaEntidades fabrica = new FabricaEntidades();

            //Obtenemos cada uno de los valores y los casteamos
            Entidad usuarioFabricaVacio = fabrica.ObtenerUsuario();
            Entidad usuarioFabricaDatosBasicos = fabrica.ObtenerUsuario("username", "nombre", "apellido", "cargo");
            Entidad usuarioFabricaSinID = fabrica.ObtenerUsuario("username", "clave", "nombre", "apellido", "rol",
                "correo", "pregunta", "respuesta","cargo");
            usuarioFabricaVacio = usuarioFabricaVacio as Usuario;
            usuarioFabricaDatosBasicos = usuarioFabricaDatosBasicos as Usuario;
            usuarioFabricaSinID = usuarioFabricaSinID as Usuario;

            //Probamos
            Assert.IsNotNull(usuarioFabricaVacio);
            Assert.IsNotNull(usuarioFabricaDatosBasicos);
            Assert.IsNotNull(usuarioFabricaSinID);
        }
        public void Init()
        {
            //Instanciamos el comando de agregar Usuario
            comandoAgregar = FabricaComandos.CrearComandoAgregarUsuario();

            //Creamos la entidad de Usuario
            FabricaEntidades entidades = new FabricaEntidades();
            usuarioRegistrar = entidades.ObtenerUsuario("prueba", "prueba", "prueba", "prueba", "prueba", "prueba", "prueba",
                "prueba", "Gerente");

            //Comando que eliminara al usuario de prueba
            eliminarUsuario = FabricaComandos.CrearComandoEliminarUsuarios();
        }
示例#7
0
        public void PruebaComandoAgregarUsuariosInvolucrados()
        {
            FabricaEntidades laFabrica = new FabricaEntidades();
            Proyecto elProyecto = (Proyecto)FabricaEntidades.ObtenerProyecto();
            Usuario usuario = (Usuario)laFabrica.ObtenerUsuario();
            Comando<Dominio.Entidad, Boolean> comando = FabricaComandos.CrearComandoAgregarUsuarioInvolucrados();

            elProyecto.Codigo = "TOT";
            listUsuario.Proyecto = elProyecto;
            usuario.Username = "******";
            listUsuario.Lista.Add(usuario);

            Assert.IsTrue(comando.Ejecutar(listUsuario));
        }
示例#8
0
        /// <summary>
        /// Metodo que carga la pregunta del usuario
        /// </summary>
        /// <param name="request"></param>
        public void CargarPregunta(HttpRequest request)
        {
            try
            {
                FabricaEntidades fabricaEntidades = new FabricaEntidades();
                Entidad usuario = fabricaEntidades.ObtenerUsuario();
                string correo = request.QueryString[RecursosM1.Parametro_usuario];
                if (string.IsNullOrEmpty(correo))
                    throw new ErrorParametroHttpRequest(RecursosM1.Mensaje_parametroHttp);
                else
                {
                    Comando<List<string>, string> comandoDesencriptar = FabricaComandos.CrearComandoDesencriptar();
                    List<string> lista = new List<string>();
                    lista.Add(correo);
                    lista.Add(RecursosM1.Passphrase);
                    ((Usuario)usuario).Correo = comandoDesencriptar.Ejecutar(lista);
                    Comando<Entidad, Entidad> comandoPreg = FabricaComandos.CrearComandoObtenerPreguntaSeguridad();
                    usuario = comandoPreg.Ejecutar(usuario);
                    var pregunta = ((Usuario)usuario).PreguntaSeguridad;
                    if (string.IsNullOrEmpty(pregunta))
                        throw new ParametroInvalidoException(RecursosM1.Mensaje_ErrorPregunta);

                    vista.Pregunta = pregunta;
                }

            }
            catch (ExcepcionesTotem.Modulo1.UsuarioVacioException ex)
            {
                vista.setMensaje(true, ex.Message);
            }
            catch (ExcepcionesTotem.Modulo1.EmailErradoException ex)
            {
                vista.setMensaje(true, ex.Message);
            }
            catch (ExcepcionesTotem.Modulo1.ParametroInvalidoException ex)
            {
                vista.setMensaje(true, ex.Message);
            }
            catch (ExcepcionesTotem.ExceptionTotemConexionBD ex)
            {
                vista.setMensaje(true, ex.Message);
            }
            catch (Exception ex)
            {
                vista.setMensaje(true, ex.Message);
            }
        }
 /// <summary>
 /// Suministra la informacion detalla del usuario solicitado al sistema
 /// </summary>
 public void DetalleDeUsuario()
 {
     string username = HttpContext.Current.Request.QueryString[RecursosPresentadorModulo7.RecursoUsername];
     string urlListarUsuarios = RecursosPresentadorModulo7.URL_ListarUsuarios + RecursosPresentadorModulo7.Codigo_Error_UsuarioInvalido;
     bool usuarioNull = username == null;
     bool usuarioVacio = true;
     bool usuarioInvalido = true;
     if (!usuarioNull)
     {
         usuarioVacio = username.Equals(string.Empty);
         usuarioInvalido = !Regex.IsMatch(username, RecursosPresentadorModulo7.ExpReg_Username,
                                 RegexOptions.IgnoreCase);
     }
     if (usuarioNull || usuarioVacio || usuarioInvalido)
         HttpContext.Current.Response.Redirect(urlListarUsuarios);
     FabricaEntidades fabricaEntidades = new FabricaEntidades();
     Entidad parametro = fabricaEntidades.ObtenerUsuario(username);
     Comandos.Comando<Entidad, Entidad> comandoDetalle = FabricaComandos.CrearComandoDetalleUsuario();
     try
     {
         parametro = comandoDetalle.Ejecutar(parametro);
         Usuario usuario = parametro as Usuario;
         vista.Nombre = usuario.Nombre;
         vista.Apellido = usuario.Apellido;
         vista.Correo = usuario.Correo;
         vista.Rol = usuario.Rol;
         vista.Username = usuario.Username;
         vista.Cargo = usuario.Cargo;
     }
     catch (UsuarioInvalidoException e)
     {
         Logger.EscribirError(this.GetType().Name, e);
         HttpContext.Current.Response.Redirect(urlListarUsuarios);
     }
     catch (Exception e)
     {
         Logger.EscribirError(this.GetType().Name, e);
         HttpContext.Current.Response.Redirect(urlListarUsuarios);
     }
 }
示例#10
0
        /// <summary>
        /// Metodo para consultar los datos de Usuario
        /// </summary>
        /// <param name="idUsuario">id del Usuarios</param>
        /// <returns>Retorna el Objeto Usuario</returns>
        public Entidad ConsultarUsuarioMinutas(int idUsuario)
        {
            Usuario elUsuario;
            FabricaEntidades laFabrica = new FabricaEntidades();
            DataTable resultado = new DataTable();
            List<Parametro> parametros = new List<Parametro>();
            Parametro parametroStored = new Parametro(RecursosBDModulo8.ParametroIDUsuario,
                SqlDbType.Int, idUsuario.ToString(), false);
            parametros.Add(parametroStored);

            elUsuario = (Usuario)laFabrica.ObtenerUsuario();

            try
            {
                resultado = EjecutarStoredProcedureTuplas(RecursosBDModulo8.ProcedimientoConsultarUsuarios, parametros);

                foreach (DataRow row in resultado.Rows)
                {
                    elUsuario.Id = int.Parse(row[RecursosBDModulo8.AtributoIDUsuario].ToString());
                    elUsuario.Nombre = row[RecursosBDModulo8.AtributoNombreUsuario].ToString();
                    elUsuario.Apellido = row[RecursosBDModulo8.AtributoApellidoUsuario].ToString();
                    elUsuario.Cargo = row[RecursosBDModulo8.AtributoCargoUsuario].ToString();

                }

               }
            catch (NullReferenceException ex)
            {
                ExcepcionesTotem.Logger.EscribirError(this.GetType().Name,
                   ex);
                throw new BDMinutaException(RecursosBDModulo8.Codigo_ExcepcionNullReference,
                    RecursosBDModulo8.Mensaje_ExcepcionNullReference, ex);

            }
            catch (SqlException ex)
            {
                ExcepcionesTotem.Logger.EscribirError(this.GetType().Name,
                      ex);
                throw new BDMinutaException(RecursosBDModulo8.Codigo_ExcepcionSql,
                    RecursosBDModulo8.Mensaje_ExcepcionSql, ex);

            }
            catch (ParametroIncorrectoException ex)
            {
                ExcepcionesTotem.Logger.EscribirError(this.GetType().Name,
                      ex);
                throw new ParametroIncorrectoException(RecursosBDModulo8.Codigo_ExcepcionParametro,
                    RecursosBDModulo8.Mensaje__ExcepcionParametro, ex);
            }
            catch (AtributoIncorrectoException ex)
            {
                ExcepcionesTotem.Logger.EscribirError(this.GetType().Name,
                      ex);
                throw new AtributoIncorrectoException(RecursosBDModulo8.Codigo_ExcepcionAtributo,
                    RecursosBDModulo8.Mensaje_ExcepcionAtributo, ex);
            }
            catch (Exception ex)
            {
                ExcepcionesTotem.Logger.EscribirError(this.GetType().Name,
                      ex);
                throw new BDMinutaException(RecursosBDModulo8.Codigo_ExcepcionGeneral,
                   RecursosBDModulo8.Mensaje_ExcepcionGeneral, ex);

            }
            return elUsuario;
        }
        /// <summary>
        /// Método para modificar al usuario
        /// </summary>
        public void ModificarUsuario()
        {
            try
            {
                FabricaEntidades fabricaEntidades = new FabricaEntidades();

                Entidad usuario = fabricaEntidades.ObtenerUsuario(vista.Username, vista.Clave, vista.Nombre, vista.Apellido,
                    vista.Rol, vista.Correo, vista.Pregunta, vista.Respuesta, vista.Cargo);

                Comando<Dominio.Entidad, Boolean> comandoModificar =
                    FabricaComandos.CrearComandoModificarUsuario();

                if (comandoModificar.Ejecutar(usuario))
                {
                    HttpContext.Current.Response.Redirect(
                        RecursosPresentadorModulo7.URL_DetalleUsuario +
                        RecursosPresentadorModulo7.Param_Username +
                        vista.Username);
                }
            }
            catch (Exception)
            {

            }
        }
示例#12
0
        /// <summary>
        /// Metodo que consulta los usuarios involucrados a un proyecto dado
        /// </summary>
        /// <param name="p">proyecto del que se desean saber los involucrados</param>
        /// <returns>lista de usuarios involucrados al proyecto que recibe como parametro</returns>
        public Entidad ConsultarUsuariosInvolucradosPorProyecto(Entidad parametro)
        {
            FabricaEntidades laFabrica = new FabricaEntidades();
            ListaInvolucradoUsuario laListaDeUsuarios = new ListaInvolucradoUsuario();
            Proyecto p = (Proyecto)parametro;
            List<Parametro> parametros;
            Parametro codigoProyecto;
            List<Usuario> lUsuarios = new List<Usuario>();
            try
            {
                parametros = new List<Parametro>();
                if (p.Codigo != null)
                {
                    codigoProyecto = new Parametro(RecursosBDModulo3.ParamCodProy, SqlDbType.VarChar, p.Codigo, false);
                    parametros.Add(codigoProyecto);
                }
                else
                    throw new ExcepcionesTotem.Modulo3.ProyectoSinCodigoException(
                        RecursosBDModulo3.Codigo_ProyectoSinCod, RecursosBDModulo3.Mensaje_ProyectoSinCod,
                        new Exception());

                DataTable dt = EjecutarStoredProcedureTuplas(RecursosBDModulo3.StoredConsultarUsuario,
                    parametros);
                foreach (DataRow row in dt.Rows)
                {
                    Usuario u = (Usuario)laFabrica.ObtenerUsuario();
                    u.IdUsuario = int.Parse(row[RecursosBDModulo3.aliasUsuarioID].ToString());
                    u.Nombre = row[RecursosBDModulo3.aliasUsuarioNombre].ToString();
                    u.Apellido = row[RecursosBDModulo3.aliasUsuarioApellido].ToString();
                    u.Cargo = row[RecursosBDModulo3.aliasCargoNombre].ToString();
                    u.Username = row[RecursosBDModulo3.aliasUsuarioUsername].ToString();
                    lUsuarios.Add(u);
                }
                laListaDeUsuarios = (ListaInvolucradoUsuario)laFabrica.
                                    ObtenetListaInvolucradoUsuario(lUsuarios, p);
            }
            catch (SqlException ex)
            {
                throw new ExcepcionesTotem.ExceptionTotemConexionBD();
            }
            catch (Exception ex)
            {
                throw new ExcepcionesTotem.ExceptionTotem("No se pudo completar la operacion", new Exception());
            }

            return laListaDeUsuarios;
        }
示例#13
0
        /// <summary>
        /// Metodo que consultara en la Base de Datos todos los usuarios y los devolvera en una lista
        /// </summary>
        /// <returns>Lista con todos los usuarios obtenidos de la Base de Datos</returns>
        public List<Entidad> ListarUsuarios()
        {
            //Lista que sera la respuesta de la consulta;
            List<Entidad> usuarios;

            //Instanciamos la fabrica concreta de Entidades
            FabricaEntidades fabrica = new FabricaEntidades();

            //Parametros que tendra
            List<Parametro> parametros = new List<Parametro>();

            try
            {
                //Recibimos la respuesta de la consulta
                DataTable dt = EjecutarStoredProcedureTuplas(RecursosBaseDeDatosModulo7.ProcedimientoListarUsuario,
                    parametros);

                //Instanciamos la lista
                usuarios = new List<Entidad>();

                //Recorremos el data table, crearmos el usuario con sus datos y asignamos cada usuario a la lista
                foreach (DataRow fila in dt.Rows)
                 {
                     Entidad aux = fabrica.ObtenerUsuario(fila[RecursosBaseDeDatosModulo7.UsernameNombre].ToString(),
                         fila[RecursosBaseDeDatosModulo7.NombreUsu].ToString(),
                         fila[RecursosBaseDeDatosModulo7.ApellidoUsu].ToString(),
                         fila[RecursosBaseDeDatosModulo7.CargoNombre].ToString());
                     usuarios.Add(aux);
                 }

                //Retornamos la lista con los usuarios
                return usuarios;
            }
            catch (SqlException e)
            {
                //Si hay error en la Base de Datos escribimos en el logger y lanzamos la excepcion
                BDDAOUsuarioException daoSqlException = new BDDAOUsuarioException(
                    RecursosBaseDeDatosModulo7.EXCEPTION_BDDAOUSUARIO_CODIGO,
                    RecursosBaseDeDatosModulo7.EXCEPTION_BDDAOUSUARIO_MENSAJE, e);
                Logger.EscribirError(this.GetType().Name, daoSqlException);
                throw daoSqlException;
            }
            catch (Exception e)
            {
                //Si existe un error inesperado escribimos en el logger y lanzamos la excepcion
                ErrorInesperadoDAOUsuarioException errorInesperado = new ErrorInesperadoDAOUsuarioException(
                RecursosBaseDeDatosModulo7.EXCEPTION_INESPERADO_CODIGO,
                RecursosBaseDeDatosModulo7.EXCEPTION_INESPERADO_MENSAJE, e);
                Logger.EscribirError(this.GetType().Name, errorInesperado);
                throw errorInesperado;
            }
        }
示例#14
0
        /// <summary>
        /// Metodo que maneja el evento manejar Correo
        /// </summary>
        public void ManejarEventoCorreo_Click()
        {
            string correo = vista.Correo;

            if (correo.Equals(""))
            {
                vista.Mensaje = RecursosM1.Mensaje_AlertaCorreo;
            }
            else
            {
                try
                {
                    Regex reg1 = new Regex(RecursosM1.Expresion_SQL);
                    Regex reg2 = new Regex(RecursosM1.Expresion_Comilla);
                    if ((reg1.IsMatch(correo)) || (reg2.IsMatch(correo)))
                    {
                        throw new Exception(RecursosM1.Mensaje_Sospecha);
                    }

                    FabricaEntidades fabricaEntidades = new FabricaEntidades();
                    Entidad usuario = fabricaEntidades.ObtenerUsuario();
                    ((Usuario)usuario).Correo = correo;
                    bool esCorreo = Regex.IsMatch(correo,
                        RecursosM1.Expresion_Regular_Correo,
                        RegexOptions.IgnoreCase);
                    if (esCorreo)
                    {
                        Comando<string, bool> comando = FabricaComandos.CrearComandoValidarCorreoExistente();
                        esCorreo = comando.Ejecutar(correo);
                        if (esCorreo)
                        {
                            List<string> lista = new List<string>();
                            List<string> listaDesen = new List<string>();
                            lista.Add(((Usuario)usuario).Correo);
                            lista.Add(RecursosM1.Passphrase);
                            Comando<List<string>, string> comandoEncrip = FabricaComandos.CrearComandoEncriptar();
                            string link = RecursosM1.Link_Recuperacion_Clave;
                            link = link + comandoEncrip.Ejecutar(lista);
                            Comando<List<string>, string> comandoDesen = FabricaComandos.CrearComandoDesencriptar();
                            listaDesen.Add(RecursosM1.Pswd_Correo_Totem);
                            listaDesen.Add(RecursosM1.Passphrase);
                            string network = comandoDesen.Ejecutar(listaDesen);
                            lista.Add(link);
                            lista.Add(network);
                            Comando<List<String>, bool> comandoEnviar = FabricaComandos.CrearComandoEnviarEmail();
                            comandoEnviar.Ejecutar(lista);
                            vista.Mensaje = RecursosM1.Parametro_CorreoEnviado;
                        }
                        else
                        {
                            ExcepcionesTotem.Modulo1.EmailErradoException ex = new ExcepcionesTotem.Modulo1.EmailErradoException(
                            RecursosM1.Codigo_Email_Errado,
                            RecursosM1.Mensaje_Email_errado,
                            new ExcepcionesTotem.Modulo1.EmailErradoException());
                            vista.Mensaje = ex.Message;
                        }
                    }
                    else
                    {
                        ExcepcionesTotem.Modulo1.EmailErradoException ex = new ExcepcionesTotem.Modulo1.EmailErradoException(
                            RecursosM1.Codigo_Email_Errado,
                            RecursosM1.Mensaje_Email_errado,
                            new ExcepcionesTotem.Modulo1.EmailErradoException());
                        vista.Mensaje = ex.Message;
                    }

                }
                catch (ExcepcionesTotem.Modulo1.EmailErradoException ex)
                {
                    vista.Mensaje = ex.Message;
                }
                catch (ExcepcionesTotem.Modulo1.ParametroInvalidoException ex)
                {
                    vista.Mensaje = ex.Message;
                }
                catch (ExcepcionesTotem.ExceptionTotemConexionBD ex)
                {
                    vista.Mensaje = ex.Message;
                }
                catch (ExcepcionesTotem.Modulo1.UsuarioVacioException ex)
                {
                    vista.Mensaje = ex.Message;
                }
                catch (ExcepcionesTotem.Modulo1.ErrorEnvioDeCorreoException ex)
                {
                    vista.Mensaje = ex.Message;
                }
                catch (Exception ex)
                {
                    vista.Mensaje = ex.Message;
                }

            }
        }
示例#15
0
        /// <summary>
        /// Método que maneja que se activa cuando el usario le da click a Iniciar Sesión
        /// 1° Valida si los campos estan correctamente llenos
        /// 2° Verfica si el Usuario existe en la base de datos 
        /// 3° Crea las credenciales
        /// </summary>
        public void ManejarEventoLogin_Click()
        {
            try
            {
                FabricaEntidades fabricaEntidades = new FabricaEntidades();
                Entidad credenciales = fabricaEntidades.ObtenerUsuario();
                if (!captchaActivo)
                {
                    List<string> usuarioLogin = new List<string>();
                    usuarioLogin.Add(vista.Usuario);
                    usuarioLogin.Add(vista.Clave);

                    Regex reg1 = new Regex(RecursosM1.Expresion_SQL);
                    Regex reg2 = new Regex(RecursosM1.Expresion_Comilla);
                    if ((reg1.IsMatch(vista.Usuario))||(reg2.IsMatch(vista.Usuario)))
                    {
                        throw new Exception(RecursosM1.Mensaje_Sospecha);
                    }
                    if ((reg1.IsMatch(vista.Clave)) || (reg2.IsMatch(vista.Clave)))
                    {
                        throw new Exception(RecursosM1.Mensaje_Sospecha);
                    }

                    if (string.IsNullOrEmpty(vista.Usuario))
                    {
                        throw new Exception(RecursosM1.Mensaje_AlertaUsername);
                    }

                    if (string.IsNullOrEmpty(vista.Clave))
                    {
                        throw new Exception(RecursosM1.Mensaje_AlertaClave);
                    }
                    Comando<List<string>, Entidad> comando = FabricaComandos.CrearComandoIniciarSesion();

                    credenciales = (Usuario)comando.Ejecutar(usuarioLogin);
                    if ( !string.IsNullOrEmpty(((Usuario)credenciales).Correo) )
                    {
                        HttpContext.Current.Session[RecursosM1.LUsuario] =((Usuario) credenciales).Username;
                        HttpContext.Current.Session[RecursosM1.LUsuarioRol] =((Usuario) credenciales).Rol;

                    Comando<String, List<Dominio.Entidad>> listaProyectos;
                    listaProyectos = Comandos.Fabrica.FabricaComandos.
                       CrearComandoConsultarProyectosPorUsuario();
                    try
                    {
                       List<Dominio.Entidad> proyectos =
                          listaProyectos.Ejecutar((credenciales as Usuario).Username.ToString());

                       HttpContext.Current.Session[RecursosM1.LProyectoCodigo] = (proyectos[0] as Dominio.Entidades.Modulo4.Proyecto).Codigo;
                       HttpContext.Current.Session[RecursosM1.LProyectoNombre] = (proyectos[0] as Dominio.Entidades.Modulo4.Proyecto).Nombre;
                    }
                    catch (ExcepcionesTotem.Modulo4.UsuarioSinProyectosException)
                    {
                       HttpContext.Current.Session[RecursosM1.LProyectoCodigo] = string.Empty;
                       HttpContext.Current.Session[RecursosM1.LProyectoNombre] = "Ninguno";
                    }

                        HttpContext.Current.Session[RecursosM1.Parametro_Credencial] = (Usuario)credenciales;

                        HttpContext.Current.Response.Redirect(RecursosM1.Ventana_Default);
                    }
                    else
                    {
                        vista.SetMesaje(true, RecursosM1.Mensaje_ErrorLogin);
                    }

                    intentos++;

                }

            }
            catch (ExcepcionesTotem.Modulo1.IntentosFallidosException e)
            {
                vista.SetMesaje(true, e.Message);
            }
            catch (ExcepcionesTotem.Modulo1.LoginErradoException e)
            {
                vista.SetMesaje(true, e.Message);

            }
            catch (ExcepcionesTotem.ExceptionTotemConexionBD e)
            {
                vista.SetMesaje(true, e.Message);
            }
            catch (Exception e)
            {
                vista.SetMesaje(true, e.Message);
            }
        }
示例#16
0
        /// <summary>
        /// Metodo que maneja el OnClick del boton Cambiar clave
        /// </summary>
        /// <param name="request"></param>
        public void ManejarEventoPassword_Click(HttpRequest request)
        {
            try
            {
                string correo= request.Cookies[RecursosM1.Parametro_userInfo][RecursosM1.Parametro_usuario];
                if (request.Cookies[RecursosM1.Parametro_userInfo] == null)
                    throw new ErrorParametroHttpRequest(RecursosM1.Mensaje_parametroHttp);
                if (string.IsNullOrEmpty(vista.Password) || string.IsNullOrEmpty(vista.PasswordConfirmar))
                    throw  new Exception(RecursosM1.Mensaje_campoVacio);
                if (!vista.Password.Equals(vista.PasswordConfirmar))
                    throw new Exception(RecursosM1.Mensaje_passwordNoCoincide);

                Regex reg1 = new Regex(RecursosM1.Expresion_SQL);
                Regex reg2 = new Regex(RecursosM1.Expresion_Comilla);
                if ((reg1.IsMatch(vista.Password)) || (reg2.IsMatch(vista.Password)))
                {
                    throw new Exception(RecursosM1.Mensaje_Sospecha);
                }
                if ((reg1.IsMatch(vista.PasswordConfirmar)) || (reg2.IsMatch(vista.PasswordConfirmar)))
                {
                    throw new Exception(RecursosM1.Mensaje_Sospecha);
                }

                FabricaEntidades fabricaEntidades = new FabricaEntidades();
                Entidad usuario = fabricaEntidades.ObtenerUsuario();
                Comando<List<string>, string> comandoDesencriptar = FabricaComandos.CrearComandoDesencriptar();
                List<string> lista = new List<string>();
                lista.Add(correo);
                lista.Add(RecursosM1.Passphrase);
                ((Usuario)usuario).Correo = comandoDesencriptar.Ejecutar(lista);
                ((Usuario)usuario).Clave = vista.Password;
                Comando<Entidad, bool> comando = FabricaComandos.CrearComandoCambioDeClave();
                if (comando.Ejecutar(usuario))
                {
                    HttpContext.Current.Response.Redirect(RecursosM1.Ventana_Login);
                }
                else
                {
                    vista.setMensaje(true,RecursosM1.Mensaje_ErrorCambioClave);
                }
            }
            catch (ExcepcionesTotem.Modulo1.UsuarioVacioException ex)
            {
                vista.setMensaje(true, ex.Mensaje);
            }
            catch (ExcepcionesTotem.Modulo1.EmailErradoException ex)
            {
                vista.setMensaje(true, ex.Mensaje);
            }
            catch (ExcepcionesTotem.Modulo1.ParametroInvalidoException ex)
            {
                vista.setMensaje(true, ex.Mensaje);
            }
            catch (ExcepcionesTotem.ExceptionTotemConexionBD ex)
            {
                vista.setMensaje(true, ex.Mensaje);
            }
            catch (Exception e)
            {
                vista.setMensaje(true, e.Message);
            }
        }
示例#17
0
        /// <summary>
        /// Metodo que valida que la respuesta del usuario sea correcta
        /// </summary>
        /// <param name="request"></param>
        /// <param name="response"></param>
        public void ManejarEventoPregunta_Click(HttpRequest request, HttpResponse response)
        {
            string respuesta = vista.Respuesta;

            if (string.IsNullOrEmpty(respuesta))
            {
                vista.setMensaje(true, RecursosM1.Mensaje_AlertaRespuesta);
            }
            else
            {
                try
                {
                    Regex reg1 = new Regex(RecursosM1.Expresion_SQL);
                    Regex reg2 = new Regex(RecursosM1.Expresion_Comilla);
                    if ((reg1.IsMatch(respuesta)) || (reg2.IsMatch(respuesta)))
                    {
                        throw new Exception(RecursosM1.Mensaje_Sospecha);
                    }

                    string correo = request.QueryString[RecursosM1.Parametro_usuario];
                    FabricaEntidades fabricaEntidades = new FabricaEntidades();
                    Entidad usuario = fabricaEntidades.ObtenerUsuario();
                    Comando<List<string>, string> comandoDesencriptar = FabricaComandos.CrearComandoDesencriptar();
                    List<string> lista = new List<string>();
                    lista.Add(correo);
                    lista.Add(RecursosM1.Passphrase);
                    ((Usuario)usuario).Correo = comandoDesencriptar.Ejecutar(lista);
                    ((Usuario)usuario).RespuestaSeguridad = respuesta;
                    Comando<Entidad, bool> comandoValidar = FabricaComandos.CrearComandoValidarRespuestaSecreta();
                    if (comandoValidar.Ejecutar(usuario))
                    {
                        HttpCookie aCookie = new HttpCookie(RecursosM1.Parametro_userInfo);
                        aCookie.Values[RecursosM1.Parametro_usuario] = correo;
                        aCookie.Expires = DateTime.Now.AddMinutes(15);
                        response.Cookies.Add(aCookie);
                        vista.setMensaje(false, RecursosM1.Mensaje_Correcto);
                        HttpContext.Current.Response.Redirect(RecursosM1.Ventana_RecuperacionClave);
                    }
                    else
                    {
                        vista.setMensaje(true, RecursosM1.Mensaje_ErrorRespuesta);

                    }

                }
                catch (ExcepcionesTotem.Modulo1.RespuestaErradoException ex)
                {
                    vista.setMensaje(true, ex.Message);
                }
                catch (ExcepcionesTotem.Modulo1.ParametroInvalidoException ex)
                {
                    vista.setMensaje(true, ex.Message);
                }
                catch (ExcepcionesTotem.Modulo1.UsuarioVacioException ex)
                {
                    vista.setMensaje(true, ex.Message);
                }
                catch (ExcepcionesTotem.ExceptionTotemConexionBD ex)
                {
                    vista.setMensaje(true, ex.Message);
                }
                catch (Exception ex)
                {
                    vista.setMensaje(true, ex.Message);
                }

            }
        }
示例#18
0
        /// <summary>
        /// Metodo que se conecta con la Base de Datos para traer todos los Usuarios segun un cargo en especifico
        /// </summary>
        /// <param name="cargo">El cargo del que se desea obtener los usuarios</param>
        /// <returns>Todos los usuarios que ocupan ese cargo</returns>
        public List<Entidad> ListarUsuariosPorCargo(String cargo)
        {
            //Lista que sera la respuesta de la consulta;
            List<Entidad> usuarios = new List<Entidad>();

            //Instanciamos la fabrica concreta de Entidades
            FabricaEntidades fabrica = new FabricaEntidades();

            //Parametros que tendra
            List<Parametro> listaParametros = new List<Parametro>();

            //El parametro como tal
            Parametro parametroConsulta;

            try
            {
                //Le agregamos el parametro de la consulta y lo agregamos a la lista
                parametroConsulta = new Parametro(RecursosBaseDeDatosModulo7.CargosUsuarios,SqlDbType.VarChar,cargo,
                    false);
                listaParametros.Add(parametroConsulta);

                //Recibimos la respuesta de la consulta
              DataTable dt = EjecutarStoredProcedureTuplas(RecursosBaseDeDatosModulo7.PROCEDIMIENTO_USUARIOS_POR_CARGO,
                    listaParametros);

                //Recorremos el data table, crearmos el usuario con sus datos y asignamos cada usuario a la lista
                foreach (DataRow fila in dt.Rows)
                {
                    Entidad aux = fabrica.ObtenerUsuario(fila["usuarioUsername"].ToString(),
                        fila["usuarioNombre"].ToString(),
                        fila["usuarioApellido"].ToString(),
                        fila["cargoNombre"].ToString());
                    aux.Id = int.Parse(fila["usuarioID"].ToString());
                    usuarios.Add(aux);
                }

                //Retornamos la lista con los usuarios
                return usuarios;

            }
            catch (SqlException e)
            {
                //Si hay error en la Base de Datos escribimos en el logger y lanzamos la excepcion
                Logger.EscribirError(this.GetType().Name, new ExceptionTotemConexionBD());
                throw new ExceptionTotemConexionBD(RecursoGeneralDAO.Codigo_Error_BaseDatos,
                    RecursoGeneralDAO.Mensaje_Error_BaseDatos, e);
            }
            catch (Exception e)
            {
                //Si existe un error inesperado escribimos en el logger y lanzamos la excepcion
                Logger.EscribirError(this.GetType().Name, new ExceptionTotem());
                throw new ExceptionTotem(RecursosBaseDeDatosModulo7.EXCEPTION_INESPERADO_CODIGO,
                    RecursosBaseDeDatosModulo7.EXCEPTION_INESPERADO_MENSAJE, e);
            }
        }
示例#19
0
 /// <summary>
 /// Metodo que obtiene los datos de un usuario
 /// </summary>
 /// <param name="lista">username</param>
 /// <returns>el usuario solicitado</returns>
 public Entidad DatosUsuarioUsername(String user)
 {
     FabricaEntidades laFabrica = new FabricaEntidades();
     Usuario retorno = (Usuario)laFabrica.ObtenerUsuario();
     retorno.Username = user;
     List<Parametro> parametros = new List<Parametro>();
     Parametro parametro = new Parametro(RecursosBDModulo3.ParamUser,
         SqlDbType.VarChar, user, false);
     parametros.Add(parametro);
     parametro = new Parametro(RecursosBDModulo3.ParamUserNombre,
         SqlDbType.VarChar, true);
     parametros.Add(parametro);
     parametro = new Parametro(RecursosBDModulo3.ParamUserApellido,
         SqlDbType.VarChar, true);
     parametros.Add(parametro);
     parametro = new Parametro(RecursosBDModulo3.ParamUserCargo,
         SqlDbType.VarChar, true);
     parametros.Add(parametro);
     try
     {
         List<Resultado> resultados = EjecutarStoredProcedure(RecursosBDModulo3.StoredConsultarDatosUsuario,
             parametros);
         foreach (Resultado resultado in resultados)
         {
             if (resultado.etiqueta.Equals(RecursosBDModulo3.ParamUserCargo))
             {
                 retorno.Cargo = resultado.valor;
             }
             if (resultado.etiqueta.Equals(RecursosBDModulo3.ParamUserNombre))
             {
                 retorno.Nombre = resultado.valor;
             }
             if (resultado.etiqueta.Equals(RecursosBDModulo3.ParamUserApellido))
             {
                 retorno.Apellido = resultado.valor;
             }
         }
     }
     catch (Exception ex)
     {
         throw new ExcepcionesTotem.ExceptionTotem();
     }
     return retorno;
 }
示例#20
0
        protected void Page_Load(object sender, EventArgs e)
        {
            HttpCookie aCookie = new HttpCookie("Intento");
            aCookie.Values["inten"] = "0";
            aCookie.Expires = DateTime.Now.AddMinutes(15);
            Response.Cookies.Add(aCookie);

            FabricaEntidades fabricaEntidades = new FabricaEntidades();
            Usuario user = (Usuario) fabricaEntidades.ObtenerUsuario();
            user.Username = (string) HttpContext.Current.Session["LUsuario"];
            user.Rol = (string) HttpContext.Current.Session["LUsuarioRol"];

            if (user.Username != "")
            {

                if (user.Rol == "Administrador")
                {
                    div_adminIcons.InnerHtml = "<div class='row jumbotron'>";
                    div_adminIcons.InnerHtml += "<div class='col-sm-4'>";
                    div_adminIcons.InnerHtml += "<div>";
                    div_adminIcons.InnerHtml += "<a href='../Modulo2/ListarEmpresas.aspx'>";
                    div_adminIcons.InnerHtml += "<div class='col-sm-offset-5'>";
                    div_adminIcons.InnerHtml += "<img src='../../../img/Icons/modulo2.png' />";
                    div_adminIcons.InnerHtml += "</div>";
                    div_adminIcons.InnerHtml += "<p class='text-center'>Gestión de empresas</p>";
                    div_adminIcons.InnerHtml += "</a>";
                    div_adminIcons.InnerHtml += "</div>";
                    div_adminIcons.InnerHtml += "<br />";
                    div_adminIcons.InnerHtml += "<br />";
                    div_adminIcons.InnerHtml += "<br />";
                    div_adminIcons.InnerHtml += "<div>";
                    div_adminIcons.InnerHtml += " <a href='../Modulo5/ListarRequerimientos.aspx'>";
                    div_adminIcons.InnerHtml += "<div class='col-sm-offset-5'>";
                    div_adminIcons.InnerHtml += "<img src='../../../img/Icons/modulo5.png' />";
                    div_adminIcons.InnerHtml += "</div>";
                    div_adminIcons.InnerHtml += "<p class='text-center'>Gestión de requerimientos y reportes</p>";
                    div_adminIcons.InnerHtml += "</a>";
                    div_adminIcons.InnerHtml += "</div>";
                    div_adminIcons.InnerHtml += "</div>";
                    div_adminIcons.InnerHtml += "<div class='col-sm-4'> ";
                    div_adminIcons.InnerHtml += "<div>";
                    div_adminIcons.InnerHtml += "<a href='../Modulo3/ListarPersonalInvolucrado.aspx'>";
                    div_adminIcons.InnerHtml += "<div class='col-sm-offset-5'>";
                    div_adminIcons.InnerHtml += "<img  src='../../../img/Icons/modulo3.png'>";
                    div_adminIcons.InnerHtml += "</div>";
                    div_adminIcons.InnerHtml += "<p class='text-center'>Gestión de involucrados</p>";
                    div_adminIcons.InnerHtml += " </a>";
                    div_adminIcons.InnerHtml += "</div>";
                    div_adminIcons.InnerHtml += "<div>";
                    div_adminIcons.InnerHtml += "<a href='../Modulo6/Listar.aspx'>";
                    div_adminIcons.InnerHtml += "<br />";
                    div_adminIcons.InnerHtml += "<br />";
                    div_adminIcons.InnerHtml += "<br />";
                    div_adminIcons.InnerHtml += "<div class='col-sm-offset-5'>";
                    div_adminIcons.InnerHtml += "<img  src='../../../img/Icons/modulo6.png' />";
                    div_adminIcons.InnerHtml += "</div>";
                    div_adminIcons.InnerHtml += "<p class='text-center'>Gestión de casos de uso</p>";
                    div_adminIcons.InnerHtml += " </a>";
                    div_adminIcons.InnerHtml += "</div>";
                    div_adminIcons.InnerHtml += "<br />";
                    div_adminIcons.InnerHtml += "<br />";
                    div_adminIcons.InnerHtml += "<div>";
                    div_adminIcons.InnerHtml += " <a  href='../Modulo8/ConsultarMinuta.aspx'>";
                    div_adminIcons.InnerHtml += "<div class='col-sm-offset-5'>";
                    div_adminIcons.InnerHtml += "<img  src='../../../img/Icons/modulo8.png' />";
                    div_adminIcons.InnerHtml += "</div>";
                    div_adminIcons.InnerHtml += "<p class='text-center'>Gestión de minutas</p>";
                    div_adminIcons.InnerHtml += "</a>";
                    div_adminIcons.InnerHtml += "</div>";
                    div_adminIcons.InnerHtml += "</div>";
                    div_adminIcons.InnerHtml += " <div class='col-sm-4'>";
                    div_adminIcons.InnerHtml += "<div>";
                    div_adminIcons.InnerHtml += "<a href='../Modulo4/ListaProyectos.aspx'>";
                    div_adminIcons.InnerHtml += "<div class='col-sm-offset-5'>";
                    div_adminIcons.InnerHtml += "<img  src='../../../img/Icons/modulo4.png' />";
                    div_adminIcons.InnerHtml += "</div>";
                    div_adminIcons.InnerHtml += "<p class='text-center'>Gestión de proyectos</p>";
                    div_adminIcons.InnerHtml += "</a>";
                    div_adminIcons.InnerHtml += "</div>";
                    div_adminIcons.InnerHtml += "<br />";
                    div_adminIcons.InnerHtml += "<br />";
                    div_adminIcons.InnerHtml += "<br />";
                    div_adminIcons.InnerHtml += "<div>";
                    div_adminIcons.InnerHtml += "<a href='../Modulo7/ListarUsuarios.aspx'>";
                    div_adminIcons.InnerHtml += "<div class='col-sm-offset-5'>";
                    div_adminIcons.InnerHtml += "<img  src='../../../img/Icons/modulo7.png' />";
                    div_adminIcons.InnerHtml += "</div>";
                    div_adminIcons.InnerHtml += "<p class='text-center'>Gestión de roles y usuarios</p>";
                    div_adminIcons.InnerHtml += "</a>";
                    div_adminIcons.InnerHtml += "</div>";
                    div_adminIcons.InnerHtml += "</div>";
                    div_adminIcons.InnerHtml += "</div>";
                }

            }
        }