private void buttonAgregar_Click(object sender, EventArgs e)
        {
            if (camposInvalidos())
            {
                return;
            }

            // Porque no es campo obligatorio
            bool   ingresoPisoYDPT = false;
            String error           = "";

            if (textBoxPiso.Text.Trim() != "" && textBoxDto.Text.Trim() != "")
            {
                if (!AyudaExtra.esStringNumerico(textBoxPiso.Text.Trim()))
                {
                    error += "Debe ingresar el numero de piso\n";
                    //               MessageBox.Show("Debe ingresar el numero de piso", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    //               return;
                }
                else
                {
                    ingresoPisoYDPT = true;
                }
                //            debeSerTodoNumero(textBoxPiso.Text, "Piso");
            }

            //        debeSerTodoNumero(textBoxTelefono.Text, "Telefono");

            String tipo = "Cliente";

            DBConsulta.conexionAbrir();
            if (consultasSQLCliente.existeCuit(textBoxCuit.Text, tipo))
            {
                error += "Ya se encuentra registrado el numero de CUIT\n";
                //              MessageBox.Show("Ya se encuentra registrado el numero de CUIT", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //           return;
            }
            DBConsulta.conexionCerrar();

            if (error != "")
            {
                MessageBox.Show(error, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            /*     if (!cuitYNroDocumentoSonCorrectos(textBoxCuit.Text, textBoxDOCNUMERO.Text)) {
             *       MessageBox.Show("El CUIT y el numero de documento no coindiden", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
             *       return;
             *   }
             */

            String nombre         = textBoxNombre.Text.Trim();
            String apellido       = textBoxApellido.Text.Trim();
            String tipo_documento = textBoxTIPODOC.Text.Trim();
            String cuit           = armarCuit(textBoxCuit.Text);

            String mail             = textBoxMail.Text.Trim();
            String fecha_nacimiento = dateFecha.Value.ToString("yyyy-MM-dd");

            String calle            = textBoxCalle.Text.Trim();
            String codPostal        = textBoxCodigoPostal.Text.Trim();
            String dto              = textBoxDto.Text;
            long   numero_documento = Convert.ToInt64(textBoxDOCNUMERO.Text);
            String telefono         = textBoxTelefono.Text.Trim();
            int    nroCalle         = Convert.ToInt32(textBoxNroCalle.Text);
            String nro_tarjeta      = textBoxTarjeta.Text.Trim();
            int    piso;

            if (ingresoPisoYDPT)
            {
                piso = Convert.ToInt32(textBoxPiso.Text);
            }
            else
            {
                piso = 0;
            }
            String localidad        = textBoxLocalidad.Text;
            bool   creacionAbortada = false;

            DBConsulta.conexionAbrir();
            if (DBConsulta.repeticion_de_campo_tipoDOC_numero_o_CUIL(cuit, textBoxDOCNUMERO.Text.Trim().ToString(), tipo_documento))
            {
                MessageBox.Show("Hay repetición en CUIL, o en Tipo de documento y su número, correspondiente a la DB", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                DBConsulta.conexionCerrar();
                return;
            }
            DBConsulta.conexionCerrar();
            DBConsulta.conexionAbrir();
            if (mailRepetido(mail))
            {
                MessageBox.Show("El Email ingresado ya existe en la DB", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                DBConsulta.conexionCerrar();
                return;
            }



            bool   errors             = false;
            bool   autocontra         = false;
            String contraAutogenerada = autogenerarContrasenia.contraGeneradaAString();

            if (textBoxContrasenia.Text.Trim() == "")
            {
                autocontra = true;
                int usuarioNuevo = ConsultasSQL.crearUser(nombre.Replace(" ", "_") + "_" + apellido.Replace(" ", "_"), creacionAbortada, contraAutogenerada, "Cliente");
            }
            else
            {
                if (AyudaExtra.esStringNumerico(textBoxContrasenia.Text.Trim()))
                {
                    int usuarioNuevo = ConsultasSQL.crearUser(nombre.Replace(" ", "_") + "_" + apellido.Replace(" ", "_"), creacionAbortada, textBoxContrasenia.Text.Trim(), "Cliente");
                }
                else
                {
                    MessageBox.Show("La contraseña debe ser numérica", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    errors = true;
                }
            }
            DBConsulta.conexionCerrar();

            if (!errors)
            {
                if (creacionAbortada == false)
                {
                    consultasSQLCliente.AgregarCliente(nombre, apellido, tipo_documento, numero_documento, mail, nro_tarjeta, cuit, telefono, fecha_nacimiento, DateTime.Today);
                    DBConsulta.conexionAbrir();
                    consultasSQLCliente.AgregarDomicilio(calle, nroCalle, piso, dto, localidad, codPostal, "Cliente");
                    string    cmd        = "Select TOP 1 usuario_nombre from SQLEADOS.Usuario order by usuario_Id DESC";
                    DataTable dt         = DBConsulta.obtenerConsultaEspecifica(cmd);
                    String    comentario = "Usuario creado: " + dt.Rows[0][0].ToString();
                    if (autocontra)
                    {
                        comentario += "\n\nContraseña autogenerada: " + contraAutogenerada;
                    }
                    MessageBox.Show(comentario);
                    DBConsulta.conexionCerrar();
                    if (esRegistro)
                    {
                        registro.terminar();
                        this.Close();
                    }
                }
                else
                {
                    MessageBox.Show("Error al crear el nuevo usuario al consultar la base de datos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    DBConsulta.conexionCerrar();
                    return;
                }
            }

            this.limpiarCuadrosDeTexto();
        }
        private void buttonAgregar_Click(object sender, EventArgs e)
        {
            String error = validarCamposIniciales();

            if (!AyudaExtra.esUnMail(textBoxMail.Text))
            {
                error += "Ingrese un mail valido\n";
                //       MessageBox.Show("Ingrese un mail valido", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //       return;
            }
            if (mailRepetido(textBoxMail.Text))
            {
                error += "Mail repetido, ingrese otro\n";
                //       MessageBox.Show("Mail repetido, ingrese otro", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //       return;
            }

            if (!AyudaExtra.esStringNumerico(textBoxCuit.Text))
            {
                error += "Sólo se permiten numeros en el CUIT\n";
                //     MessageBox.Show("Sólo se permiten numeros en el CUIT", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //    return;
            }
            if (!AyudaExtra.esStringNumerico(textBoxNroCalle.Text))
            {
                error += "Sólo se permiten numeros en el Nro de calle\n";
                //        MessageBox.Show("Sólo se permiten numeros en el Nro de calle", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //        return;
            }
            if (textBoxPiso.Text.Trim() != "")
            {
                if (!AyudaExtra.esStringNumerico(textBoxPiso.Text))
                {
                    error += "Sólo se permiten numeros en el Pisoe\n";
                    //         MessageBox.Show("Sólo se permiten numeros en el Piso", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    //        return;
                }
            }
            if (!AyudaExtra.esStringLetra(textBoxCiudad.Text))
            {
                error += "Sólo se permiten letras en el campo ciudad\n";
                //    MessageBox.Show("Sólo se permiten letras en el campo ciudad", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //      return;
            }
            if (textBoxDto.Text.Trim() != "")
            {
                if (!AyudaExtra.esStringLetra(textBoxDto.Text))
                {
                    error += "Sólo se permiten letras en el departamento\n";
                    //         MessageBox.Show("Sólo se permiten letras en el departamento", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    //         return;
                }
            }
            if (!AyudaExtra.esStringNumerico(textBoxTelefono.Text))
            {
                error += "Sólo se permiten numeros en el Telefono\n";
                //      MessageBox.Show("Sólo se permiten numeros en el Telefono", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //       return;
            }

            /*
             * if (textBoxCuit.TextLength != 11)
             * {
             *  MessageBox.Show("El cuit tiene que tener 11 digitos", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
             *  return;
             * }
             */

            String razonSocial = textBoxRazonSocial.Text;

            if (existeRazonSocialYa(razonSocial))
            {
                error += "Ya se encuentra registrado esa razon social, ingrese otro\n";
                //       MessageBox.Show("Ya se encuentra registrado esa razon social, ingrese otro", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //       return;
            }

            String cuit   = armarCuit(textBoxCuit.Text);
            String ciudad = textBoxCiudad.Text;

            if (existeCuit(cuit))
            {
                error += "Ya se encuentra registrado el numero de CUIT, ingrese otro\n";
                //            MessageBox.Show("Ya se encuentra registrado el numero de CUIT, ingrese otro", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                //           return;
            }

            String mail      = textBoxMail.Text;
            String telefono  = textBoxTelefono.Text;
            int    nroCalle  = Convert.ToInt32(textBoxNroCalle.Text);
            String calle     = textBoxCalle.Text;
            String codPostal = textBoxCodigoPostal.Text;
            String dto       = textBoxDto.Text;
            int    piso      = 0;

            if (textBoxPiso.Text != "")
            {
                piso = Convert.ToInt32(textBoxPiso.Text);
            }

            String localidad = textBoxLocalidad.Text;

            int  usuarioNuevo = 0;
            bool errores      = false;

            DBConsulta.conexionAbrir();
            bool   autocontra         = false;
            String contraautogenerada = autogenerarContrasenia.contraGeneradaAString();

            //SE CREA EL USUARIO
            if (textBoxContrasenia.Text.Trim() != "")
            {
                if (AyudaExtra.esStringNumerico(textBoxContrasenia.Text.Trim()))
                {
                    if (error != "")
                    {
                        error += "La contraseña debe ser numérica\n";
                        MessageBox.Show(error, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    usuarioNuevo = ConsultasSQL.crearUser(textBoxRazonSocial.Text.Trim().Replace(" ", "_"), false, textBoxContrasenia.Text.Trim(), "Empresa");
                }
                else
                {
                    error += "La contraseña debe ser numérica\n";
                    MessageBox.Show(error, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                    //         MessageBox.Show("La contraseña debe ser numérica", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    //       errores = true;
                }
            }
            else
            {
                autocontra   = true;
                usuarioNuevo = ConsultasSQL.crearUser(textBoxRazonSocial.Text.Trim().Replace(" ", "_"), false, contraautogenerada, "Empresa");
            }
            //TERMINA CREA EL USUARIO
            DBConsulta.conexionCerrar();
            //CREA LA EMPRESA
            if (!errores)
            {
                DateTime hoy = DateTime.Today;
                int      ultimoUser;

                String    obtenerUltimoUser = "******";
                DataTable ds = DBConsulta.AbrirCerrarObtenerConsulta(obtenerUltimoUser);
                ultimoUser = Convert.ToInt32(ds.Rows[0][0].ToString());
                DBConsulta.creacionNuevoEmpresa(razonSocial, mail, cuit, hoy.ToString(), ultimoUser, ciudad, telefono);
                ///           crearNuevaEmpresa(razonSocial, cuit, ciudad, mail, telefono, Convert.ToInt32(ds.Rows[0][0].ToString()), hoy);
                //        ConsultasSQLEmpresa.AgregarEmpresa(razonSocial, cuit, ciudad, mail, telefono, Convert.ToInt32(ds.Rows[0][0].ToString()), hoy);
                DBConsulta.crearNuevoDomicilioEmpresa(calle, nroCalle.ToString(), piso.ToString(), dto, codPostal, localidad, razonSocial, cuit);

                //        ConsultasSQLEmpresa.AgregarDomicilio(calle, nroCalle, piso, dto, localidad, codPostal, "Empresa");
                this.limpiarCuadrosDeTexto();
                String    obtenerNombreUser = "******";
                DataTable dt = DBConsulta.AbrirCerrarObtenerConsulta(obtenerNombreUser);

                String mostrarResultado = "Se ha agregado el nuevo Usuario:\n\n" + dt.Rows[0][0].ToString();
                if (autocontra)
                {
                    mostrarResultado += "\n\nSe ha autogenerado una contraseña, es: " + contraautogenerada;
                }
                MessageBox.Show(mostrarResultado);
                if (deEmpresa)
                {
                    ante.Show();
                }
                else
                {
                    reg.terminar();
                }
                this.Close();
            }
            else
            {
                return;
            }
        }