Código C# para Gestionar Coches en .NET MAUI: Mostrar, Insertar, Actualizar y Eliminar

Informática3,63 KB

Gestión de coches en .NET MAUI con C#

A continuación se muestra el código de una aplicación básica que permite mostrar, insertar, actualizar y eliminar coches utilizando C# y .NET MAUI.

1. Página para mostrar coches (MostrarCochePage)

namespace Coches;

public partial class MostrarCochePage : ContentPage

{

public MostrarCochePage()

{

InitializeComponent();

DatosCompartidos.listCoches.AddRange(new List<Coches>

{

new Coches { Id = "1", Km = "30.000", Marca = "Ferrari", Modelo = "LaFerrari", Fecha = new DateTime(2025, 4, 3) },

});

CollectionListado.ItemsSource = DatosCompartidos.listCoches;

}

protected override void OnAppearing()

{

base.OnAppearing();

CollectionListado.ItemsSource = null;

CollectionListado.ItemsSource = DatosCompartidos.listCoches;

}

// Esto sirve para modificar

private async void ActualizarCoche_Clicked(object sender, EventArgs e)

{

if ((sender as Button)?.CommandParameter is Coches coche)

await Navigation.PushAsync(new ActualizarCochePage(coche));

}

}

2. Página para actualizar coches (ActualizarCochePage)

{

private Coches cocheAEditar;

public ActualizarCochePage(Coches coche)

{

InitializeComponent();

cocheAEditar = coche;

string Id = entryID.Text;

string Km = entryKm.Text;

entryKm.Text = coche.Km;

pickerMarca.SelectedItem = coche.Marca;

entryModelo.Text = coche.Modelo;

datePickerFecha.Date = coche.Fecha;

}

private async void BotonActualizar_Clicked(object sender, EventArgs e)

{

cocheAEditar.Km = entryKm.Text;

cocheAEditar.Marca = pickerMarca.SelectedItem?.ToString() ?? "";

cocheAEditar.Modelo = entryModelo.Text;

cocheAEditar.Fecha = datePickerFecha.Date;

await DisplayAlert("Actualizado", "El coche ha sido actualizado", "OK");

await Shell.Current.GoToAsync("//CollectionListado");

}

}

3. Página para insertar coches (InsertarCochePage)

{

public InsertarCochePage()

{

InitializeComponent();

}

private async void botonInsertarCoche_Clicked(object sender, EventArgs e)

{

string Id = entryID.Text;

string Km = entryKm.Text;

string Marca = pickerMarca.SelectedItem?.ToString() ?? "";

string Modelo = entryModelo.Text;

DateTime Fecha = datePickerFecha.Date;

Coches nuevoCoche = new Coches

{

Id = Id,

Km = Km,

Marca = Marca,

Modelo = Modelo,

Fecha = Fecha,

};

DatosCompartidos.listCoches.Add(nuevoCoche);

await DisplayAlert("Insertado", "El vehículo ha sido insertado correctamente", "OK");

await Shell.Current.GoToAsync("//CollectionListado");

}

}

4. Página para eliminar coches (EliminarCochePage)

namespace Coches;

public partial class EliminarCochePage : ContentPage

{

public EliminarCochePage()

{

InitializeComponent();

}

private async void botonEliminarCoche_Clicked(object sender, EventArgs e)

{

string Id = entryIDEliminar.Text;

var Coches = DatosCompartidos.listCoches.FirstOrDefault(co => co.Id == Id);

if (Coches != null)

{

DatosCompartidos.listCoches.Remove(Coches);

await DisplayAlert("Eliminado", "Se ha eliminado el coche correctamente", "OK");

}

else

{

await DisplayAlert("No encontrado", "No se ha encontrado el coche con ese ID", "SALIR");

}

}

}

Descargar

PDF Word HTML