Ayuda - guardar historial de lo que hace un usuario [C#]

Iniciado por crifesma, 1 Septiembre 2010, 17:08 PM

0 Miembros y 2 Visitantes están viendo este tema.

crifesma

Cita de: [D4N93R] en  1 Septiembre 2010, 19:40 PM
Una pregunta, Esta aplicación que estás haciendo va en un ambiente productivo, es decir, va a funcionar dentro de una empresa?

Es de doble función :P estoy aprendiendo y si me sale bien va a ser un producto. ya se porque izo esa pregunta.

me imagino que bloqueara el post :( bueno.

raul338

Porque haces dos metodos que hacen lo mismo ? mejor haz uno, con un parametro mas, y que lo guarde en la tabla :P
Algo asi
Código (csharp) [Seleccionar]

SqlCommand query = new SqlCommand("Insert into SeguimientoUsuarios" +
            "(Usuario,Fecha,Actividad) Values('" + usuario + "','" + fecha + "','"
                + actividad + "');", conexion, " + nusuario +);

siendo nusuario 1 o 2 o depende de tu necesidad

Cita de: crifesma en  1 Septiembre 2010, 20:49 PM
Es de doble función :P estoy aprendiendo y si me sale bien va a ser un producto. ya se porque izo esa pregunta.
Pues deberias reforzarlo mas, asi es mas "confiable y profesional" ;)

Cita de: crifesma en  1 Septiembre 2010, 20:49 PM
me imagino que bloqueara el post :( bueno.
:huh: y eso porque ? no haz hecho nada "malo" :)

crifesma

Cita de: raul338 en  1 Septiembre 2010, 20:59 PM

Cita de: crifesma en  1 Septiembre 2010, 20:49 PM
Es de doble función :P estoy aprendiendo y si me sale bien va a ser un producto. ya se porque izo esa pregunta.
Pues deberias reforzarlo mas, asi es mas "confiable y profesional" ;)


me imagino que cuando hablas de reforzar dices sobre la seguridad??? la verdad tienes la razon.

si hablas de la forma en que programa al final depuro todo porque ya tendría mayor conocimiento y me daría cuenta de cosas mejores.

osea el proceso de creacion es me estudio y al final lo revison y miro que cosas se pueden mejorar.

bueno tienes razón por la de las funciones. la cambiare.

aun no me dicen con que funcion o clase o metodo puedo identificar cada usuario y saber que boton presionan o activan cada uno. solo necesito eso, un ejemplo. me dijeron que con un currentthread se podría. no se.


[D4N93R]

Hola,

Te recomiendo sinceramente que primero sepas bien los fundamentos básicos antes de aventurarte a hacer una aplicación mediana-grande. Por ejemplo, una calculadora, conocer bien los procedimientos CRUD, saber como funciona el .net framework, investigar un poco más sobre BBDD, Gestores de BBDD, etc.

Por último leer conceptos de seguridad tanto para aplicaciones en .Net como conceptos en general.

Un saludo!

PD: El post no se va a cerrar, no hay problema en que quieras hacer un software y luego venderlo, si a eso te referías. :)

raul338

Ademas de la seguridad, me referia a la integridad de la aplicacion

En cuanto a lo del usuario...  CurrentThread No tiene nada que ver :P

Código (csharp) [Seleccionar]

((Principal)this.MdiParent).usuarioHabilitado(true);
// ACA ACTUALIZAMOS EL HISTORIAL
seguirUsuario(usuario, DateTime.Now, "Se logueo"); // ES UN EJEMPLO
this.Close();
// .................
       public void seguirUsuario(string usuario, string fecha, string actividad)
       {
           conexion = new SqlConnection(@"Data Source=|DataDirectory|\\Principal.sdf");

           conexion.Open();

           SqlCommand query = new SqlCommand("Insert into SeguimientoUsuarios(Usuario,Fecha,Actividad) Values('" + usuario + "','"+ fecha + "','" + actividad + "');", conexion);
       }


Es un ejemplo :P

crifesma

Cita de: [D4N93R] en  1 Septiembre 2010, 21:31 PM
Hola,

Te recomiendo sinceramente que primero sepas bien los fundamentos básicos antes de aventurarte a hacer una aplicación mediana-grande. Por ejemplo, una calculadora, conocer bien los procedimientos CRUD, saber como funciona el .net framework, investigar un poco más sobre BBDD, Gestores de BBDD, etc.

Por último leer conceptos de seguridad tanto para aplicaciones en .Net como conceptos en general.

Un saludo!

PD: El post no se va a cerrar, no hay problema en que quieras hacer un software y luego venderlo, si a eso te referías. :)

como te dijera. a medida de que los problemas resulta voy averiguando por toda la internet sobre el tema me instruyo y luego creo la parte código. así e estado aprendiendo, suena como raro pero me a funcionado, no se de todo pero lo poquitico que se creo que lo e aprendido bien. con respeto a la seguridad no lo había visto muy importante ya que como el programa se crea para un empresa especifica y conozco que tanto intentaran usurpar en e programa y se que no seria muchas.

