protected void btnGuardar_Click(object sender, EventArgs e)
        {
            if (Page.IsValid)
            {
                try
                {
                    ClienteEntidad clienteNuevo = new ClienteEntidad();

                    clienteNuevo.Nombre = txtNombre.Text;
                    clienteNuevo.Cuit = int.Parse(txtCuit.Text);
                    clienteNuevo.IdLocalidad = int.Parse(ddlLocalidades.SelectedValue);
                    clienteNuevo.FechaRegistracion = DateTime.Parse(txtFechaIngreso.Text);
                    clienteNuevo.PreferencialInt = 0;
                    clienteNuevo.MontoPromedioMensual = decimal.Parse(txtMonto.Text);
                    if(chboxPreferencial.Checked == true)
                    {
                        clienteNuevo.PreferencialInt = 1;
                    }

                    ClienteGestor.Insertar(clienteNuevo);
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('EXITO')", true);
                }
                catch
                {
                    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('ERROR')", true);
                }

                cargarClientes();
                limpiarControles();
                resetearGuardar();
            }
        }
        public static List<ClienteEntidad> obtenerClientes()
        {
            List<ClienteEntidad> lista = new List<ClienteEntidad>();
            SqlCommand command = new SqlCommand();
            SqlConnection connection = new SqlConnection();

            try
            {
                connection.ConnectionString = cadenaConeccion;
                connection.Open();
                string sql = "select nombre as 'nombre', id as 'id' from Cliente order by nombre";
                command.Connection = connection;
                command.CommandText = sql;
                SqlDataReader dr = command.ExecuteReader();
                while (dr.Read())
                {
                    ClienteEntidad c = new ClienteEntidad();
                    c.Nombre = dr["nombre"].ToString();
                    c.id = int.Parse(dr["id"].ToString());
                    lista.Add(c);
                }
            }
            catch (SqlException ex)
            {

            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
            }
            return lista;
        }
        public static void actualizarCliente(ClienteEntidad cliente)
        {
            SqlConnection connection = new SqlConnection();
            //SqlTransaction transaction = null;
            SqlCommand comand = new SqlCommand();
            try
            {
                connection.ConnectionString = cadenaConexion;
                connection.Open();
                //transaction = connection.BeginTransaction();
                //string obtenerId = "SELECT id FROM cliente c WHERE c.nombre LIKE " + cliente.Nombre;
                //comand.CommandText = obtenerId;
                //comand.Connection = connection;
                //SqlDataReader indices = comand.ExecuteReader();
                //int? id = (int?)indices.GetValue(0);
                //*****************************************************
                //aca tenes que hacer un executedreader porque necesitar obtener el id de la base de datos
                //*****************************************************
                //int id = Int32.Parse(obtenerId);

                string sql = "UPDATE cliente SET cuit=@cuit, localidad=@Localidad, fechaRegistracion=@FechaRegistracion, preferencial=@Preferencial WHERE nombre=@Nombre";

                comand.CommandText = sql;
                comand.Connection = connection;
                //comand.Transaction = transaction;
                comand.Parameters.AddWithValue("@Nombre", cliente.Nombre);
                comand.Parameters.AddWithValue("@cuit", cliente.Cuit);
                comand.Parameters.AddWithValue("@preferencial", cliente.Preferencial);
                comand.Parameters.AddWithValue("@fechaRegistracion", cliente.FechaRegistracion);
                comand.Parameters.AddWithValue("@montoPromedioMensual", cliente.MontoPromedioMensual);
                comand.Parameters.AddWithValue("@localidad", cliente.IdLocalidad);

                comand.ExecuteScalar();

                //transaction.Commit();
            }
            catch (SqlException ex)
            {
            //    if (connection.State == ConnectionState.Open)
            //        transaction.Rollback(); //Vuelvo atras los cambios
            //    throw new ApplicationException("Error al actualizar el cliente.");
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                    connection.Close();
            }
        }
        protected void btnActualizar_Click(object sender, EventArgs e)
        {
            ClienteEntidad cliente = new ClienteEntidad();

            cliente.Nombre = txtNombre.Text;
            cliente.Cuit = int.Parse(txtCuit.Text);
            cliente.IdLocalidad = int.Parse(ddlLocalidades.SelectedValue);
            cliente.FechaRegistracion = DateTime.Parse(txtFechaIngreso.Text);
            cliente.PreferencialInt = 0;
            cliente.MontoPromedioMensual = decimal.Parse(txtMonto.Text);
            if (chboxPreferencial.Checked == true)
            {
                cliente.PreferencialInt = 1;
            }
            ClienteGestor.actualizarCliente(cliente);
            cargarClientes();
            limpiarControles();
            resetearGuardar();
            txtNombre.Enabled = true;
        }
        public static ClienteEntidad Buscar(string nombre)
        {
            ClienteEntidad c = new ClienteEntidad();
            SqlConnection connection = new SqlConnection();
            SqlCommand command = new SqlCommand();

            try
            {
                connection.ConnectionString = cadenaConexion;
                connection.Open();
                string sql = "SELECT c.nombre AS 'Nombre', c.cuit AS 'CUIT', c.fechaRegistracion AS 'Fecha de ingreso', l.nombre AS 'Localidad', c.montoPromedioMensual AS 'Monto', c.preferencial AS 'Preferencial'";
                sql += " FROM cliente c JOIN localidad l ON (c.idLocalidad = l.id)";
                command.CommandText = sql;
                command.Connection = connection;
                SqlDataReader dr = command.ExecuteReader();
                while (dr.Read())
                {
                    //ClienteEntidad c = new ClienteEntidad();
                    c.Preferencial = bool.Parse(dr["Preferencial"].ToString());
                    c.Cuit = int.Parse(dr["CUIT"].ToString());
                    c.Nombre = dr["nombre"].ToString();
                    c.FechaRegistracion = DateTime.Parse(dr["Fecha de ingreso"].ToString());
                    c.MontoPromedioMensual = decimal.Parse(dr["precio"].ToString());
                    c.localidadDescripcion = dr["Localidad"].ToString();
                }
            }
            catch (SqlException ex)
            {

            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
            }
            return c;
        }
        public static void Insertar(ClienteEntidad cliente)
        {
            SqlConnection connection = new SqlConnection();
            //SqlTransaction transaction = null;
            try
            {
                connection.ConnectionString = cadenaConexion;
                connection.Open();
                //transaction = connection.BeginTransaction();
                string sql = "INSERT INTO Cliente (nombre,cuit, preferencial, fechaRegistracion, montoPromedioMensual, idLocalidad  )";
                sql += " values (@Nombre, @cuit, @preferencial, @fechaRegistracion, @montoPromedioMensual, @localidad)";
                SqlCommand comand = new SqlCommand();
                comand.CommandText = sql;
                comand.Connection = connection;
                //comand.Transaction = transaction;
                comand.Parameters.AddWithValue("@Nombre", cliente.Nombre);
                comand.Parameters.AddWithValue("@cuit", cliente.Cuit);
                comand.Parameters.AddWithValue("@preferencial", cliente.Preferencial);
                comand.Parameters.AddWithValue("@fechaRegistracion", cliente.FechaRegistracion);
                comand.Parameters.AddWithValue("@montoPromedioMensual", (float)cliente.MontoPromedioMensual);
                comand.Parameters.AddWithValue("@localidad", cliente.IdLocalidad);

                comand.ExecuteNonQuery();

                //transaction.Commit();
            }
            catch (SqlException ex)
            {
               //if (connection.State == ConnectionState.Open)
               //transaction.Rollback();
               // throw new ApplicationException("Error al guardar el Cliente.");
            }
            finally
            {
                if (connection.State == ConnectionState.Open)
                    connection.Close();
            }
        }