示例#1
0
        private void buttonGuardar_Click(object sender, EventArgs e)
        {
            int           documento          = 0;
            int           nro_calle_val      = 0;
            int           nro_piso_val       = 0;
            string        tipoDoc            = "";
            SHA256Managed encriptacionSha256 = new SHA256Managed();


            List <string> listaValidacion = new List <string>();

            //Validamos los campos obligatorios
            if (this.cliNombre.Text == String.Empty)
            {
                listaValidacion.Add("El campo Nombre es obligatorio");
            }

            if (this.cliApellido.Text == String.Empty)
            {
                listaValidacion.Add("El campo Apellido es obligatorio");
            }

            if (this.cliDni.Text == String.Empty)
            {
                listaValidacion.Add("El campo Dni es obligatorio");
            }

            if (this.cliEmail.Text == String.Empty)
            {
                listaValidacion.Add("El campo de Email es obligatorio");
            }

            if (this.cliTelefono.Text == String.Empty)
            {
                listaValidacion.Add("El campo de Telefono es obligatorio");
            }

            if (this.cliDireccion.Text == String.Empty)
            {
                listaValidacion.Add("El campo de Calle es obligatorio");
            }

            if (this.nroCalle.Text == String.Empty)
            {
                listaValidacion.Add("El campo de Numero de calle es obligatorio");
            }

            if (this.cuil.Text == String.Empty)
            {
                listaValidacion.Add("El campo de CUIL es obligatorio");
            }
            if (this.cliLocalidad.Text == String.Empty)
            {
                listaValidacion.Add("El campo Localidad es obligatorio");
            }
            if (this.cliCiudad.Text == String.Empty)
            {
                listaValidacion.Add("El campo Ciudad es obligatorio");
            }
            if (this.cliFechaNac.Text == String.Empty)
            {
                listaValidacion.Add("El campo Fecha de nacimiento es obligatorio");
            }


            //Valido los campos numericos
            try
            {
                documento = Convert.ToInt32(this.cliDni.Text);
            }
            catch
            {
                listaValidacion.Add("El Documento debe ser numerico");
            }

            try
            {
                nro_calle_val = Convert.ToInt32(this.nroCalle.Text);
            }
            catch
            {
                listaValidacion.Add("El Nro de calle debe ser numerico");
            }

            try
            {
                if (this.cliPiso.Text != String.Empty)
                {
                    nro_piso_val = Convert.ToInt32(this.cliPiso.Text);
                }
            }
            catch
            {
                listaValidacion.Add("El Piso debe ser numerico");
            }

            //Valido el formato del CUIL
            if (Tools.Validacion.validarCUIT(this.cuil.Text) == -1)
            {
                listaValidacion.Add("El CUIL esta mal formado");
            }

            //Muestro un mensaje con los datos mal cargados
            if (listaValidacion.Count > 0)
            {
                StringBuilder error = new StringBuilder();
                error.AppendLine("Por favor corrija los siguientes campos:");

                foreach (var i in listaValidacion)
                {
                    error.AppendLine(i);
                }

                MessageBox.Show(error.ToString());
                return;
            }

            //Verifico que el TELEFONO no este repetido
            System.Data.SqlClient.SqlCommand comDupTel = new System.Data.SqlClient.SqlCommand("LOS_GESTORES.sp_app_getUsuarioXTelefono");

            //Defino los parametros
            System.Data.SqlClient.SqlParameter pTel = new System.Data.SqlClient.SqlParameter("@telefono", cliTelefono.Text.Trim());
            comDupTel.Parameters.Add(pTel);

            if (this.id_usuario != -1)
            {
                System.Data.SqlClient.SqlParameter pid_usu = new System.Data.SqlClient.SqlParameter("@id_usuario", this.id_usuario);
                comDupTel.Parameters.Add(pid_usu);
            }

            // Abro la conexion
            AccesoDatos.getInstancia().abrirConexion();

            System.Data.SqlClient.SqlDataReader dupTel = AccesoDatos.getInstancia().ejecutaSP(comDupTel);

            if (dupTel.HasRows)
            {
                MessageBox.Show("Ya existe un usuario con ese numero de Telefono.");
                // Cierro la conexion
                dupTel.Close();
                AccesoDatos.getInstancia().cerrarConexion();
                return;
            }

            // Cierro la conexion
            dupTel.Close();
            AccesoDatos.getInstancia().cerrarConexion();


            //Verifico que el CUIT / CUIL no este repetido
            System.Data.SqlClient.SqlCommand comDupCUIT = new System.Data.SqlClient.SqlCommand("LOS_GESTORES.sp_app_getUsuarioXCUIT");

            //Defino los parametros
            System.Data.SqlClient.SqlParameter pcuit1 = new System.Data.SqlClient.SqlParameter("@cuit", cuil.Text.Trim());
            comDupCUIT.Parameters.Add(pcuit1);

            if (this.id_usuario != -1)
            {
                System.Data.SqlClient.SqlParameter pid_usu = new System.Data.SqlClient.SqlParameter("@id_usuario", this.id_usuario);
                comDupCUIT.Parameters.Add(pid_usu);
            }

            // Abro la conexion
            AccesoDatos.getInstancia().abrirConexion();

            System.Data.SqlClient.SqlDataReader dupCUIT = AccesoDatos.getInstancia().ejecutaSP(comDupCUIT);

            if (dupCUIT.HasRows)
            {
                MessageBox.Show("Ya existe un usuario con ese numero de CUIT - CUIL.");
                // Cierro la conexion
                dupCUIT.Close();
                AccesoDatos.getInstancia().cerrarConexion();
                return;
            }

            // Cierro la conexion
            dupCUIT.Close();
            AccesoDatos.getInstancia().cerrarConexion();


            //Verifico que el dni no este repetido
            System.Data.SqlClient.SqlCommand comDup = new System.Data.SqlClient.SqlCommand("LOS_GESTORES.sp_app_getClienteXTipoNroDoc");

            //Defino los parametros
            System.Data.SqlClient.SqlParameter p1 = new System.Data.SqlClient.SqlParameter("@tipo_doc", int.Parse(cliTipoDoc.SelectedValue.ToString()));
            comDup.Parameters.Add(p1);

            System.Data.SqlClient.SqlParameter p2 = new System.Data.SqlClient.SqlParameter("@nro_doc", documento);
            comDup.Parameters.Add(p2);

            if (this.id_usuario != -1)
            {
                System.Data.SqlClient.SqlParameter pid_usu = new System.Data.SqlClient.SqlParameter("@id_usuario", this.id_usuario);
                comDup.Parameters.Add(pid_usu);
            }


            // Abro la conexion
            AccesoDatos.getInstancia().abrirConexion();

            System.Data.SqlClient.SqlDataReader dup = AccesoDatos.getInstancia().ejecutaSP(comDup);

            if (dup.HasRows)
            {
                MessageBox.Show("Ya existe un usuario con ese tipo y numero de documento.");
                // Cierro la conexion
                dup.Close();
                AccesoDatos.getInstancia().cerrarConexion();
                return;
            }

            // Cierro la conexion
            dup.Close();
            AccesoDatos.getInstancia().cerrarConexion();

            ///////////////////////////////
            //Persisto el usuario cliente//
            ///////////////////////////////

            //Traigo los roles seleccionados usuario
            Usuario_Rol.SeleccionRol fRol = new FrbaCommerce.Usuario_Rol.SeleccionRol();
            fRol.ShowDialog();
            ArrayList roles = fRol.getRolesSeleccionados();

            if (roles.Count < 1)
            {
                return;
            }
            int id_usu_rol = -1;
            ///hasta aca roles


            string sql_qry          = "";
            string txt_confirmacion = "";

            if (this.id_usuario == -1)
            {
                // Nombre del SP para creacion
                sql_qry          = "LOS_GESTORES.sp_app_creaUsuarioCliente";
                txt_confirmacion = "Se ha creado el usuario correctamente";
            }
            else
            {
                // Nombre del SP para modificacion
                sql_qry          = "LOS_GESTORES.sp_app_modificaUsuarioCliente";
                txt_confirmacion = "Se ha modificado el usuario correctamente";
                // Para Rol
                id_usu_rol = this.id_usuario;
            }

            tipoDoc = this.cliTipoDoc.SelectedValue.ToString();

            //comando pasado como parametro
            System.Data.SqlClient.SqlCommand com = new System.Data.SqlClient.SqlCommand(sql_qry);

            //Defino los parametros y los agrego a la lista de parametros
            if (this.id_usuario == -1)
            {
                // Solo paso nombre usuario y pass si es un usuario nuevo
                // Los genero automaticamente
                string nombre_generado = "AUTO_" + this.cliTipoDoc.Text.Trim() + this.cliDni.Text.Trim();
                string pass_generada   = Convert.ToBase64String(encriptacionSha256.ComputeHash(System.Text.Encoding.UTF8.GetBytes("inicio1234")));;

                // Los agrego al txt de confirmacion
                txt_confirmacion += "\nUsuario: " + nombre_generado + "\nPass: inicio1234";

                //Fuerzo el cambio de pass
                System.Data.SqlClient.SqlParameter forzar_cambio = new System.Data.SqlClient.SqlParameter("@forzar", Convert.ToInt16(1));
                com.Parameters.Add(forzar_cambio);

                System.Data.SqlClient.SqlParameter nombre_usu = new System.Data.SqlClient.SqlParameter("@nombre_usu", nombre_generado);
                com.Parameters.Add(nombre_usu);

                System.Data.SqlClient.SqlParameter pass_usu = new System.Data.SqlClient.SqlParameter("@pass", pass_generada);
                com.Parameters.Add(pass_usu);
            }
            else
            {
                // Solo paso nombre id si es una modificacion
                System.Data.SqlClient.SqlParameter id_usu = new System.Data.SqlClient.SqlParameter("@id_usuario", this.id_usuario);
                com.Parameters.Add(id_usu);
            }

            System.Data.SqlClient.SqlParameter calle_usu = new System.Data.SqlClient.SqlParameter("@calle", this.cliDireccion.Text);
            com.Parameters.Add(calle_usu);

            System.Data.SqlClient.SqlParameter nro_calle_usu = new System.Data.SqlClient.SqlParameter("@nro_calle", nro_calle_val);
            com.Parameters.Add(nro_calle_usu);

            if (this.cliPiso.Text != String.Empty)
            {
                System.Data.SqlClient.SqlParameter piso_usu = new System.Data.SqlClient.SqlParameter("@piso", nro_piso_val);
                com.Parameters.Add(piso_usu);
            }

            System.Data.SqlClient.SqlParameter depto_usu = new System.Data.SqlClient.SqlParameter("@depto", this.cliDpto.Text);
            com.Parameters.Add(depto_usu);

            System.Data.SqlClient.SqlParameter cp_usu = new System.Data.SqlClient.SqlParameter("@cp", this.cliCodPostal.Text);
            com.Parameters.Add(cp_usu);

            System.Data.SqlClient.SqlParameter loc_usu = new System.Data.SqlClient.SqlParameter("@loc", this.cliLocalidad.Text);
            com.Parameters.Add(loc_usu);

            System.Data.SqlClient.SqlParameter ciudad_usu = new System.Data.SqlClient.SqlParameter("@ciudad", this.cliCiudad.Text);
            com.Parameters.Add(ciudad_usu);

            System.Data.SqlClient.SqlParameter mail_usu = new System.Data.SqlClient.SqlParameter("@mail", this.cliEmail.Text);
            com.Parameters.Add(mail_usu);

            System.Data.SqlClient.SqlParameter tipo_doc_usu = new System.Data.SqlClient.SqlParameter("@id_tipodoc", int.Parse(this.cliTipoDoc.SelectedValue.ToString()));
            com.Parameters.Add(tipo_doc_usu);

            System.Data.SqlClient.SqlParameter nro_doc_usu = new System.Data.SqlClient.SqlParameter("@nro_doc", documento);
            com.Parameters.Add(nro_doc_usu);

            System.Data.SqlClient.SqlParameter apellido_usu = new System.Data.SqlClient.SqlParameter("@apellido", this.cliApellido.Text);
            com.Parameters.Add(apellido_usu);

            System.Data.SqlClient.SqlParameter nombre_cli = new System.Data.SqlClient.SqlParameter("@nombre_cli", this.cliNombre.Text);
            com.Parameters.Add(nombre_cli);

            System.Data.SqlClient.SqlParameter fnac_usu = new System.Data.SqlClient.SqlParameter("@f_nac", this.cliFechaNac.Value);
            com.Parameters.Add(fnac_usu);

            System.Data.SqlClient.SqlParameter cuil_usu = new System.Data.SqlClient.SqlParameter("@cuil", this.cuil.Text);
            com.Parameters.Add(cuil_usu);

            System.Data.SqlClient.SqlParameter tel_usu = new System.Data.SqlClient.SqlParameter("@tel", cliTelefono.Text.Trim());
            com.Parameters.Add(tel_usu);


            // Abro la conexion
            AccesoDatos.getInstancia().abrirConexion();

            System.Data.SqlClient.SqlDataReader datos
                = AccesoDatos.getInstancia().ejecutaSP(com);

            // Asignacion de Roles
            if (id_usu_rol == -1)
            {
                datos.Read();
                id_usu_rol = datos.GetInt32(0);
            }

            //Cierro la conexion
            AccesoDatos.getInstancia().cerrarConexion();

            foreach (string id_rol in roles)
            {
                //Abro la conexion
                AccesoDatos.getInstancia().abrirConexion();

                System.Data.SqlClient.SqlCommand comRoles = new System.Data.SqlClient.SqlCommand("LOS_GESTORES.sp_app_setClientesRoles");

                System.Data.SqlClient.SqlParameter p1Rol = new System.Data.SqlClient.SqlParameter("@id_usuario", id_usu_rol);
                comRoles.Parameters.Add(p1Rol);

                System.Data.SqlClient.SqlParameter p2Rol = new System.Data.SqlClient.SqlParameter("@id_rol", Convert.ToInt32(id_rol));
                comRoles.Parameters.Add(p2Rol);

                System.Data.SqlClient.SqlDataReader rolReader = AccesoDatos.getInstancia().ejecutaSP(comRoles);

                //Cierro la conexion
                AccesoDatos.getInstancia().cerrarConexion();
            }


            MessageBox.Show(txt_confirmacion);
            this.Close();
        }
