none
¿Cómo proteger un setter de una de una entidad de estado en mi capa de dominio, para que solo sea asignable mediante un método en mi capa de servicio? RRS feed

  • Pregunta

  • Tengo dividido mi proyecto en varias capas (Class library). Las importantes en este caso son la de servicio (mi lógica de negocio) y la de dominio (mi definición de las entidades). Una relación de ejemplo (de las tantas que tienen asociadas una entidad estado) seria una de tipo Delivery (simplificada):

    public class Delivery
    {
        public int ID { get; set; }
    
        public string DestinyDirection { get; set; }
    
        public int OrderID { get; set; }
    
        public int DeliveryStateID { get; set; } // Propiedad que solo quiero que sea seteable mediante 
                                                 // un método que valide lógica de negocio
    }

    Y una del tipo DeliveryState:

    public class DeliveryState
    {
        public int ID { get; set; }
    
        public string StateName{ get; set; }
    }

    Como se ve, la relación entre la entidad Delivery y la entidad DeliveryState se da mediante la propiedad DeliveryStateID. Lo que yo quiero, es poder delegar la asignación de los diferentes estados que puede tomar, mediante métodos en mi clase de servicio (que es donde tiene que ir lo relacionado a mi lógica de negocio) para, en resumen, poder cambiar de estados solo mediante estos métodos, que validarán que se cumplan mis reglas de negocio para poder cambiar de un estado A a un B, y en caso de no cumplirse, lanzar una excepción.


    tomasgavagnin

    miércoles, 7 de abril de 2021 22:18

Todas las respuestas

  • Hola,

    Gracias por levantar tu consulta en los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    jueves, 8 de abril de 2021 13:55
    Moderador