42 messaggi dal 31 marzo 2010
fileman ha scritto:
copiare i vostri file
Magari fossi ad un livello che mi permettesse di essere tra i realizzatori di ModelVC!

Però arrivo ad aprire il file del Template ed ho visto che l'istruzione per la generazione del namespace c'è... ma verifica che non sia una stringa vuota... e questo mi fa pensare ad una cosa molto banale, se apri le proprietà del progetto, il Default Namespace è indicato?
Modificato da fileman il 04 dicembre 2010 09.41 -

Se per default Namespace intendi il Root Namespace sotto la scheda "Application" nelle proprietà allora si, è valorizzato.

Ma penso sia proprio un bug/scelta del vb.net.
Se faccio un nuovo progetto in C#, aggiungo un edmx, uso il template POCO ottengo i namespace nei file generati.
Faccio la stessa identica cosa in vb.net e nulla, non li mette!
non conosco per niente VB, ma ho fatto una prova, in effetti anche se crei un progetto qualsiasi di VB non c'è il namespace nelle classi, forse va impostato a mano prima... booo, non so proprio come aiutarti, prova ad aprire un nuovo thread nel forum specifico

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
170 messaggi dal 17 febbraio 2009
Ciao, sono riuscito ad implementare il Repository Pattern nella mia applicazione, e ho correttamente creato L'Entity Models con le le entità Product, Category, ecc...

A questo punto vi posto il codice del ProductRepository

Namespace Repository



    Public Class ProductRepository
        Inherits BaseRepository(Of Product)
        Implements IProductRepository





        Public Function FindById(ByVal int As Integer) As Common.Model.Product Implements Common.Repository.IReadOnlyRepository(Of Common.Repository.IProductRepository, Common.Model.Product).FindById
            Return Me.Where(Function(c) c.ID = int).First ' richiamo il metodo Where di questa classe / repository
        End Function


        Public Function GetAll() As System.Linq.IQueryable(Of Common.Model.Product) Implements Common.Repository.IReadOnlyRepository(Of Common.Repository.IProductRepository, Common.Model.Product).GetAll
            Return CurrentObjectSet
        End Function


        Public Function Include(ByVal str As String) As Common.Repository.IProductRepository Implements Common.Repository.IReadOnlyRepository(Of Common.Repository.IProductRepository, Common.Model.Product).Include
            CurrentObjectSet.Include(str)
            Return Me
        End Function


        Public Function Count(ByVal predicate As System.Linq.Expressions.Expression(Of System.Func(Of Common.Model.Product, Boolean))) As Long Implements Common.Repository.IReadOnlyRepository(Of Common.Repository.IProductRepository, Common.Model.Product).Count
            Return CurrentObjectSet.Where(predicate).Count
        End Function


        Public Function Where(ByVal predicate As System.Linq.Expressions.Expression(Of System.Func(Of Common.Model.Product, Boolean))) As System.Linq.IQueryable(Of Common.Model.Product) Implements Common.Repository.IReadOnlyRepository(Of Common.Repository.IProductRepository, Common.Model.Product).Where
            Return CurrentObjectSet.Where(predicate)
        End Function






        Public Sub DeleteOnSubmit(ByVal entity As Common.Model.Product) Implements Common.Repository.IRepository(Of Common.Repository.IProductRepository, Common.Model.Product).DeleteOnSubmit
            CurrentObjectSet.DeleteObject(entity)
        End Sub


        Public Sub InsertOnSubmit(ByVal entity As Common.Model.Product) Implements Common.Repository.IRepository(Of Common.Repository.IProductRepository, Common.Model.Product).InsertOnSubmit
            CurrentObjectSet.AddObject(entity)
        End Sub


        Public Sub UpdateOnSubmit(ByVal entity As Common.Model.Product) Implements Common.Repository.IRepository(Of Common.Repository.IProductRepository, Common.Model.Product).UpdateOnSubmit
            CurrentObjectSet.Attach(entity)
            Context.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified)
        End Sub


        Public Sub SubmitChanges() Implements Common.Repository.IRepository(Of Common.Repository.IProductRepository, Common.Model.Product).SubmitChanges
            SaveChanges()
        End Sub


    End Class


End Namespace



La mia applicazione al momento è composta da 3 progetti:

Nel link sottostante potete vedere la struttura della soluzione.
http://85.39.202.194/MiaSoluzione.gif


A questo punto vorrei creare lo strato di presentazione dell'anagrafica prodotti tramite le webforms. Lo strato presentazione nella soluzione sopra postata dovrebbe coincidere con il progetto Demo1.

La singola pagina productslist.aspx (ad esempio) dovrebbe mostrare tramite una ListView l'elenco dei prodotti presenti, inserirli, modificarli ed eliminarli. Il tutto sfruttando le operazioni messe a disposizione dal repository sopra citato.

Leggevo un articolo di Dino Esposito che accennava alla creazione di un Service Layer posto fra l'UI e il Domain Layer.

A questo punto visto i miei dubbi e perplessità in merito, mi sarebbe di grande aiuto una vostra opione su quanto già fatto e su come procere per implementare l'IU appena richiesto.


Come sempre, vi ringrazio per la pazienza concessa!

Saluti
V.
il service layer può tornare utile per la scalabilità dell'applicazione e/o l'accesso da diversi tipi di client, tipo ASP.NET MVC, Silverlight, WPF, ma anche PHP, Java.

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
170 messaggi dal 17 febbraio 2009
fileman ha scritto:
il service layer può tornare utile per la scalabilità dell'applicazione e/o l'accesso da diversi tipi di client, tipo ASP.NET MVC, Silverlight, WPF, ma anche PHP, Java.


In effetti è proprio quello che vorrei ottenere... in vista di una futura creazione di modulo per iPhone / iPad o dalla necessità di richiamare alcune funzionalità del sistema tramite Windows Forms e non solo tramite Web Forms.

La domanda è come e dove realizzare il service layer. Aggiungo un nuovo progetto che chiamo service layer oppure creo delle cartelle all'interno del progetto application??

In oltre, se prendiamo ad esempio l'anagrafica prodotti, l'utente avrà a disposione una web form dove potra selezionare i prodotti in base a dei filtri (esempio per categoria) oppure in base al nome o a parte di esso, oppure creare, aggiungere e rimuovere prodotti.

Tutte queste "operazioni di alto livello" è giusto che siano implementati nel service layer magari tramite un interfaccia base (IBaseServiceLayer) che definisce i metodi Find, Create, Delete, Update, Loads (carica tutti i prodotti insieme alle tabelle collegate).

Che ne pensate?? Quale strada adottereste voi ??
La domanda è come e dove realizzare il service layer. Aggiungo un nuovo progetto che chiamo service layer oppure creo delle cartelle all'interno del progetto application
direi di si, la linea da seguire è sempre quella di separare il più possibile.

Se realizzi un service layer, tutte le richieste dovrebbero passare attraverso di esso, la webform deve essere una UI pura, minima se non inesistente presenza di codice, giusto qualche validazione dei dati per evitare l'invio incompleto dei dati obbligatori.

Non hai veramente capito qualcosa fino a quando non sei in grado di spiegarlo a tua nonna.
-Albert Einstein-
170 messaggi dal 17 febbraio 2009
fileman ha scritto:
La domanda è come e dove realizzare il service layer. Aggiungo un nuovo progetto che chiamo service layer oppure creo delle cartelle all'interno del progetto application
direi di si, la linea da seguire è sempre quella di separare il più possibile.

Se realizzi un service layer, tutte le richieste dovrebbero passare attraverso di esso, la webform deve essere una UI pura, minima se non inesistente presenza di codice, giusto qualche validazione dei dati per evitare l'invio incompleto dei dati obbligatori.



OK perfetto.
Non so se hai letto il post precendente e hai visto l'immagine della struttura della mia soluzione.
Tu quali interfacce creeresti o che metodi inseriresti in tali interfacce?? chiedo questo perchè al momento ho una ListView che ha un elenco di prodotti, se io soluziono una categoria di prodotto, la listview ricari i prodotti di quella categoria più la tabella proprietà_categorie con le proprietà di quel prodotto selezionato (es: se la categoria è tessuto: carico le proprietà misura, colore,e cc...)

che ne pensi??

ps: non riesco a trovare l'implementazione del service layer su ModelVC... sono io che non lo trovo o non c'è?? :)
170 messaggi dal 17 febbraio 2009
up?!!
Modificato da vailfox il 07 dicembre 2010 15.24 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.