示例#2
0
        private void btnGrabar_Click(object sender, EventArgs e)
        {
            int nro_calle_val = 0;
            int nro_piso_val = 0;
            SHA256Managed encriptacionSha256 = new SHA256Managed();

            List<string> listaValidacion = new List<string>();

            //Validamos los campos obligatorios
            if (this.empRazSocial.Text == String.Empty)
            {
                listaValidacion.Add("El campo Razon social es obligatorio");
            }
            if (this.empMail.Text == String.Empty)
            {
                listaValidacion.Add("El campo Email es obligatorio");
            }
            if (this.empTelefono.Text == String.Empty)
            {
                listaValidacion.Add("El campo Telefono es obligatorio");
            }
            if (this.empDireccion.Text == String.Empty)
            {
                listaValidacion.Add("El campo Calle es obligatorio");
            }
            if (this.empNroCalle.Text == String.Empty)
            {
                listaValidacion.Add("El campo Nro. Calle es obligatorio");
            }
            if (this.empLocalidad.Text == String.Empty)
            {
                listaValidacion.Add("El campo Localidad es obligatorio");
            }
            if (this.ciudad.Text == String.Empty)
            {
                listaValidacion.Add("El campo Ciudad es obligatorio");
            }
            if (this.empCuit.Text == String.Empty)
            {
                listaValidacion.Add("El campo CUIT es obligatorio");
            }
            if (this.empContacto.Text == String.Empty)
            {
                listaValidacion.Add("El campo Nombre de contacto es obligatorio");
            }
            if (this.empFechaCre.Text == String.Empty)
            {
                listaValidacion.Add("El campo Fecha de creacion es obligatorio");
            }

            //Valido los campos numericos
            try
            {
                nro_calle_val = Convert.ToInt32(this.empNroCalle.Text);
            }
            catch
            {
                listaValidacion.Add("El Nro. de calle debe ser numerico");
            }

            try
            {
                if (this.empNroPiso.Text != String.Empty)
                    nro_piso_val = Convert.ToInt32(this.empNroPiso.Text);
            }
            catch
            {
                listaValidacion.Add("El Piso debe ser numerico");
            }

            //Valido el formato del CUIL
            if (Tools.Validacion.validarCUIT(this.empCuit.Text) == -1)
                listaValidacion.Add("El CUIL esta mal formado");

            //Muestro un mensaje con los datos mal cargados
            if (listaValidacion.Count > 0)
            {
                StringBuilder error = new StringBuilder();
                error.AppendLine("Por favor corrija los siguientes campos:");

                foreach (var i in listaValidacion)
                {
                    error.AppendLine(i);
                }

                MessageBox.Show(error.ToString());
                return;
            }

            ////////////////////////////////////////////////
            //Verifico que el CUIT / CUIL no este repetido//
            ////////////////////////////////////////////////
            System.Data.SqlClient.SqlCommand comDupCUIT = new System.Data.SqlClient.SqlCommand("LOS_GESTORES.sp_app_getUsuarioXCUIT");

            //Defino los parametros
            System.Data.SqlClient.SqlParameter pcuit1 = new System.Data.SqlClient.SqlParameter("@cuit", empCuit.Text.Trim());
            comDupCUIT.Parameters.Add(pcuit1);

            if (this.id_usuario != -1)
            {
                System.Data.SqlClient.SqlParameter pid_usu = new System.Data.SqlClient.SqlParameter("@id_usuario", this.id_usuario);
                comDupCUIT.Parameters.Add(pid_usu);
            }

            // Abro la conexion
            AccesoDatos.getInstancia().abrirConexion();

            System.Data.SqlClient.SqlDataReader dupCUIT = AccesoDatos.getInstancia().ejecutaSP(comDupCUIT);

            if (dupCUIT.HasRows)
            {
                MessageBox.Show("Ya existe un usuario con ese numero de CUIT - CUIL.");
                // Cierro la conexion
                dupCUIT.Close();
                AccesoDatos.getInstancia().cerrarConexion();
                return;
            }

            // Cierro la conexion
            dupCUIT.Close();
            AccesoDatos.getInstancia().cerrarConexion();

            /////////////////////////////////////////////////
            //Verifico que LA RAZON SOCIAL no este repetida//
            /////////////////////////////////////////////////
            System.Data.SqlClient.SqlCommand comDup = new System.Data.SqlClient.SqlCommand("LOS_GESTORES.sp_app_getEmpresaXRazon");

            //Defino los parametros
            System.Data.SqlClient.SqlParameter p1 = new System.Data.SqlClient.SqlParameter("@razon", empRazSocial.Text.Trim());
            comDup.Parameters.Add(p1);

            if (this.id_usuario != -1)
            {
                System.Data.SqlClient.SqlParameter pid_usu = new System.Data.SqlClient.SqlParameter("@id_usuario", this.id_usuario);
                comDup.Parameters.Add(pid_usu);
            }

            // Abro la conexion
            AccesoDatos.getInstancia().abrirConexion();

            System.Data.SqlClient.SqlDataReader dup = AccesoDatos.getInstancia().ejecutaSP(comDup);

            if (dup.HasRows)
            {
                MessageBox.Show("Ya existe un usuario con esa Razon Social.");
                // Cierro la conexion
                dup.Close();
                AccesoDatos.getInstancia().cerrarConexion();
                return;
            }

            // Cierro la conexion
            dup.Close();
            AccesoDatos.getInstancia().cerrarConexion();

            ////////////////////////
            // Persisto la Empresa//
            ////////////////////////

            //Traigo los roles seleccionados
            Usuario_Rol.SeleccionRol fRol = new FrbaCommerce.Usuario_Rol.SeleccionRol();
            fRol.ShowDialog();
            ArrayList roles = fRol.getRolesSeleccionados();
            if (roles.Count < 1) return;
            int id_usu_rol = -1;
            ///hasta aca roles

            string sql_qry = "";
            string txt_confirmacion = "";

            if (this.id_usuario == -1)
            {
                // Nombre del SP para creacion
                sql_qry = "LOS_GESTORES.sp_app_creaUsuarioEmpresa";
                txt_confirmacion = "Se ha creado el usuario correctamente";
            }
            else
            {
                // Nombre del SP para modificacion
                sql_qry = "LOS_GESTORES.sp_app_modificaUsuarioEmpresa";
                txt_confirmacion = "Se ha modificado el usuario correctamente";
                // Para Rol
                id_usu_rol = this.id_usuario;
            }

            //comando pasado como parametro
            System.Data.SqlClient.SqlCommand com = new System.Data.SqlClient.SqlCommand(sql_qry);

            //Defino los parametros y los agrego a la lista de parametros
            if (this.id_usuario == -1)
            {
                // Solo paso nombre usuario y pass si es un usuario nuevo
                // Los genero automaticamente
                string nombre_generado = "AUTO_" + this.empRazSocial.Text.Trim();
                string pass_generada = Convert.ToBase64String(encriptacionSha256.ComputeHash(System.Text.Encoding.UTF8.GetBytes("inicio1234"))); ;

                // Los agrego al txt de confirmacion
                txt_confirmacion += "\nUsuario: " + nombre_generado + "\nPass: inicio1234";

                //Fuerzo el cambio de pass
                System.Data.SqlClient.SqlParameter forzar_cambio = new System.Data.SqlClient.SqlParameter("@forzar", Convert.ToInt16(1));
                com.Parameters.Add(forzar_cambio);

                System.Data.SqlClient.SqlParameter nombre_usu = new System.Data.SqlClient.SqlParameter("@nombre_usu", nombre_generado);
                com.Parameters.Add(nombre_usu);

                System.Data.SqlClient.SqlParameter pass_usu = new System.Data.SqlClient.SqlParameter("@pass", pass_generada);
                com.Parameters.Add(pass_usu);
            }
            else
            {
                // Solo paso nombre id si es una modificacion
                System.Data.SqlClient.SqlParameter id_usu = new System.Data.SqlClient.SqlParameter("@id_usuario", this.id_usuario);
                com.Parameters.Add(id_usu);
            }

            System.Data.SqlClient.SqlParameter calle_usu = new System.Data.SqlClient.SqlParameter("@calle", this.empDireccion.Text);
            com.Parameters.Add(calle_usu);

            System.Data.SqlClient.SqlParameter nro_calle_usu = new System.Data.SqlClient.SqlParameter("@nro_calle", nro_calle_val);
            com.Parameters.Add(nro_calle_usu);

            if (this.empNroPiso.Text != String.Empty)
            {
                System.Data.SqlClient.SqlParameter piso_usu = new System.Data.SqlClient.SqlParameter("@piso", nro_piso_val);
                com.Parameters.Add(piso_usu);
            }

            System.Data.SqlClient.SqlParameter depto_usu = new System.Data.SqlClient.SqlParameter("@depto", this.empDpto.Text);
            com.Parameters.Add(depto_usu);

            System.Data.SqlClient.SqlParameter cp_usu = new System.Data.SqlClient.SqlParameter("@cp", this.empCodPostal.Text);
            com.Parameters.Add(cp_usu);

            System.Data.SqlClient.SqlParameter loc_usu = new System.Data.SqlClient.SqlParameter("@loc", this.empLocalidad.Text);
            com.Parameters.Add(loc_usu);

            System.Data.SqlClient.SqlParameter ciudad_usu = new System.Data.SqlClient.SqlParameter("@ciudad", this.ciudad.Text);
            com.Parameters.Add(ciudad_usu);

            System.Data.SqlClient.SqlParameter mail_usu = new System.Data.SqlClient.SqlParameter("@mail", this.empMail.Text);
            com.Parameters.Add(mail_usu);

            System.Data.SqlClient.SqlParameter razon_usu = new System.Data.SqlClient.SqlParameter("@razon", empRazSocial.Text.Trim());
            com.Parameters.Add(razon_usu);

            System.Data.SqlClient.SqlParameter cuit_usu = new System.Data.SqlClient.SqlParameter("@cuit", empCuit.Text.Trim());
            com.Parameters.Add(cuit_usu);

            System.Data.SqlClient.SqlParameter fcrea_usu = new System.Data.SqlClient.SqlParameter("@f_crea", this.empFechaCre.Value);
            com.Parameters.Add(fcrea_usu);

            System.Data.SqlClient.SqlParameter contacto_usu = new System.Data.SqlClient.SqlParameter("@nom_contacto", empContacto.Text.Trim());
            com.Parameters.Add(contacto_usu);

            System.Data.SqlClient.SqlParameter telefono_usu = new System.Data.SqlClient.SqlParameter("@telefono", empTelefono.Text.Trim());
            com.Parameters.Add(telefono_usu);

            // Abro la conexion
            AccesoDatos.getInstancia().abrirConexion();

            System.Data.SqlClient.SqlDataReader datos
                = AccesoDatos.getInstancia().ejecutaSP(com);

            // Asignacion de Roles
            if (id_usu_rol == -1)
            {
                datos.Read();
                id_usu_rol = datos.GetInt32(0);
            }

            // Cierro la conexion
            AccesoDatos.getInstancia().cerrarConexion();

            foreach (string id_rol in roles)
            {
                //Abro la conexion
                AccesoDatos.getInstancia().abrirConexion();

                System.Data.SqlClient.SqlCommand comRoles = new System.Data.SqlClient.SqlCommand("LOS_GESTORES.sp_app_setClientesRoles");

                System.Data.SqlClient.SqlParameter p1Rol = new System.Data.SqlClient.SqlParameter("@id_usuario", id_usu_rol);
                comRoles.Parameters.Add(p1Rol);

                System.Data.SqlClient.SqlParameter p2Rol = new System.Data.SqlClient.SqlParameter("@id_rol", Convert.ToInt32(id_rol));
                comRoles.Parameters.Add(p2Rol);

                System.Data.SqlClient.SqlDataReader rolReader = AccesoDatos.getInstancia().ejecutaSP(comRoles);

                //Cierro la conexion
                AccesoDatos.getInstancia().cerrarConexion();

            }

            MessageBox.Show(txt_confirmacion);
            this.Close();
        }
