/// <summary> /// /// </summary> /// <param name="oUsuario"></param> public void insertarUsuario(SIS.ENTIDAD.Usuario oUsuario) { /* * string passHasheada; * string digiVerificador; * string IdHASH = "HASH"; * // passHasheada = interfazHash.obtenerHash(oUsuario.password) * // oUsuario.password = passHasheada * * // digiVerificador = interfazHash.obtenerHashUsuario(oUsuario) * // oUsuario.digitoVerificador = digiVerificador * // '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' * try * { * passHasheada = interfazHash.obtenerHash(oUsuario.password); * oUsuario.password = passHasheada; * * digiVerificador = interfazHash.obtenerHashUsuario(oUsuario); * oUsuario.digitoVerificador = digiVerificador; * } * catch (Exception ex) * { * interfazNegocioBitacora.registrarEnBitacora_BLL(IdHASH, ex); * } * // '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' * List<BE.SIS.ENTIDAD.Usuario> listaUsuarios = new List<BE.SIS.ENTIDAD.Usuario>(); * DAL.SIS.DATOS.DALUsuario oDalUsuaio = new DAL.SIS.DATOS.DALUsuario(); * listaUsuarios = oDalUsuaio.obtenerTablaUsuario(); * if (listaUsuarios.Count == 0) * { * BE.SIS.ENTIDAD.Usuario oUsuarioColumnHash = new BE.SIS.ENTIDAD.Usuario(); * oUsuarioColumnHash.idUsuario = 1; * oUsuarioColumnHash.usuario = "a"; * oUsuarioColumnHash.password = "******"; * oUsuarioColumnHash.legajo = "a"; * oUsuarioColumnHash.idioma = true; * listaUsuarios.Add(oUsuarioColumnHash); * } * * listaUsuarios.Add(oUsuario); * * List<BE.SIS.ENTIDAD.Usuario> listaUsuariosConDigitosVerif = new List<BE.SIS.ENTIDAD.Usuario>(); * listaUsuariosConDigitosVerif = interfazHash.calcularHashTablaUsuario(listaUsuarios); * * oDalUsuaio.insertarUsuario(listaUsuariosConDigitosVerif); * * DAL.SIS.DATOS.DALUsuarioGrupo oDalUsuarioGrupo = new DAL.SIS.DATOS.DALUsuarioGrupo(); * List<BE.SIS.ENTIDAD.Grupo> listadoGruposAUsuario = oUsuario.listadoGrupos; * IEnumerator<BE.SIS.ENTIDAD.Grupo> enu = listadoGruposAUsuario.GetEnumerator(); * while (enu.MoveNext()) * { * BE.SIS.ENTIDAD.UsuarioGrupo oUsuarioGrupo = new BE.SIS.ENTIDAD.UsuarioGrupo(); * oUsuarioGrupo.idUsuario = oUsuario.idUsuario; * oUsuarioGrupo.idGrupo = enu.Current.idGrupo; * oDalUsuarioGrupo.insertarUsuarioGrupo(oUsuarioGrupo); * } */ }
/// <summary> /// /// </summary> /// <param name="oUsuario"></param> /// <returns></returns> public string obtenerHashUsuario(SIS.ENTIDAD.Usuario oUsuario) { string digiVerif = "ERROR"; string cadena; cadena = oUsuario.IdUsuario.ToString() + oUsuario.usuario + oUsuario.Password + oUsuario.Legajo.ToString() + oUsuario.Idioma.ToString(); digiVerif = this.obtenerHash(cadena); return(digiVerif); }
/// <summary> /// /// </summary> /// <param name="idUsuario"></param> /// <returns></returns> public SIS.ENTIDAD.Usuario obtenerUsuario(int idUsuario) { // Instancio el usuario que voy a pasar por parametro SIS.ENTIDAD.Usuario oUsuario = new SIS.ENTIDAD.Usuario(); /* * * // Instancio DAL Usuario para obtener el usuario * DAL.SIS.DATOS.DALUsuario oDalUsuario = new DAL.SIS.DATOS.DALUsuario(); * oUsuario = oDalUsuario.obtenerUsuarioPorId(idUsuario); * * // Instancio el objeto UsuarioGrupo para buscar los grupos de ese usuario * DAL.SIS.DATOS.DALUsuarioGrupo oDalUsuarioGrupo = new DAL.SIS.DATOS.DALUsuarioGrupo(); * List<BE.SIS.ENTIDAD.UsuarioGrupo> listaUsuarioGrupo; * listaUsuarioGrupo = oDalUsuarioGrupo.obtenerGrupoPorIdUsuario(idUsuario); * * // Instancio una lista de grupos para el usuario * List<BE.SIS.ENTIDAD.Grupo> listaGrupo = new List<BE.SIS.ENTIDAD.Grupo>(); * List<BE.SIS.ENTIDAD.Permiso> listaPermisos = new List<BE.SIS.ENTIDAD.Permiso>(); * * // Recorro la lista y obtengo los objetos Grupo * IEnumerator<BE.SIS.ENTIDAD.UsuarioGrupo> enu = listaUsuarioGrupo.GetEnumerator(); * while (enu.MoveNext()) * { * BE.SIS.ENTIDAD.Grupo oGrupo = new BE.SIS.ENTIDAD.Grupo(); * DAL.SIS.DATOS.DALGrupo oDalGrupo = new DAL.SIS.DATOS.DALGrupo(); * oGrupo = oDalGrupo.obtenerGrupoPorId(enu.Current.idGrupo); * * DAL.SIS.DATOS.DALGrupoPermiso oDalGrupoPermiso = new DAL.SIS.DATOS.DALGrupoPermiso(); * List<BE.SIS.ENTIDAD.GrupoPermiso> listadoGrupoPermisos = new List<BE.SIS.ENTIDAD.GrupoPermiso>(); * listadoGrupoPermisos = oDalGrupoPermiso.obtenerPermisosPorIdGrupo(oGrupo.idGrupo); * * IEnumerator<BE.SIS.ENTIDAD.GrupoPermiso> enu2 = listadoGrupoPermisos.GetEnumerator(); * while (enu2.MoveNext()) * { * DAL.SIS.DATOS.DALPermiso oDalPermiso = new DAL.SIS.DATOS.DALPermiso(); * BE.SIS.ENTIDAD.Permiso oPermiso; * oPermiso = oDalPermiso.obtenerPermisoPorId(enu2.Current.idPermiso); * listaPermisos.Add(oPermiso); * oGrupo.listadoPermisos = listaPermisos; * } * listaGrupo.Add(oGrupo); * } * oUsuario.listadoGrupos = listaGrupo; */ return(oUsuario); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnEnviar_Click(object sender, EventArgs e) { string nombre = txtNombre.Text; string descripcion = txtDescripcion.Text; bool estado = false; string tipoConsulta = ""; //ARQ.BASE - ACA YA TENEMOS EL USUARIO CON TODOS SUS DATOS SIS.ENTIDAD.Usuario oUsuario = new SIS.ENTIDAD.Usuario(); oUsuario = interfazNegocioUsuario.ObtenerUsuario(System.Convert.ToInt16(idUsuario)); if (oUsuario.IdUsuario != null) { if (rdaTecnica.Checked == true) { tipoConsulta = "CONSULTA TECNICA"; } else if (rdaAdministrativa.Checked == true) { tipoConsulta = "CONSULTA ADMINISTRATIVA"; } else if (rdaSugerencia.Checked == true) { tipoConsulta = "CONSULTA SUGERENCIA"; } //ARQ.BASE - SETEO ESTADOS PARA USUARIO Session["loginEstado"] = 0; Session["usuarioOk"] = 0; //ARQ.BASE - ENVIAR POR EMAIL LA CONSULTA DEL USUARIO estado = interfazNegocio.EnviarConsulta(nombre, oUsuario.Email, tipoConsulta, descripcion); //ARQ.BASE - FEEDBACK POSITIVO Response.Redirect("isOk.aspx"); } else { //ARQ.BASE - FEEDBACK NEGATIVO Session["usuarioOk"] = 1; Response.Redirect("isError.aspx"); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnLogin_Click(object sender, EventArgs e) { var resultadoLogin = 0; SIS.ENTIDAD.Usuario user = new SIS.ENTIDAD.Usuario(); user.usuario = txtUsuario.Text; user.Password = txtContrasenia.Text; if (txtUsuario.Text != null && txtContrasenia.Text != null) { //OBTENGO ID DEL USER SI EXISTE resultadoLogin = interfazNegocioUsuario.login(user.usuario, user.Password); } //EVALUO EL RESULTDO DEL LOGIN | SI ES 0 NO EXISTE -> CREAR USUARIO if (resultadoLogin != 0) { //BUSCO EL USUARIO POR SU ID var usuario = interfazNegocioUsuario.obtenerUsuario(resultadoLogin); //GUARDO EL USUARIO CONECTADO EN SESSION Session["Usuario"] = usuario.usuario; Session["UsuarioId"] = usuario.IdUsuario; Session["UsuarioLoginFecha"] = DateTime.Now; Session["UsuarioHost"] = Request.UserHostAddress; Session["UsuarioAgent"] = Request.Browser.Browser + "-" + Request.Browser.Version; //ME GUARDO LOS GRUPOS PARA EL USUARIO LOGEADO List <SIS.ENTIDAD.Grupo> lstGrupos = usuario.ListadoGrupos; //NIVEL DE ACCESO DEL USUARIO LOGEADO var nVisibilidad = ""; foreach (SIS.ENTIDAD.Grupo g in lstGrupos) { //TOMO LA VISIBILIDAD ASIGNADA A DICHO USUARIO nVisibilidad = g.grupo; } // CREO UN TICKET DE AUTENTIFICACION Y LO ENCRYPTO: ARQ.BASE.WEBSEGURITY FormsAuthenticationTicket ticket = new FormsAuthenticationTicket( 1, // Ticket version user.usuario, // Username associated with ticket DateTime.Now, // Date/time issued DateTime.Now.AddMinutes(30), // Date/time to expire true, // "true" for a persistent user cookie nVisibilidad, // User-data, in this case the roles FormsAuthentication.FormsCookiePath); // Path cookie valid for // Encrypt the cookie using the machine key for secure transport string hash = FormsAuthentication.Encrypt(ticket); HttpCookie loginCookie = new HttpCookie( FormsAuthentication.FormsCookieName, // Name of auth cookie hash); // Hashed ticket // Set the cookie's expiration time to the tickets expiration time if (ticket.IsPersistent) { loginCookie.Expires = ticket.Expiration; } // Add the cookie to the list for outgoing response Response.Cookies.Add(loginCookie); if (nVisibilidad == "Admin") { //SI USUARIO ADMIN -> PANTALLA ADMIN Session["loginEstado"] = 0; Response.Redirect("webmaster.aspx"); } else { //SI USUARIO ES JERARQUICO O USUARIO -> PANTALLA HOME Session["loginEstado"] = 0; Response.Redirect("home.aspx"); } } else { //MOSTRAR PANTALLA LOGIN | AVISAR USER INVALIDO Session["loginEstado"] = 1; FormsAuthentication.SignOut(); Response.Redirect("login.aspx"); } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnGuardar_Click(object sender, EventArgs e) { SIS.ENTIDAD.Usuario oUsuario = new SIS.ENTIDAD.Usuario(); oUsuario.IdUsuario = txtIdUsuario.Text; string passwordDefualt = "4gY7-k"; if (oUsuario.IdUsuario != "") { oUsuario.NombreApellido = txtNombreApellido.Text; //SETEAMOS LA FECHA string fechaNacimiento = txtFecNac.Text; string dia = fechaNacimiento.Substring(0, 2); string mes = fechaNacimiento.Substring(3, 2); string año = fechaNacimiento.Substring(6, 4); oUsuario.FechaNacimiento = dia + mes + año; //SETEAMOS LA CATEGORIA string catMoto = txtCatMoto.Text; switch (catMoto) { case "0cc - 150cc": oUsuario.CategoriaMoto = "1"; break; case "150cc - 250cc": oUsuario.CategoriaMoto = "2"; break; case "+300cc": oUsuario.CategoriaMoto = "3"; break; default: oUsuario.CategoriaMoto = "999"; break; } oUsuario.usuario = txtUsuario.Text; string passwordOld = Session["passwowrdOld"].ToString(); if (passwordOld != txtPassword.Text) { oUsuario.Password = txtPassword.Text; } else { oUsuario.Password = passwordDefualt; } oUsuario.Email = txtEmail.Text; //SETEAMOS EL ESTADO if (rdaActivo.Checked) { oUsuario.Estado = "Activo"; } else { oUsuario.Estado = "Inactivo"; } try { Session["guardadoEstado"] = 1; //ARQ.BASE MULTIUSUARIO | ACTUALIZAMOS EL USUARIO interfazNegocioUsuario.ActualizarUsuario(oUsuario); } catch (Exception ex) { Session["guardadoEstado"] = 2; SIS.EXCEPCIONES.UIExcepcion oExUI = new SIS.EXCEPCIONES.UIExcepcion(ex.Message); interfazNegocioBitacora.RegistrarEnBitacora_UI(oUsuario.IdUsuario, oExUI); } } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnBusqueda_Click(object sender, EventArgs e) { SIS.ENTIDAD.Usuario oUsuario = new SIS.ENTIDAD.Usuario(); string idUsuario = txtIdUsuario.Text; HabilitarEdiciones(); //ARQ.BASE MULTIUSUARIO | OBTNGO EL USUARIO A PARTIR DE SU ID oUsuario = interfazNegocioUsuario.ObtenerUsuario(System.Convert.ToInt16(idUsuario)); if (oUsuario.IdUsuario != null) { txtIdUsuario.Text = oUsuario.IdUsuario; txtNombreApellido.Text = oUsuario.NombreApellido; //MUESTRO LA FECHA DE NACIMIENTO string dia = oUsuario.FechaNacimiento.Substring(0, 2); string mes = oUsuario.FechaNacimiento.Substring(2, 2); string año = oUsuario.FechaNacimiento.Substring(4, 4); txtFecNac.Text = dia + "-" + mes + "-" + año; //MUESTO LA CATEGORIA DE MOTO ASOCIADA AL USUARIO string catMoto = oUsuario.CategoriaMoto; switch (catMoto) { case "1": txtCatMoto.Text = "0cc - 150cc"; break; case "2": txtCatMoto.Text = "150cc - 250cc"; break; case "3": txtCatMoto.Text = "+300cc"; break; default: txtCatMoto.Text = "NO TIENE MOTO ASOCIADA"; break; } txtUsuario.Text = oUsuario.usuario; Session["passwowrdOld"] = oUsuario.Password; txtPassword.Text = oUsuario.Password; txtEmail.Text = oUsuario.Email; //SELECCIONO EL ESTADO DEL USUARIO SI ES ACTIVO O INACTIVO string estado = oUsuario.Estado; if (estado == "Activo") { rdaActivo.Checked = true; rdaInactivo.Checked = false; } else { rdaActivo.Checked = false; rdaInactivo.Checked = true; } //BUSQUEDA EXITOSA | EXISTE USUARIO Session["busquedaEstado"] = 0; } else { //BUSQUEDA FALLIDA | NO EXISTE USUARIO Session["busquedaEstado"] = 1; } }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Page_Load(object sender, EventArgs e) { if (Session["loginUsuario"] != null) { if (txtNombreApellido.Text == "") { Session["guardadoEstado"] = 0; string idUsuario = Session["UsuarioId"].ToString(); Session["guardadoPerfil"] = interfazNegocio.ObtenerCodigoMembresiaUsuario(idUsuario); SIS.ENTIDAD.Usuario oUsuario = new SIS.ENTIDAD.Usuario(); oUsuario = interfazNegocioUsuario.ObtenerUsuario(System.Convert.ToInt16(idUsuario)); //GUARDO EL ESTADO DEL USUARIO if (oUsuario.Estado == "Activo") { Session["estadoUsuario"] = 1; Session["estadoUsuarioActual"] = oUsuario.Estado; } else { Session["estadoUsuario"] = 0; Session["estadoUsuarioActual"] = oUsuario.Estado; } txtNombreApellido.Text = oUsuario.NombreApellido; //MUESTRO LA FECHA DE NACIMIENTO string dia = oUsuario.FechaNacimiento.Substring(0, 2); string mes = oUsuario.FechaNacimiento.Substring(2, 2); string año = oUsuario.FechaNacimiento.Substring(4, 4); txtFecNac.Text = dia + "-" + mes + "-" + año; //MUESTO LA CATEGORIA DE MOTO ASOCIADA AL USUARIO string catMoto = oUsuario.CategoriaMoto; switch (catMoto) { case "1": txtCatMoto.Text = "0cc - 150cc"; break; case "2": txtCatMoto.Text = "150cc - 250cc"; break; case "3": txtCatMoto.Text = "+300cc"; break; default: txtCatMoto.Text = "NO TIENE MOTO ASOCIADA"; break; } txtUsuario.Text = oUsuario.usuario; Session["passwowrdOld"] = oUsuario.Password; txtPassword.Text = oUsuario.Password; txtEmail.Text = oUsuario.Email; } } else { Session.Clear(); FormsAuthentication.SignOut(); Response.Redirect("login.aspx"); } }