コード例 #1
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);
        }
コード例 #2
0
ファイル: DAOUsuario.cs プロジェクト: samgville/totem
        /// <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;
            }
        }
コード例 #3
0
ファイル: PruebaComando.cs プロジェクト: samgville/totem
        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));
        }
コード例 #4
0
        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();
        }
コード例 #5
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);
        }
コード例 #6
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);
            }
        }
コード例 #7
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);
        }
コード例 #8
0
        /// <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);
            }
        }
コード例 #9
0
        /// <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)
            {
            }
        }
コード例 #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);
        }
コード例 #11
0
ファイル: PresentadorClave.cs プロジェクト: samgville/totem
        /// <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);
            }
        }
コード例 #12
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);
                }
            }
        }
コード例 #13
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);
            }
        }
コード例 #14
0
        public override Entidad Ejecutar(List <string> parametro)
        {
            try
            {
                if (!captchaActivo)
                {
                    intentos++;
                }
                FabricaEntidades fabricaEntidades = new FabricaEntidades();
                Entidad          usuario          = fabricaEntidades.ObtenerUsuario();
                ((Usuario)usuario).Username = parametro[0];
                ((Usuario)usuario).Clave    = parametro[1];
                ((Usuario)usuario).CalcularHash();
                FabricaDAOSqlServer fabricaDao = new FabricaDAOSqlServer();
                IDaoLogin           idaoLogin  = fabricaDao.ObtenerDaoLogin();
                usuario       = idaoLogin.ValidarUsuarioLogin(((Usuario)usuario));
                intentos      = 0;
                captchaActivo = false;
                if (usuario != null && ((Usuario)usuario).Nombre != null && ((Usuario)usuario).Nombre != "")
                {
                    return(usuario);
                }
                else
                {
                    ExcepcionesTotem.Modulo1.LoginErradoException excep = new ExcepcionesTotem.Modulo1.LoginErradoException(
                        RecursosComandoModulo1.Codigo_Login_Errado,
                        RecursosComandoModulo1.Mensaje_Login_Errado, new Exception());
                    ExcepcionesTotem.Logger.EscribirError(this.GetType().Name,
                                                          excep);

                    throw excep;
                }
            }
            catch (ExcepcionesTotem.Modulo1.LoginErradoException ex)
            {
                if (intentos >= Convert.ToInt32(RecursosComandoModulo1.Cantidad_Intentos_Permitidos))
                {
                    ExcepcionesTotem.Logger.EscribirError(this.GetType().Name,
                                                          ex);

                    throw ex;
                }
                else
                {
                    ExcepcionesTotem.Logger.EscribirError(this.GetType().Name,
                                                          ex);

                    throw ex;
                }
            }
            catch (ExcepcionesTotem.Modulo1.UsuarioVacioException ex)
            {
                if (intentos >= Convert.ToInt32(RecursosComandoModulo1.Cantidad_Intentos_Permitidos))
                {
                    ExcepcionesTotem.Logger.EscribirError(this.GetType().Name,
                                                          ex);

                    throw ex;
                }
                else
                {
                    ExcepcionesTotem.Logger.EscribirError(this.GetType().Name,
                                                          ex);

                    throw ex;
                }
            }
            catch (ExcepcionesTotem.ExceptionTotemConexionBD ex)
            {
                if (intentos >= Convert.ToInt32(RecursosComandoModulo1.Cantidad_Intentos_Permitidos))
                {
                    ExcepcionesTotem.Logger.EscribirError(this.GetType().Name,
                                                          ex);

                    throw ex;
                }
                else
                {
                    ExcepcionesTotem.Logger.EscribirError(this.GetType().Name,
                                                          ex);

                    throw ex;
                }
            }
            catch (ExcepcionesTotem.Modulo1.ParametroInvalidoException ex)
            {
                ExcepcionesTotem.Logger.EscribirError(this.GetType().Name,
                                                      ex);

                throw ex;
            }
        }
コード例 #15
0
ファイル: Default.aspx.cs プロジェクト: samgville/totem
        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>";
                }
            }
        }
コード例 #16
0
ファイル: PresentadorCorreo.cs プロジェクト: samgville/totem
        /// <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;
                }
            }
        }
コード例 #17
0
 public void ValidarParametrosNulosLogin()
 {
     Usuario usuarioPrueba = (Usuario)fabricaEntidades.ObtenerUsuario();
     Entidad salida        = daoLogin.ValidarUsuarioLogin(usuarioPrueba);
 }