示例#3
0
        private void btnGrabar_Click(object sender, EventArgs e)
        {
            int           nro_calle_val      = 0;
            int           nro_piso_val       = 0;
            SHA256Managed encriptacionSha256 = new SHA256Managed();

            List <string> listaValidacion = new List <string>();

            //Validamos los campos obligatorios
            if (this.txtLegajo.Text == String.Empty)
            {
                listaValidacion.Add("El campo Legajo es obligatorio");
            }
            if (this.txtSuc.Text == String.Empty)
            {
                listaValidacion.Add("El campo Sucursal es obligatorio");
            }
            if (this.txtMail.Text == String.Empty)
            {
                listaValidacion.Add("El campo Correo electronico es obligatorio");
            }
            if (this.txtCalle.Text == String.Empty)
            {
                listaValidacion.Add("El campo Calle es obligatorio");
            }
            if (this.txtNroCalle.Text == String.Empty)
            {
                listaValidacion.Add("El campo Nro. Calle es obligatorio");
            }
            if (this.txtLocalidad.Text == String.Empty)
            {
                listaValidacion.Add("El campo Localidad es obligatorio");
            }
            if (this.txtCiudad.Text == String.Empty)
            {
                listaValidacion.Add("El campo Ciudad es obligatorio");
            }

            //Valido los campos numericos
            try
            {
                nro_calle_val = Convert.ToInt32(this.txtNroCalle.Text);
            }
            catch
            {
                listaValidacion.Add("El Nro. de calle debe ser numerico");
            }

            try
            {
                if (this.txtNroPiso.Text != String.Empty)
                {
                    nro_piso_val = Convert.ToInt32(this.txtNroPiso.Text);
                }
            }
            catch
            {
                listaValidacion.Add("El Piso debe ser numerico");
            }

            //Muestro un mensaje con los datos mal cargados
            if (listaValidacion.Count > 0)
            {
                StringBuilder error = new StringBuilder();
                error.AppendLine("Por favor corrija los siguientes campos:");

                foreach (var i in listaValidacion)
                {
                    error.AppendLine(i);
                }

                MessageBox.Show(error.ToString());
                return;
            }

            /////////////////////////////////////////////////
            //Verifico que EL LEGAJO no este repetida//
            /////////////////////////////////////////////////
            System.Data.SqlClient.SqlCommand comLeg = new System.Data.SqlClient.SqlCommand("LOS_GESTORES.sp_app_getAdminXLegajo");

            //Defino los parametros
            System.Data.SqlClient.SqlParameter p1 = new System.Data.SqlClient.SqlParameter("@legajo", txtLegajo.Text.Trim());
            comLeg.Parameters.Add(p1);

            if (this.id_usuario != -1)
            {
                System.Data.SqlClient.SqlParameter pid_usu = new System.Data.SqlClient.SqlParameter("@id_usuario", this.id_usuario);
                comLeg.Parameters.Add(pid_usu);
            }

            // Abro la conexion
            AccesoDatos.getInstancia().abrirConexion();

            System.Data.SqlClient.SqlDataReader dup = AccesoDatos.getInstancia().ejecutaSP(comLeg);

            if (dup.HasRows)
            {
                MessageBox.Show("Ya existe un empleado con ese Legajo.");
                // Cierro la conexion
                dup.Close();
                AccesoDatos.getInstancia().cerrarConexion();
                return;
            }

            // Cierro la conexion
            dup.Close();
            AccesoDatos.getInstancia().cerrarConexion();


            ////////////////////////
            // Persisto el Admin  //
            ////////////////////////

            //Traigo los roles seleccionados
            Usuario_Rol.SeleccionRol fRol = new FrbaCommerce.Usuario_Rol.SeleccionRol();
            fRol.ShowDialog();
            ArrayList roles = fRol.getRolesSeleccionados();

            if (roles.Count < 1)
            {
                return;
            }
            int id_usu_rol = -1;
            ///hasta aca roles


            string sql_qry          = "";
            string txt_confirmacion = "";

            if (this.id_usuario == -1)
            {
                // Nombre del SP para creacion
                sql_qry          = "LOS_GESTORES.sp_app_creaUsuarioAdmin";
                txt_confirmacion = "Se ha creado el usuario correctamente";
            }
            else
            {
                // Nombre del SP para modificacion
                sql_qry          = "LOS_GESTORES.sp_app_modificaUsuarioAdmin";
                txt_confirmacion = "Se ha modificado el usuario correctamente";
                // Para Rol
                id_usu_rol = this.id_usuario;
            }


            //comando pasado como parametro
            System.Data.SqlClient.SqlCommand com = new System.Data.SqlClient.SqlCommand(sql_qry);

            //Defino los parametros y los agrego a la lista de parametros
            if (this.id_usuario == -1)
            {
                // Solo paso nombre usuario y pass si es un usuario nuevo
                // Los genero automaticamente
                string nombre_generado = "ADM_" + this.txtLegajo.Text.Trim();
                string pass_generada   = Convert.ToBase64String(encriptacionSha256.ComputeHash(System.Text.Encoding.UTF8.GetBytes("inicio1234")));;

                // Los agrego al txt de confirmacion
                txt_confirmacion += "\nUsuario: " + nombre_generado + "\nPass: inicio1234";

                //Fuerzo el cambio de pass
                System.Data.SqlClient.SqlParameter forzar_cambio = new System.Data.SqlClient.SqlParameter("@forzar", Convert.ToInt16(1));
                com.Parameters.Add(forzar_cambio);

                System.Data.SqlClient.SqlParameter nombre_usu = new System.Data.SqlClient.SqlParameter("@nombre_usu", nombre_generado);
                com.Parameters.Add(nombre_usu);

                System.Data.SqlClient.SqlParameter pass_usu = new System.Data.SqlClient.SqlParameter("@pass", pass_generada);
                com.Parameters.Add(pass_usu);
            }
            else
            {
                // Solo paso nombre id si es una modificacion
                System.Data.SqlClient.SqlParameter id_usu = new System.Data.SqlClient.SqlParameter("@id_usuario", this.id_usuario);
                com.Parameters.Add(id_usu);
            }

            System.Data.SqlClient.SqlParameter calle_usu = new System.Data.SqlClient.SqlParameter("@calle", this.txtCalle.Text);
            com.Parameters.Add(calle_usu);

            System.Data.SqlClient.SqlParameter nro_calle_usu = new System.Data.SqlClient.SqlParameter("@nro_calle", nro_calle_val);
            com.Parameters.Add(nro_calle_usu);

            if (this.txtNroPiso.Text != String.Empty)
            {
                System.Data.SqlClient.SqlParameter piso_usu = new System.Data.SqlClient.SqlParameter("@piso", nro_piso_val);
                com.Parameters.Add(piso_usu);
            }

            System.Data.SqlClient.SqlParameter depto_usu = new System.Data.SqlClient.SqlParameter("@depto", this.txtDepto.Text);
            com.Parameters.Add(depto_usu);

            System.Data.SqlClient.SqlParameter cp_usu = new System.Data.SqlClient.SqlParameter("@cp", this.txtCP.Text);
            com.Parameters.Add(cp_usu);

            System.Data.SqlClient.SqlParameter loc_usu = new System.Data.SqlClient.SqlParameter("@loc", this.txtLocalidad.Text);
            com.Parameters.Add(loc_usu);

            System.Data.SqlClient.SqlParameter ciudad_usu = new System.Data.SqlClient.SqlParameter("@ciudad", this.txtCiudad.Text);
            com.Parameters.Add(ciudad_usu);

            System.Data.SqlClient.SqlParameter mail_usu = new System.Data.SqlClient.SqlParameter("@mail", this.txtMail.Text);
            com.Parameters.Add(mail_usu);

            System.Data.SqlClient.SqlParameter leg_usu = new System.Data.SqlClient.SqlParameter("@legajo", this.txtLegajo.Text);
            com.Parameters.Add(leg_usu);

            System.Data.SqlClient.SqlParameter suc_usu = new System.Data.SqlClient.SqlParameter("@sucursal", this.txtSuc.Text);
            com.Parameters.Add(suc_usu);

            // Abro la conexion
            AccesoDatos.getInstancia().abrirConexion();

            System.Data.SqlClient.SqlDataReader datos
                = AccesoDatos.getInstancia().ejecutaSP(com);

            // Asignacion de Roles
            if (id_usu_rol == -1)
            {
                datos.Read();
                id_usu_rol = datos.GetInt32(0);
            }

            // Cierro la conexion
            AccesoDatos.getInstancia().cerrarConexion();

            foreach (string id_rol in roles)
            {
                //Abro la conexion
                AccesoDatos.getInstancia().abrirConexion();

                System.Data.SqlClient.SqlCommand comRoles = new System.Data.SqlClient.SqlCommand("LOS_GESTORES.sp_app_setClientesRoles");

                System.Data.SqlClient.SqlParameter p1Rol = new System.Data.SqlClient.SqlParameter("@id_usuario", id_usu_rol);
                comRoles.Parameters.Add(p1Rol);

                System.Data.SqlClient.SqlParameter p2Rol = new System.Data.SqlClient.SqlParameter("@id_rol", Convert.ToInt32(id_rol));
                comRoles.Parameters.Add(p2Rol);

                System.Data.SqlClient.SqlDataReader rolReader = AccesoDatos.getInstancia().ejecutaSP(comRoles);

                //Cierro la conexion
                AccesoDatos.getInstancia().cerrarConexion();
            }

            MessageBox.Show(txt_confirmacion);
            this.Close();
        }
