public OrdersViewModel([Import("OrdersProvider")] IDataProvider <Order> ordersProvider, [Import("OrderPositionsProvider")] IOrderPostionsProvider <OrderPosition> orderPositionProvider, [Import("InvoiceProvider")] IDataProvider <Invoice> invoiceProvider, [Import("OrderFilesProvider")] IOrderPostionsProvider <OrderFilePosition> orderFilePositionsProvider, [Import("SupplierProvider")] IDataProvider <Supplier> supplierProvider, [Import("CodesProvider")] IDataProvider <Code> codesProvider, [Import("StoragePlaceProvider")] IDataProvider <StoragePlace> storagePlacesProvider, [Import("User")] IUser user) { this.ordersProvider = ordersProvider; this.orderPositionProvider = orderPositionProvider; this.codesProvider = codesProvider; this.invoiceProvider = invoiceProvider; this.orderFilePostionsProvider = orderFilePositionsProvider; this.supplierProvider = supplierProvider; this.storagePlacesProvider = storagePlacesProvider; this.user = (User)user; this.orders = new BindableCollection <OrderViewModel>(); this.Orders = CollectionViewSource.GetDefaultView(this.orders); this.Orders.Filter = item => { OrderViewModel orderModel = item as OrderViewModel; return(orderModel.Status.GetAttribute <ViewRoles>().UserRoles.Contains(this.user.Role)); }; this.SelectedOrder = this.orders.FirstOrDefault(); }
public SupplyOrderViewModel(SupplyOrder order, IOrderPostionsProvider <OrderPosition> orderPositionProvide, IDataProvider <Code> codesProvider, User user, IDataProvider <Order> ordersProvider, Action <object> ordersOnCollectionChanged, IDataProvider <Invoice> invoiceProvider, IDataProvider <OrderFilePosition> orderFilePositionsProvider, IDataProvider <Supplier> supplierProvider, IDataProvider <StoragePlace> storagePlacesProvider) : base(order, orderPositionProvide, codesProvider, user, ordersProvider, invoiceProvider, orderFilePositionsProvider, supplierProvider, storagePlacesProvider) { this.order = order; this.orderPositions = new BindableCollection <SupplyOrderPositionViewModel>(); this.OrderPositions = CollectionViewSource.GetDefaultView(this.orderPositions); this.LoadPositions(); base.report = this.Report; base.ordersOnCollectionChanged = ordersOnCollectionChanged; this.AddOrderPositionCommand = new DelegateCommand(this.AddOrderPosition, o => CanAddOrderPosition); this.DeleteOrderPositionCommand = new DelegateCommand(this.DeleteOrderPosition, o => this.CanDeleteOrderPosition); //this.order.Code = this.codes.FirstOrDefault(); this.AddFileCommand = new DelegateCommand(this.AddFile, o => this.CanAddFile); }
public OrderViewModel(Order order, IOrderPostionsProvider <OrderPosition> orderPositionProvider, IDataProvider <Code> codesProvider, User user, IDataProvider <Order> ordersProvider, IDataProvider <Invoice> invoiceProvider, IDataProvider <OrderFilePosition> orderFilePositionsProvider, IDataProvider <Supplier> supplierProvider, IDataProvider <StoragePlace> storagePlacesProvider) { this.order = order; this.orderPositionProvider = orderPositionProvider; this.codesProvider = codesProvider; this.invoiceProvider = invoiceProvider; this.orderFilePositionsProvider = orderFilePositionsProvider; this.supplierProvider = supplierProvider; this.User = user; this.codes = this.codesProvider.GetAll(); this.invoices = this.invoiceProvider.GetAll().Where(i => i.OrderGuid == Guid.Empty); this.suppliers = this.supplierProvider.GetAll(); this.storagePlacesProvider = storagePlacesProvider; this.orderProvider = ordersProvider; //this.orderFilePositionsViews = // this.order.FilePositions.Select(o => new OrderFilePositionViewModel(o)).ToList(); this.orderFiles = new ObservableCollection <OrderFilePositionViewModel>(); this.OrderFiles = CollectionViewSource.GetDefaultView(this.orderFiles); this.FileSelected = true; this.LoadFilePositions(); this.DeleteFileCommand = new DelegateCommand(this.DeleteFile, o => this.CanDeleteFile); this.SelectFileCommand = new DelegateCommand(this.SelectFile, o => this.CanSelectFile); this.PromoteCommand = new DelegateCommand(this.Promote, o => this.CanPromote); this.PrintReportCommand = new DelegateCommand(this.PrintReport); this.StoragePlaces = new ObservableCollection <StoragePlace>(); this.Positions = new BindableCollection <string> { Resources.Master, Resources.Chief_engineer, Resources._2_engineer, Resources._3_engineer, Resources._4_engineer, Resources.Chief_officer, Resources._2Mate, Resources._3Mate, Resources.Cook, Resources.Superintendant }; this.UpdateStoragePlaces(); }