Pregunta

Tengo una aplicación MVC2 con las siguientes clases:

-ordermodel

-LINEORDERMODEL

-ordercontroller

-LINEORDERCONTROLLER

En la clase ORDERCONTROLLER, estoy recordando algunos valores de un formulario web. Hasta ahora, creé instancias de cada línea de pedido (LineOrderModel Clase) y OrderClass dentro del controlador.

Estaba tratando de crear una clase de Ordenfacade para encapsular las diferentes cosas que hacer al crear un pedido.

Entonces, en esa clase, creé un método como este:

public void saveOrder(int idProvider,decimal? price)
        {
            // Here I create instances of OrderModel and LineOrderModel
            // and assign their properties
        }

Pero mi problema es que no sé cómo pasar todas las líneas de pedido capturadas desde el formulario web.

Creo que no tiene sentido crear y pasar a ese método una lista con la clase de OrderLines (porque el punto de esto es operar con la fachada, no con la clase directamente)

¿Cómo podría encapsular las diferentes líneas (todas con propiedades como números, IDPRODUCT ...) en una lista de objetos genéricos, cada uno con estas propiedades?

¿Tal vez algo como un List<List<object>>?

¡Gracias de antemano!

¿Fue útil?

Solución

Sounds like you don't need facade. Facade would be good choice if you use data transfer objects (DTOs) between your business logic and application logic (controllers) - in such scenario DTOs can also be view models (I guess orthodox MVC developers will don't like this idea). Facade would take DTOs and convert them into some business or domain objects.

But in your scenario you simply need to fill data directly to your model classes - that is purpose of view model classes to use them in views and controllers. Using any kind of property bags to transfer data from controller to business logic is not a nice solution.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top