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 Orders collection view model.
///
public partial class OrderCollectionViewModel : CollectionViewModel {
///
/// Creates a new instance of OrderCollectionViewModel as a POCO view model.
///
/// A factory used to create a unit of work instance.
public static OrderCollectionViewModel Create(IUnitOfWorkFactory unitOfWorkFactory = null) {
return ViewModelSource.Create(() => new OrderCollectionViewModel(unitOfWorkFactory));
}
///
/// Initializes a new instance of the OrderCollectionViewModel class.
/// This constructor is declared protected to avoid undesired instantiation of the OrderCollectionViewModel type without the POCO proxy factory.
///
/// A factory used to create a unit of work instance.
protected OrderCollectionViewModel(IUnitOfWorkFactory unitOfWorkFactory = null)
: base(unitOfWorkFactory ?? UnitOfWorkSource.GetUnitOfWorkFactory(), x => x.Orders, query => query.Include(x => x.Store).Include(x => x.Customer).ActualOrders().OrderBy(x => x.InvoiceNumber)) {
}
}
}