示例#4
0
        private void btnGrabar_Click(object sender, EventArgs e)
        {
            int nro_calle_val = 0;
            int nro_piso_val = 0;
            SHA256Managed encriptacionSha256 = new SHA256Managed();

            List<string> listaValidacion = new List<string>();

            //Validamos los campos obligatorios
            if (this.txtLegajo.Text == String.Empty)
            {
                listaValidacion.Add("El campo Legajo es obligatorio");
            }
            if (this.txtSuc.Text == String.Empty)
            {
                listaValidacion.Add("El campo Sucursal es obligatorio");
            }
            if (this.txtMail.Text == String.Empty)
            {
                listaValidacion.Add("El campo Correo electronico es obligatorio");
            }
            if (this.txtCalle.Text == String.Empty)
            {
                listaValidacion.Add("El campo Calle es obligatorio");
            }
            if (this.txtNroCalle.Text == String.Empty)
            {
                listaValidacion.Add("El campo Nro. Calle es obligatorio");
            }
            if (this.txtLocalidad.Text == String.Empty)
            {
                listaValidacion.Add("El campo Localidad es obligatorio");
            }
            if (this.txtCiudad.Text == String.Empty)
            {
                listaValidacion.Add("El campo Ciudad es obligatorio");
            }

            //Valido los campos numericos
            try
            {
                nro_calle_val = Convert.ToInt32(this.txtNroCalle.Text);
            }
            catch
            {
                listaValidacion.Add("El Nro. de calle debe ser numerico");
            }

            try
            {
                if (this.txtNroPiso.Text != String.Empty)
                    nro_piso_val = Convert.ToInt32(this.txtNroPiso.Text);
            }
            catch
            {
                listaValidacion.Add("El Piso debe ser numerico");
            }

             //Muestro un mensaje con los datos mal cargados
            if (listaValidacion.Count > 0)
            {
                StringBuilder error = new StringBuilder();
                error.AppendLine("Por favor corrija los siguientes campos:");

                foreach (var i in listaValidacion)
                {
                    error.AppendLine(i);
                }

                MessageBox.Show(error.ToString());
                return;
            }

            /////////////////////////////////////////////////
            //Verifico que EL LEGAJO no este repetida//
            /////////////////////////////////////////////////
            System.Data.SqlClient.SqlCommand comLeg = new System.Data.SqlClient.SqlCommand("LOS_GESTORES.sp_app_getAdminXLegajo");

            //Defino los parametros
            System.Data.SqlClient.SqlParameter p1 = new System.Data.SqlClient.SqlParameter("@legajo", txtLegajo.Text.Trim());
            comLeg.Parameters.Add(p1);

            if (this.id_usuario != -1)
            {
                System.Data.SqlClient.SqlParameter pid_usu = new System.Data.SqlClient.SqlParameter("@id_usuario", this.id_usuario);
                comLeg.Parameters.Add(pid_usu);
            }

            // Abro la conexion
            AccesoDatos.getInstancia().abrirConexion();

            System.Data.SqlClient.SqlDataReader dup = AccesoDatos.getInstancia().ejecutaSP(comLeg);

            if (dup.HasRows)
            {
                MessageBox.Show("Ya existe un empleado con ese Legajo.");
                // Cierro la conexion
                dup.Close();
                AccesoDatos.getInstancia().cerrarConexion();
                return;
            }

            // Cierro la conexion
            dup.Close();
            AccesoDatos.getInstancia().cerrarConexion();

            ////////////////////////
            // Persisto el Admin  //
            ////////////////////////

            //Traigo los roles seleccionados
            Usuario_Rol.SeleccionRol fRol = new FrbaCommerce.Usuario_Rol.SeleccionRol();
            fRol.ShowDialog();
            ArrayList roles = fRol.getRolesSeleccionados();
            if (roles.Count < 1) return;
            int id_usu_rol = -1;
            ///hasta aca roles

            string sql_qry = "";
            string txt_confirmacion = "";

            if (this.id_usuario == -1)
            {
                // Nombre del SP para creacion
                sql_qry = "LOS_GESTORES.sp_app_creaUsuarioAdmin";
                txt_confirmacion = "Se ha creado el usuario correctamente";
            }
            else
            {
                // Nombre del SP para modificacion
                sql_qry = "LOS_GESTORES.sp_app_modificaUsuarioAdmin";
                txt_confirmacion = "Se ha modificado el usuario correctamente";
                // Para Rol
                id_usu_rol = this.id_usuario;
            }

            //comando pasado como parametro
            System.Data.SqlClient.SqlCommand com = new System.Data.SqlClient.SqlCommand(sql_qry);

            //Defino los parametros y los agrego a la lista de parametros
            if (this.id_usuario == -1)
            {
                // Solo paso nombre usuario y pass si es un usuario nuevo
                // Los genero automaticamente
                string nombre_generado = "ADM_" + this.txtLegajo.Text.Trim();
                string pass_generada = Convert.ToBase64String(encriptacionSha256.ComputeHash(System.Text.Encoding.UTF8.GetBytes("inicio1234"))); ;

                // Los agrego al txt de confirmacion
                txt_confirmacion += "\nUsuario: " + nombre_generado + "\nPass: inicio1234";

                //Fuerzo el cambio de pass
                System.Data.SqlClient.SqlParameter forzar_cambio = new System.Data.SqlClient.SqlParameter("@forzar", Convert.ToInt16(1));
                com.Parameters.Add(forzar_cambio);

                System.Data.SqlClient.SqlParameter nombre_usu = new System.Data.SqlClient.SqlParameter("@nombre_usu", nombre_generado);
                com.Parameters.Add(nombre_usu);

                System.Data.SqlClient.SqlParameter pass_usu = new System.Data.SqlClient.SqlParameter("@pass", pass_generada);
                com.Parameters.Add(pass_usu);
            }
            else
            {
                // Solo paso nombre id si es una modificacion
                System.Data.SqlClient.SqlParameter id_usu = new System.Data.SqlClient.SqlParameter("@id_usuario", this.id_usuario);
                com.Parameters.Add(id_usu);
            }

            System.Data.SqlClient.SqlParameter calle_usu = new System.Data.SqlClient.SqlParameter("@calle", this.txtCalle.Text);
            com.Parameters.Add(calle_usu);

            System.Data.SqlClient.SqlParameter nro_calle_usu = new System.Data.SqlClient.SqlParameter("@nro_calle", nro_calle_val);
            com.Parameters.Add(nro_calle_usu);

            if (this.txtNroPiso.Text != String.Empty)
            {
                System.Data.SqlClient.SqlParameter piso_usu = new System.Data.SqlClient.SqlParameter("@piso", nro_piso_val);
                com.Parameters.Add(piso_usu);
            }

            System.Data.SqlClient.SqlParameter depto_usu = new System.Data.SqlClient.SqlParameter("@depto", this.txtDepto.Text);
            com.Parameters.Add(depto_usu);

            System.Data.SqlClient.SqlParameter cp_usu = new System.Data.SqlClient.SqlParameter("@cp", this.txtCP.Text);
            com.Parameters.Add(cp_usu);

            System.Data.SqlClient.SqlParameter loc_usu = new System.Data.SqlClient.SqlParameter("@loc", this.txtLocalidad.Text);
            com.Parameters.Add(loc_usu);

            System.Data.SqlClient.SqlParameter ciudad_usu = new System.Data.SqlClient.SqlParameter("@ciudad", this.txtCiudad.Text);
            com.Parameters.Add(ciudad_usu);

            System.Data.SqlClient.SqlParameter mail_usu = new System.Data.SqlClient.SqlParameter("@mail", this.txtMail.Text);
            com.Parameters.Add(mail_usu);

            System.Data.SqlClient.SqlParameter leg_usu = new System.Data.SqlClient.SqlParameter("@legajo", this.txtLegajo.Text);
            com.Parameters.Add(leg_usu);

            System.Data.SqlClient.SqlParameter suc_usu = new System.Data.SqlClient.SqlParameter("@sucursal", this.txtSuc.Text);
            com.Parameters.Add(suc_usu);

            // Abro la conexion
            AccesoDatos.getInstancia().abrirConexion();

            System.Data.SqlClient.SqlDataReader datos
                = AccesoDatos.getInstancia().ejecutaSP(com);

            // Asignacion de Roles
            if (id_usu_rol == -1)
            {
                datos.Read();
                id_usu_rol = datos.GetInt32(0);
            }

            // Cierro la conexion
            AccesoDatos.getInstancia().cerrarConexion();

            foreach (string id_rol in roles)
            {
                //Abro la conexion
                AccesoDatos.getInstancia().abrirConexion();

                System.Data.SqlClient.SqlCommand comRoles = new System.Data.SqlClient.SqlCommand("LOS_GESTORES.sp_app_setClientesRoles");

                System.Data.SqlClient.SqlParameter p1Rol = new System.Data.SqlClient.SqlParameter("@id_usuario", id_usu_rol);
                comRoles.Parameters.Add(p1Rol);

                System.Data.SqlClient.SqlParameter p2Rol = new System.Data.SqlClient.SqlParameter("@id_rol", Convert.ToInt32(id_rol));
                comRoles.Parameters.Add(p2Rol);

                System.Data.SqlClient.SqlDataReader rolReader = AccesoDatos.getInstancia().ejecutaSP(comRoles);

                //Cierro la conexion
                AccesoDatos.getInstancia().cerrarConexion();

            }

            MessageBox.Show(txt_confirmacion);
            this.Close();
        }