Controladora #14

Open
opened 2024-02-23 21:55:54 -03:00 by fede · 3 comments
Owner

Consiste en la parte que devuelve los mensajes (en formato string a la vista), además de ser la responsable de interactuar con los repositorios.

A continuación dejo un ejemplo de se vería esto:

namespace Controladora
{
    public class ControladorGrupo
    {

        private RepoGrupo repoGrupo { get; set; }
        private ControladorGrupo() 
        {
        }

        private static ControladorGrupo instancia;
        public static ControladorGrupo Instancia
        {
            get
            {
                if (instancia == null) instancia = new ControladorGrupo();
                return instancia;
            }
        }

        public ReadOnlyCollection<Grupo>? Listar();

		public string Añadir(Grupo grupo)
        {
            try
            {
                if (grupo == null)
                {
                    return "El grupo es nulo algo falló en la carga";
                }
                else
                {
                    return (repoGrupo.Add(grupo)) ?
                        $"El grupo {grupo.Nombre} se cargó correctamente" :

                        // no devuelvo el nombre cuando falla por las dudas que el string "Nombre" sea null,
                        // no puedo confiar que este bien cargado si falló.
                        "El Grupo fallo al cargarse";

                }
            }
            catch (Exception e)
            {
                throw;
            }
        }

        public string Modificar(Grupo grupo)
        {
            try
            {
                if (grupo == null)
                {
                    return "El grupo es nulo algo falló en la carga";
                }
                else
                {
                    return (repoGrupo.Mod(grupo)) ?
                        $"El grupo {grupo.Nombre} se cambió correctamente" :

                        // no devuelvo el nombre cuando falla por las dudas que el string "Nombre" sea null,
                        // no puedo confiar que este bien cargado si falló.
                        "El Grupo fallo al Modificarse";

                }
            }
            catch (Exception e)
            {
                throw;
            }
        }
        
        public string Eliminar(Grupo grupo)
        {
            try
            {
                if (grupo == null)
                {
                    return "El grupo es nulo algo falló en la carga";
                }
                else
                {
                    return (repoGrupo.Remove(grupo)) ?
                        $"El grupo {grupo.Nombre} se eliminó" :

                        // no devuelvo el nombre cuando falla por las dudas que el string "Nombre" sea null,
                        // no puedo confiar que este bien cargado si falló.
                        "El Grupo fallo al eliminarse";

                }
            }
            catch (Exception e)
            {
                throw;
            }
        }


    }
}
Consiste en la parte que devuelve los mensajes (en formato string a la vista), además de ser la responsable de interactuar con los repositorios. A continuación dejo un ejemplo de se vería esto: ```csharp namespace Controladora { public class ControladorGrupo { private RepoGrupo repoGrupo { get; set; } private ControladorGrupo() { } private static ControladorGrupo instancia; public static ControladorGrupo Instancia { get { if (instancia == null) instancia = new ControladorGrupo(); return instancia; } } public ReadOnlyCollection<Grupo>? Listar(); public string Añadir(Grupo grupo) { try { if (grupo == null) { return "El grupo es nulo algo falló en la carga"; } else { return (repoGrupo.Add(grupo)) ? $"El grupo {grupo.Nombre} se cargó correctamente" : // no devuelvo el nombre cuando falla por las dudas que el string "Nombre" sea null, // no puedo confiar que este bien cargado si falló. "El Grupo fallo al cargarse"; } } catch (Exception e) { throw; } } public string Modificar(Grupo grupo) { try { if (grupo == null) { return "El grupo es nulo algo falló en la carga"; } else { return (repoGrupo.Mod(grupo)) ? $"El grupo {grupo.Nombre} se cambió correctamente" : // no devuelvo el nombre cuando falla por las dudas que el string "Nombre" sea null, // no puedo confiar que este bien cargado si falló. "El Grupo fallo al Modificarse"; } } catch (Exception e) { throw; } } public string Eliminar(Grupo grupo) { try { if (grupo == null) { return "El grupo es nulo algo falló en la carga"; } else { return (repoGrupo.Remove(grupo)) ? $"El grupo {grupo.Nombre} se eliminó" : // no devuelvo el nombre cuando falla por las dudas que el string "Nombre" sea null, // no puedo confiar que este bien cargado si falló. "El Grupo fallo al eliminarse"; } } catch (Exception e) { throw; } } } } ```
fede self-assigned this 2024-02-23 21:56:00 -03:00
fede added this to the Codigo project 2024-02-23 21:56:02 -03:00
fede added this to the v0.2 milestone 2024-02-23 21:56:04 -03:00
Author
Owner

debe de haber una controladora por cada caso de uso

debe de haber una controladora por cada caso de uso
fede added the Caractéristica Nucleo label 2024-02-23 21:56:52 -03:00
Author
Owner

Voy a listar los casos de uso y a hacer una 8ncidencia por cada uno

Voy a listar los casos de uso y a hacer una 8ncidencia por cada uno
Author
Owner

estoy haciendo una clase abstracta "ControladoraBase"

estoy haciendo una clase abstracta "ControladoraBase"
This repo is archived. You cannot comment on issues.