 
			
						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.
					
				
						
							Autor: 
							Kevin Arias (Ver todos sus post)
						
					
				
																			C#
													C Sharp
													Programación orientada a objetos
													POO
													CRUD
													Listas
											
				
						Fecha de publicación: 2016-09-09 15:30:22
					
				
						Ayúdanos con el arduo trabajo que realizamos.
						
						
					
				
			[POO CON C#] POO CON C#: 009-CRUD CON LISTAS Y PROGRAMACIÓN ORIENTADA A OBJETOS (NO DB) P2
		
	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.
INFORMACIÓN SOBRE EL AUTOR DEL ARTÍCULO

									KEVIN ARNOLD ARIAS FIGUEROA
								
									(SOFTWARE ARCHITECT - CODIDEEP E.I.R.L.):
								Profesional en tecnologías de la información con más de 10 años de experiencia en desarrollo de software empresarial, con amplios conocimientos en manejo de arquitecturas de software de escala vertical y horizontal, gestión de proyectos, liderazgo de equipos y dominio en modelado de procesos a gran escala.
			
		- Debes estar logueado para realizar comentarios
 
		 
		 
		