POO CON C#: 009-CRUD CON LISTAS Y PROGRAMACIÓN ORIENTADA A OBJETOS (NO DB) P2
"Continuamos con la segunda parte del ejemplo aplicado para la POO en lo que ahora veremos los eventos de insertar y listar datos de una persona cargadas y recuperadas desde un objeto definido con sus datos encapsulados."
En esta segunda parte ya vemos el evento de insertar y listar, lo cual podremos apreciar que es relativamente sencillo al haber definido correctamente la arquitectura de trabajo.
Seguidamente les dejo el código que empleamos en todo este ejemplo.
Datos.cs
using System.Collections.Generic;
namespace AppFirst
{
public class Datos
{
public static List dataPersona = new List();
}
}
AccesoDatos.cs
using System;
using System.Collections.Generic;
namespace AppFirst
{
public class AccesoDatos : IAccesoDatos
{
public bool create(Persona persona)
{
Datos.dataPersona.Add(persona);
return true;
}
public bool delete(string documentoIdentidad)
{
throw new NotImplementedException();
}
public List read()
{
return Datos.dataPersona;
}
public bool update(Persona persona)
{
throw new NotImplementedException();
}
}
}
IAccesoDatos.cs
using System.Collections.Generic;
namespace AppFirst
{
public interface IAccesoDatos
{
bool create(Persona persona);
List read();
bool update(Persona persona);
bool delete(string documentoIdentidad);
}
}
Auditoria.cs
using System;
namespace AppFirst
{
public abstract class Auditoria
{
public DateTime fechaRegistro { get; set; }
public DateTime fechaModificacion { get; set; }
}
}
Persona.cs
using System;
namespace AppFirst
{
public class Persona : Auditoria
{
public string nombre { get; set; }
public string apellido { get; set; }
public string documentoIdentidad { get; set; }
public bool sexo { get; set; }
public DateTime fechaNacimiento { get; set; }
public float estatura { get; set; }
}
}
Negocio.cs
using System;
using System.Collections.Generic;
namespace AppFirst
{
public class Negocio
{
public void insertar()
{
Console.WriteLine("Ingrese nombre: ");
string nombre = Console.ReadLine();
Console.WriteLine("Ingrese apellido: ");
string apellido = Console.ReadLine();
Console.WriteLine("Ingrese documento de identidad: ");
string documentoIdentidad = Console.ReadLine();
Console.WriteLine("Ingrese sexo: ");
bool sexo = Console.ReadLine()=="M" ? true : false;
Console.WriteLine("Ingrese fecha de nacimiento: ");
DateTime fechaNacimiento = DateTime.Parse(Console.ReadLine());
Console.WriteLine("Ingrese estatura: ");
float estatura = float.Parse(Console.ReadLine());
Persona persona = new Persona();
persona.nombre = nombre;
persona.apellido = apellido;
persona.documentoIdentidad = documentoIdentidad;
persona.sexo = sexo;
persona.fechaNacimiento = fechaNacimiento;
persona.estatura = estatura;
persona.fechaRegistro = DateTime.Now;
persona.fechaModificacion = DateTime.Now;
IAccesoDatos iAccesoDatos = new AccesoDatos();
if (iAccesoDatos.create(persona))
{
Console.WriteLine("Datos registrados correctamente.");
}
else
{
Console.WriteLine("No se pudo registrar los datos.");
}
}
public void listar()
{
IAccesoDatos iAccesoDatos = new AccesoDatos();
List listaPersona = iAccesoDatos.read();
int i = 1;
foreach (Persona item in listaPersona)
{
Console.WriteLine(string.Concat(i, ". ", item.nombre, "---", item.apellido, "---", item.documentoIdentidad, "---", item.sexo, "---", item.fechaNacimiento, "---", item.estatura, "---", item.fechaRegistro, "---", item.fechaModificacion));
i++;
}
}
public void editar()
{
}
public void eliminar()
{
}
}
}
Program.cs
using System;
namespace AppFirst
{
public class Program
{
public static void Main(string[] args)
{
int opcionSeleccionada = 0;
int x;
Negocio negocio = new Negocio();
while (opcionSeleccionada != 5)
{
Console.WriteLine("1. Insertar persona.");
Console.WriteLine("2. Listar personas.");
Console.WriteLine("3. Editar persona.");
Console.WriteLine("4. Eliminar persona.");
Console.WriteLine("5. Salir.");
Console.WriteLine("----------------------------------------------------");
Console.WriteLine("Ingrese una opción:");
string opcionSeleccionadaTemporal = Console.ReadLine();
if (int.TryParse(opcionSeleccionadaTemporal, out x))
{
opcionSeleccionada = int.Parse(opcionSeleccionadaTemporal);
switch (opcionSeleccionada)
{
case 1:
negocio.insertar();
break;
case 2:
negocio.listar();
break;
case 3:
break;
case 4:
break;
case 5:
break;
default:
Console.WriteLine("La opción asignada no está definida en el menú.");
break;
}
}
else
{
opcionSeleccionada = 0;
Console.WriteLine("El valor ingresado no es correcto");
}
if (opcionSeleccionada != 5)
{
Console.ReadLine();
}
Console.Clear();
}
}
}
}
A continuación se les deja un video donde se explica detalladamente el código empleado en la parte superior.
¿Te sirvió este artículo? Apóyanos con una donación para seguir creando contenido gratuito de calidad: