none
Cliente.updateCliente(string, string, string, string, string, int)' no es accesible debido a su nivel de protección RRS feed

  • Pregunta

  • hola tengo un error en mi código de Visual c# el form1 es el siguiente:

    namespace Punto_de_ventas
    {
        public partial class Form1 : Form
        {   
            TextBoxEvent evento =new TextBoxEvent();
            Cliente Cliente = new Cliente();
            List<Clientes> numCliente = new List<Clientes>();
            private string accion = "insert", deudaActual, pago, dia, fecha;
            private int paginas = 4, pageSize = 3, maxReg, pageCount, numPagi, IdCliente=0;
            private int IdRegistro = 0;
            public Form1()
            {
                InitializeComponent();#region
                radioButton_IngresarCliente.Checked = true;
                radioButton_IngresarCliente.ForeColor = Color.DarkCyan;
                Cliente.searchCliente(dataGridView_Cliente, "", 1, pageSize);
                Cliente.getClientesReporte(dataGridView_ClienteReporte, IdCliente);
                #endregion
            }

    codigo del paginador:

                       

    #region
                private void cargarDatos()
                {
                switch (paginas)
                {
                    case 1:
                        numCliente = Cliente.getClientes();
                        Cliente.searchCliente(dataGridView_Cliente,"", 1, pageSize);

                        maxReg = numCliente.Count();
                        break;
                }
                pageCount = (maxReg / pageSize);
                // ajuste del numero de pagina si la ultima contiene una parte de la pagina
                if ((maxReg % pageSize) > 0)
                {
                    pageCount += 1;
                }
                label_PaginasCliente.Text = "Paginas" + "1" + "/" + pageCount.ToString();
            }
            #endregion

    codigo del cliente:

    #region
            private void button_Clientes_Click(object sender, EventArgs e)
            {
                paginas = 1;
                accion = "insert";
                //se llama a la pagina 1 del tabcontrl1
                tabControl1.SelectedIndex = 1;
                cargarDatos();
                button_Clientes.Enabled = false;
                button_Ventas.Enabled = true;
                button_Productos.Enabled = true;
                button_Compras.Enabled = true;
                button_Dpto.Enabled = true;
                button_Config.Enabled = true;
            }

            private void radioButton_IngresarCliente_CheckedChanged(object sender, EventArgs e)
            {
                radioButton_IngresarCliente.ForeColor = Color.DarkCyan;
                radioButton_PagosDeudas.ForeColor = Color.Black;
                textBox_Nombre.ReadOnly = false;
                textBox_Apellido.ReadOnly = false;
                textBox_Direccion.ReadOnly = false;
                textBox_Telefono.ReadOnly = false;
                textBox_PagoscCliente.ReadOnly = true;
                label_PagoCliente.Text = "Pagos de Deuda";
                label_PagoCliente.ForeColor = Color.DarkCyan;
            }

            private void radioButton_PagosDeudas_CheckedChanged(object sender, EventArgs e)
            {
                radioButton_PagosDeudas.ForeColor = Color.DarkCyan;
                radioButton_IngresarCliente.ForeColor = Color.Black;  
                textBox_Nombre.ReadOnly = true;
                textBox_Apellido.ReadOnly = true;
                textBox_Direccion.ReadOnly = true;
                textBox_Telefono.ReadOnly = true;
                textBox_PagoscCliente.ReadOnly = false;

            }
    private void button_GuardarCliente_Click(object sender, EventArgs e)
            {
                if (radioButton_IngresarCliente.Checked)
                {
                    guardarCliente();
                }
            }

            private void guardarCliente()
            {
                // validar los campos de texto antes de ingresar a la DB
                if (textBox_Id.Text == "")
                {
                    label_Id.Text = "Ingrese el ID";
                    label_Id.ForeColor = Color.DarkRed;
                    textBox_Id.Focus();
                }
                else
                {
                    if (textBox_Nombre.Text == "")
                    {
                        label_Nombre.Text = "Ingrese el Nombre";
                        label_Nombre.ForeColor = Color.DarkRed;
                        textBox_Nombre.Focus();
                    }
                    else
                    {
                        if (textBox_Apellido.Text == "")
                        {
                            label_Apellido.Text = "Ingrese el Apellido";
                            label_Apellido.ForeColor = Color.DarkRed;
                            textBox_Apellido.Focus();
                        }
                        else
                        {
                            if (textBox_Direccion.Text == "")
                            {
                                label_Direccion.Text = "Ingrese la Direccion";
                                label_Direccion.ForeColor = Color.DarkRed;
                                textBox_Direccion.Focus();
                            }
                            else
                            {
                                if (textBox_Telefono.Text == "")
                                {
                                    label_Telefono.Text = "Ingrese el Numero de Telefono";
                                    label_Telefono.ForeColor = Color.DarkRed;
                                    textBox_Telefono.Focus();
                                }
                                else
                                {
                                    string ID = textBox_Id.Text;
                                    string Nombre = textBox_Nombre.Text;
                                    string Apellido = textBox_Apellido.Text;
                                    string Direccion = textBox_Direccion.Text;
                                    string Telefono = textBox_Telefono.Text;
                                    if (accion == "insert")
                                    {
                                        Cliente.insertCliente(ID, Nombre, Apellido, Direccion, Telefono);
            }
                                    if (accion == "update")
                                    {
                                        Cliente.updateCliente(ID, Nombre, Apellido, Direccion, Telefono, IdCliente);
                                    }
                                    restablecerCliente();
                                }
                            }
                        }
                    }
                }
            }

    aqui es donde me marca el error del titulo es en Cliente.updateCliente(................)

    el metodo privado de este es:

    private void updateCliente(string id, string nombre, string apellido, string direccion, string telefono, int idCliente)
            {
                Cliente.Where(c => c.IdCliente == idCliente)
                    .Set(c => c.ID, id)
                    .Set(c => c.Nombre, nombre)
                    .Set(c => c.Apellido, apellido)
                    .Set(c => c.Direccion, direccion)
                    .Set(c => c.Telefono, telefono)
                    .Update();
                reporte = getReporte(idCliente);
                reportesClientes.Where(r => r.IdRegistro == reporte[0].IdRegistro)
                    .Set(r => r.IdCliente,reporte[1].IdCliente)
                    .Set(r => r.SaldoActual , reporte[2].SaldoActual)
                    .Set(r => r.FechaActual, reporte[3].FechaActual)
                    .Set(r => r.UltimoPago, reporte[4].UltimoPago)
                    .Set(r => r.FechaPago, reporte[5].FechaPago)
                    .Set(r => r.ID, id)
                    .Update();
            }

    public List<reportes_clientes> getReporte(int idCliente)
            {
                return reportesClientes.Where(r => r.IdCliente == idCliente).ToList(); 
            }
        }
    }

    reportes_clientes:

    namespace Punto_de_ventas.Models
    {
        public class reportes_clientes // como se llama la tabla
        {
            [PrimaryKey, Identity]
            public int IdRegistro{ get; set; }
            public int IdCliente { get; set; }
            public string SaldoActual { get; set; }
            public string FechaActual { get; set; }
            public string UltimoPago{ get; set; }
            public string FechaPago { get; set; }
            public string ID { get; set; }
        }
    }

    clientes:

    namespace Punto_de_ventas.Models
    {
        public class Clientes
        {
            [PrimaryKey, Identity]
            public int IdCliente { get; set; }
            public string ID { get; set; }
            public string Nombre { get; set; }
            public string Apellido { get; set; }
            public string Direccion { get; set; }
            public string Telefono { get; set; }
        }
    }

    entonces no puede compilar el programa debido a su nivel de protección, alguien que me pueda dar una solución a esto, seria de gran ayuda,por favor responderme a este debate o al email: javphpdev_webmst@yahoo.com se los agradezco mucho de antemano.

    saludos y gracias!!!

    jueves, 11 de junio de 2020 22:17

Todas las respuestas

  • El error de "no accesible debido a su nivel de protección" indica que el método no es visible desde donde lo intentas llamar. Por ejemplo, si el método es "private" dentro de una clase, y lo llamas desde otra clase, da el error porque todo lo que sea private no es visible desde fuera.

    La solución más sencilla es marcarlo como public en lugar de private.

    viernes, 12 de junio de 2020 7:39
    Moderador
  • Hola Rolandin, 

      

    ¿Alguna novedad sobre la consulta realizada? ¿Han sido útiles las  respuestas proporcionadas?  

    Espero su respuesta.  

    Cualquier duda referente a productos Microsoft, puedes consultarnos. Es un gusto informarte. 

    Gracias por usar los foros de MSDN.  

    Andres Aguilar 

    ____________________________  

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.  

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.   

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft. 

    lunes, 15 de junio de 2020 17:05
    Moderador