la verdad no e averiguado nada sobre el tema. pero como dije antes lo comenzare a hacer.

los codigos que les e pasado son una pequeña parte de todo lo que ya tengo creado en la aplicación.

Cita de: raul338 en  1 Septiembre 2010, 21:37 PM
Ademas de la seguridad, me referia a la integridad de la aplicacion

En cuanto a lo del usuario...  CurrentThread No tiene nada que ver :P

Código (csharp) [Seleccionar]

((Principal)this.MdiParent).usuarioHabilitado(true);
// ACA ACTUALIZAMOS EL HISTORIAL
seguirUsuario(usuario, DateTime.Now, "Se logueo"); // ES UN EJEMPLO
this.Close();
// .................
        public void seguirUsuario(string usuario, string fecha, string actividad)
        {
            conexion = new SqlConnection(@"Data Source=|DataDirectory|\\Principal.sdf");

            conexion.Open();

            SqlCommand query = new SqlCommand("Insert into SeguimientoUsuarios(Usuario,Fecha,Actividad) Values('" + usuario + "','"+ fecha + "','" + actividad + "');", conexion);
        }


Es un ejemplo :P

sigues sin entenderme.

imaginen que hay dos usuarios logueados , uno se metio en el recibo de la empresas muñequitos y el otro entro a los recibos de la empresa soldados. que codigo utilizaria para identificar cual usuario entro y cada recibo. se que el evento o metodo lo pondria sea en el boton. pero que como sabria el programa cual de los dos usuarios dio click el 1 o el 2.

raul338

crifesma, no ves la abstraccion, en usuario podes poner si es uno o dos. Tu problema no es ese, sino que tenes que obtener el dato de que numero es, por lo que veo, estas poniendolo un if (cosa que no entiendo porque lo haces asi)

pero bueno, puedes poner un "if (usuario2 = '')" cargas usuario1 o usuario2, depende, tu tienes que buscarte la solucion :P

[D4N93R]

Según tu vía entonces, me voy a poner a desarrollar un SO, y voy aprendiendo onthefly?

Pues, puede que funcione, pero te repito que no es la manera, yo soy trainer, es decir, imparto clases de programación, por lo cual se bien la diferencia entre aprender bien la base y luego aventurarse en algo más profundo; a por ejemplo,  lanzarse por un barranco y luego ponerse el paracaídas :)

Un saludo!

crifesma

Cita de: raul338 en  1 Septiembre 2010, 22:08 PM
crifesma, no ves la abstraccion, en usuario podes poner si es uno o dos. Tu problema no es ese, sino que tenes que obtener el dato de que numero es, por lo que veo, estas poniendolo un if (cosa que no entiendo porque lo haces asi)

pero bueno, puedes poner un "if (usuario2 = '')" cargas usuario1 o usuario2, depende, tu tienes que buscarte la solucion :P

realmente no entiendo. como puse antes le asigno acada usuario un una identificacion en este caso usuario1 o usuario2 con el if.

lo que no se es que cuando quiera guardar el registro de la actividad como saber quien activo el boton el usuario 1 o el usuario2, estoy muerto con eso :P.

Cita de: [D4N93R] en  1 Septiembre 2010, 22:11 PM
Según tu vía entonces, me voy a poner a desarrollar un SO, y voy aprendiendo onthefly?

Pues, puede que funcione, pero te repito que no es la manera, yo soy trainer, es decir, imparto clases de programación, por lo cual se bien la diferencia entre aprender bien la base y luego aventurarse en algo más profundo; a por ejemplo,  lanzarse por un barranco y luego ponerse el paracaídas :)

Un saludo!

quisiera saber para ti cuales son las base de la programacion, para mi es tener la logica y entender como funciona las ordenes y lo que busco de cada una. luego de eso aprender el lenguaje de programacion como tal (c# en este caso) es lo que se puede aprender a medida que vas desarollando la aplicacion.

digo esto porque el ejemplo del barranco es exagerado.

igual que con desarrollar un S.O. diría que es algo exagerado.
esto d apara un debate muy largo y creo que se crearían asperezas entre los dos y eso no es lo que busco yo.

solo busco responder a la pregunta que le formulo a raul338. como saber cual de los usuarios activa o ejecuta un boton.

[D4N93R]

Pues yo diría que desarrollar una aplicación multiusuario es exagerado también hermano. Lo del barranco fue un ejemplo :P

Las bases que debes de tener para desarrollar una aplicación real deben ser bien sólidas, y lo vas a lograr aprendiendo granularmente.

EL framework te va a ayudar mucho en esto, puedes ir aprendiendo namespace por namespace. System.Data, luego System.Xml y así.

Por ejemplo la conexión que tienes nunca mandas a ejecutar el SqlCommand..
Otra cosa es que si aprendes en el camino, si te das cuenta de que hay casos que puedes re-usar la conexión o usar clases en algún procedimiento vas a reescribir gran parte de la aplicación, y luego vas a tener que enfrentarte a un código spaghetti :)

Te recomiendo este enlace: http://www.csharp-station.com/Tutorials/AdoDotNet/lesson01.aspx

Saludos!