Acceder Registrarme

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.

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