using System; using System.Linq; using DevExpress.Mvvm.POCO; using DevExpress.DevAV.Common.Utils; using DevExpress.DevAV.DevAVDbDataModel; using DevExpress.Mvvm.DataModel; using DevExpress.DevAV; using DevExpress.DevAV.Common.ViewModel; namespace DevExpress.DevAV.ViewModels { /// /// Represents the Customers collection view model. /// public partial class CustomerCollectionViewModel : CollectionViewModel { /// /// Creates a new instance of CustomerCollectionViewModel as a POCO view model. /// /// A factory used to create a unit of work instance. public static CustomerCollectionViewModel Create(IUnitOfWorkFactory unitOfWorkFactory = null) { return ViewModelSource.Create(() => new CustomerCollectionViewModel(unitOfWorkFactory)); } /// /// Initializes a new instance of the CustomerCollectionViewModel class. /// This constructor is declared protected to avoid undesired instantiation of the CustomerCollectionViewModel type without the POCO proxy factory. /// /// A factory used to create a unit of work instance. protected CustomerCollectionViewModel(IUnitOfWorkFactory unitOfWorkFactory = null) : base(unitOfWorkFactory ?? UnitOfWorkSource.GetUnitOfWorkFactory(), x => x.Customers, query => query.OrderBy(x => x.Name)) { } } }