public static List <ServicioCliente> LeerTodosServiciosCliente(string Nombre) { // Lista una de tipo de clientes List <ServicioCliente> resultados = new List <ServicioCliente>(); //instanciamos la conexion Conexion conexion = new Conexion(@"(local)\sqlexpress", "GenisysATM_V2"); string sql = @"DECLARE @codigoCliente INT SET @codigoCliente =(SELECT id FROM ATM.Cliente WHERE nombres=@Cliente); SELECT sp.descripcion,sc.saldo FROM ATM.ServicioPublico AS sp INNER JOIN ATM.ServicioCliente AS sc ON sc.idServicio=sp.id and sc.idCliente=@codigoCliente; "; SqlCommand cmd = conexion.EjecutarComando(sql); try { using (cmd) { cmd.Parameters.Add("@Cliente", SqlDbType.NVarChar, 100).Value = Nombre; } // Establecer la conexión conexion.EstablecerConexion(); SqlDataReader rdr = cmd.ExecuteReader(); // Ejecutar el query via un ExecuteReader //Recorremos los elementos que se encuentra guardados // en la lista tipo cliente while (rdr.Read()) { ServicioCliente cli = new ServicioCliente(); // Asignar los valores de Reader al objeto Departamento cli.detalle = rdr.GetString(0); cli.saldo = rdr.GetDecimal(1); // Agregar el servicio a la List<servicio> resultados.Add(cli); } return(resultados); } catch (SqlException) { return(resultados); } finally { // Cerrar la conexión conexion.CerrarConexion(); } }
public static ServicioCliente LeerDatoServicio(string servicio, string cliente) { // Lista una de tipo de clientes ServicioCliente resultados = new ServicioCliente(); //instanciamos la conexion Conexion conexion = new Conexion(@"(local)\sqlexpress", "GenisysATM_V2"); string sql = @"DECLARE @codigoServicio INT DECLARE @codigoCliente INT SET @codigoCliente =(SELECT id FROM ATM.Cliente WHERE nombres=@Nombre); SET @codigoServicio =(SELECT id FROM ATM.ServicioPublico WHERE descripcion=@Servicio); SELECT sc.id,sc.saldo FROM ATM.ServicioCliente AS sc WHERE sc.idServicio=@codigoServicio and idCliente=@codigoCliente ;"; SqlCommand cmd = conexion.EjecutarComando(sql); try { using (cmd) { cmd.Parameters.Add("@Nombre", SqlDbType.NVarChar, 100).Value = cliente; cmd.Parameters.Add("@Servicio", SqlDbType.NVarChar, 100).Value = servicio; } // Establecer la conexión conexion.EstablecerConexion(); SqlDataReader rdr = cmd.ExecuteReader(); // Ejecutar el query via un ExecuteReader //Recorremos los elementos que se encuentra guardados // en la lista tipo cliente while (rdr.Read()) { // Asignar los valores de Reader al objeto Departamento resultados.id = rdr.GetInt32(0); resultados.saldo = rdr.GetDecimal(1); } return(resultados); } catch (SqlException) { return(resultados); } finally { // Cerrar la conexión conexion.CerrarConexion(); } }
private void lstClienteServicio_Click(object sender, EventArgs e) { //cargamos el dato de saldo para ser actualizado. Models.ServicioCliente existe = Models.ServicioCliente.LeerDatoServicio(lstClienteServicio.SelectedItem.ToString(), lstClientes.SelectedItem.ToString()); //verificamos si el cliente esta registrado e inhabilitamos el boton guardar if (existe.saldo != 0) { // deshabilitamos el boton de guardar, dado que ya existe el cliente btnAgregar.Enabled = false; btnEditar.Enabled = true; btnEliminar.Enabled = true; txtSaldo.Text = Convert.ToString(existe.saldo); } else { txtSaldo.Text = "Error"; } }
private void btnAgregar_Click(object sender, EventArgs e) { if (txtSaldo.Text == "" || lstClientes.SelectedIndex == -1 || lstServicio.SelectedIndex == -1) { MessageBox.Show("Debe seleccionar un cliente, un servicio y especificar el saldo", "Error en ingreso", MessageBoxButtons.OK); } else { //instanciamos de la clase clienteServicio Models.ServicioCliente nuevo = new Models.ServicioCliente(); nuevo.saldo = Convert.ToDecimal(txtSaldo.Text); if (Models.ServicioCliente.InsertarClienteServicio(lstClientes.SelectedItem.ToString(), lstServicio.SelectedItem.ToString(), nuevo)) { MessageBox.Show("Registro guardado correctamente", "Control de clientes y servicios", MessageBoxButtons.OK); Limpiar(); } } }
public static bool ActualizarClienteServicio(string elCliente, string elServicio, ServicioCliente sc) { Conexion conn = new Conexion(@"(local)\sqlexpress", "GenisysATM_V2"); // enviamos y especificamos el comando a ejecutar SqlCommand cmd = conn.EjecutarComando("sp_ActualizarServicioCliente"); cmd.CommandType = CommandType.StoredProcedure; // agregamos los parámetros que son requeridos cmd.Parameters.Add(new SqlParameter("@cliente", SqlDbType.NVarChar, 100)); cmd.Parameters["@cliente"].Value = elCliente; cmd.Parameters.Add(new SqlParameter("@servicio", SqlDbType.NVarChar, 100)); cmd.Parameters["@servicio"].Value = elServicio; cmd.Parameters.Add(new SqlParameter("@saldo", SqlDbType.Decimal)); cmd.Parameters["@saldo"].Value = sc.saldo; // intentamos insertar al nuevo cliente try { // establecemos la conexión conn.EstablecerConexion(); // ejecutamos el comando cmd.ExecuteNonQuery(); return(true); } catch (SqlException ex) { MessageBox.Show(ex.Message + ex.StackTrace + "Detalles de la excepción"); return(false); } finally { conn.CerrarConexion(); } }