public IEntityAutocompleteSelectorFactory CreateNomenclatureForFlyerJournalFactory() => new EntityAutocompleteSelectorFactory <NomenclaturesJournalViewModel>( typeof(Nomenclature), () => { var filter = new NomenclatureFilterViewModel { RestrictCategory = NomenclatureCategory.additional, RestrictArchive = false }; var nomenclatureRepository = new NomenclatureRepository(new NomenclatureParametersProvider(new ParametersProvider())); var userRepository = new UserRepository(); var counterpartyJournalFactory = new CounterpartyJournalFactory(); var journal = new NomenclaturesJournalViewModel( filter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, new EmployeeService(), new NomenclatureJournalFactory(), counterpartyJournalFactory, nomenclatureRepository, userRepository) { SelectionMode = JournalSelectionMode.Single }; return(journal); } );
public IEntitySelector CreateNomenclatureOfGoodsWithoutEmptyBottlesSelector(IEnumerable <int> excludedNomenclatures = null) { NomenclatureFilterViewModel nomenclatureFilter = new NomenclatureFilterViewModel(); nomenclatureFilter.RestrictArchive = true; nomenclatureFilter.AvailableCategories = Nomenclature.GetCategoriesForGoodsWithoutEmptyBottles(); var nomenclatureRepository = new NomenclatureRepository(new NomenclatureParametersProvider(new ParametersProvider())); var userRepository = new UserRepository(); var counterpartySelectorFactory = new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel, CounterpartyJournalFilterViewModel>( ServicesConfig.CommonServices); var nomenclatureSelectorFactory = new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>( ServicesConfig.CommonServices, nomenclatureFilter, counterpartySelectorFactory, nomenclatureRepository, userRepository); NomenclaturesJournalViewModel vm = new NomenclaturesJournalViewModel( nomenclatureFilter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, new EmployeeService(), nomenclatureSelectorFactory, counterpartySelectorFactory, nomenclatureRepository, userRepository ); vm.SelectionMode = JournalSelectionMode.Single; return(vm); }
public IEntityAutocompleteSelector CreateAutocompleteSelector(bool multipleSelect = false) { NomenclatureFilterViewModel nomenclatureFilter = new NomenclatureFilterViewModel(); nomenclatureFilter.RestrictCategory = NomenclatureCategory.fuel; nomenclatureFilter.RestrictArchive = false; var nomenclatureRepository = new NomenclatureRepository(new NomenclatureParametersProvider(new ParametersProvider())); var userRepository = new UserRepository(); var counterpartySelectorFactory = new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel, CounterpartyJournalFilterViewModel>( ServicesConfig.CommonServices); var nomenclatureSelectorFactory = new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>( ServicesConfig.CommonServices, nomenclatureFilter, counterpartySelectorFactory, nomenclatureRepository, userRepository); WaterJournalViewModel waterJournal = new WaterJournalViewModel( UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, new EmployeeService(), nomenclatureSelectorFactory, counterpartySelectorFactory, nomenclatureRepository, userRepository ); waterJournal.SelectionMode = multipleSelect ? JournalSelectionMode.Multiple : JournalSelectionMode.Single; return(waterJournal); }
public IEntitySelector CreateNomenclatureSelectorForFuelSelect() { NomenclatureFilterViewModel nomenclatureFilter = new NomenclatureFilterViewModel(); nomenclatureFilter.RestrictCategory = NomenclatureCategory.fuel; nomenclatureFilter.RestrictArchive = false; var nomenclatureRepository = new NomenclatureRepository(new NomenclatureParametersProvider(new ParametersProvider())); var userRepository = new UserRepository(); var counterpartyJournalFactory = new CounterpartyJournalFactory(); NomenclaturesJournalViewModel vm = new NomenclaturesJournalViewModel( nomenclatureFilter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, new EmployeeService(), new NomenclatureJournalFactory(), counterpartyJournalFactory, nomenclatureRepository, userRepository ); vm.SelectionMode = JournalSelectionMode.Multiple; return(vm); }
public IEntityAutocompleteSelectorFactory GetDefaultWaterSelectorFactory() { var nomenclatureFilter = new NomenclatureFilterViewModel { HidenByDefault = true }; nomenclatureFilter.SetAndRefilterAtOnce( x => x.RestrictCategory = NomenclatureCategory.water, x => x.RestrictDilers = true ); var counterpartyJournalFactory = new CounterpartyJournalFactory(); var nomRep = new NomenclatureRepository(new NomenclatureParametersProvider(new ParametersProvider())); var userRepository = new UserRepository(); var journalViewModel = new NomenclaturesJournalViewModel( nomenclatureFilter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, new EmployeeService(), new NomenclatureJournalFactory(), counterpartyJournalFactory, nomRep, userRepository) { SelectionMode = JournalSelectionMode.Single, }; return(new EntityAutocompleteSelectorFactory <NomenclaturesJournalViewModel>(typeof(Nomenclature), () => journalViewModel)); }
protected void OnButtonChangeNewClicked(object sender, EventArgs e) { var filter = new NomenclatureFilterViewModel(); var userRepository = new UserRepository(); var employeeService = VodovozGtkServicesConfig.EmployeeService; var counterpartyJournalFactory = new CounterpartyJournalFactory(); var nomenclatureAutoCompleteSelectorFactory = new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>( ServicesConfig.CommonServices, filter, counterpartyJournalFactory, _nomenclatureRepository, userRepository ); var nomenclaturesJournalViewModel = new NomenclaturesJournalViewModel( filter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, employeeService, new NomenclatureJournalFactory(), counterpartyJournalFactory, _nomenclatureRepository, userRepository ); nomenclaturesJournalViewModel.SelectionMode = JournalSelectionMode.Single; nomenclaturesJournalViewModel.OnEntitySelectedResult += ChangeNewNomenclature_OnEntitySelectedResult; MyTab.TabParent.AddSlaveTab(MyTab, nomenclaturesJournalViewModel); }
public IEntitySelector CreateNomenclatureSelectorForFuelSelect() { NomenclatureFilterViewModel nomenclatureFilter = new NomenclatureFilterViewModel(); nomenclatureFilter.RestrictCategory = NomenclatureCategory.fuel; nomenclatureFilter.RestrictArchive = false; var nomenclatureRepository = new NomenclatureRepository(new NomenclatureParametersProvider()); var counterpartySelectorFactory = new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel, CounterpartyJournalFilterViewModel>( ServicesConfig.CommonServices); var nomenclatureSelectorFactory = new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>( ServicesConfig.CommonServices, nomenclatureFilter, counterpartySelectorFactory, nomenclatureRepository, UserSingletonRepository.GetInstance()); NomenclaturesJournalViewModel vm = new NomenclaturesJournalViewModel( nomenclatureFilter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, new EmployeeService(), nomenclatureSelectorFactory, counterpartySelectorFactory, nomenclatureRepository, UserSingletonRepository.GetInstance() ); vm.SelectionMode = JournalSelectionMode.Multiple; return(vm); }
public NomenclatureAutoCompleteSelectorFactory( ICommonServices commonServices, NomenclatureFilterViewModel filterViewModel, IEntityAutocompleteSelectorFactory counterpartySelectorFactory, INomenclatureRepository nomenclatureRepository, IUserRepository userRepository) : base(commonServices, filterViewModel, counterpartySelectorFactory, nomenclatureRepository, userRepository) { }
public NomenclatureSelectorFactory(ICommonServices commonServices, NomenclatureFilterViewModel filterViewModel, IEntityAutocompleteSelectorFactory counterpartySelectorFactory, INomenclatureRepository nomenclatureRepository, IUserRepository userRepository) { this.commonServices = commonServices ?? throw new ArgumentNullException(nameof(commonServices)); this.nomenclatureRepository = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository)); this.userRepository = userRepository ?? throw new ArgumentNullException(nameof(userRepository)); this.counterpartySelectorFactory = counterpartySelectorFactory ?? throw new ArgumentNullException(nameof(counterpartySelectorFactory)); filter = filterViewModel; }
public NomenclatureJournalViewModel( IUnitOfWorkFactory unitOfWorkFactory, IInteractiveService interactiveService, INavigationManager navigationManager, ILifetimeScope autofacScope, IDeleteEntityService deleteEntityService = null, ICurrentPermissionService currentPermissionService = null ) : base(unitOfWorkFactory, interactiveService, navigationManager, deleteEntityService, currentPermissionService) { UseSlider = true; JournalFilter = Filter = autofacScope.Resolve <NomenclatureFilterViewModel>(new TypedParameter(typeof(JournalViewModelBase), this)); MakePopup(); }
public IEntityAutocompleteSelectorFactory GetDefaultNomenclatureSelectorFactory() { var filter = new NomenclatureFilterViewModel(); INomenclatureRepository nomenclatureRepository = new NomenclatureRepository( new NomenclatureParametersProvider( new ParametersProvider())); IUserRepository userRepository = new UserRepository(); var counterpartySelectorFactory = new CounterpartyJournalFactory(); return(new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>(ServicesConfig.CommonServices, filter, counterpartySelectorFactory.CreateCounterpartyAutocompleteSelectorFactory(), nomenclatureRepository, userRepository)); }
public WidgetViewModelBase Resolve(PromotionalSet promotionalSet, PromotionalSetActionType setActionType) { switch (setActionType) { case PromotionalSetActionType.FixedPrice: var filter = new NomenclatureFilterViewModel(); filter.RestrictCategory = NomenclatureCategory.water; var nomenclatureSelectorFactory = new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>( ServicesConfig.CommonServices, filter, counterpartySelectorFactory, nomenclatureRepository, userRepository); return(new AddFixPriceActionViewModel(uow, promotionalSet, ServicesConfig.CommonServices, nomenclatureSelectorFactory)); default: throw new ArgumentException(); } }
public NomenclaturesJournalViewModel CreateNomenclaturesJournalViewModel(bool multiselect = false) { NomenclatureFilterViewModel nomenclatureFilter = new NomenclatureFilterViewModel(); var nomenclatureRepository = new NomenclatureRepository(new NomenclatureParametersProvider(new ParametersProvider())); var userRepository = new UserRepository(); var counterpartyJournalFactory = new CounterpartyJournalFactory(); NomenclaturesJournalViewModel vm = new NomenclaturesJournalViewModel( nomenclatureFilter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, new EmployeeService(), new NomenclatureJournalFactory(), counterpartyJournalFactory, nomenclatureRepository, userRepository ); vm.SelectionMode = multiselect ? JournalSelectionMode.Multiple : JournalSelectionMode.Single; return(vm); }
public ProducedProductionReport( IEntityAutocompleteSelectorFactory nomenclatureSelectorFactory, IEntityAutocompleteSelectorFactory counterpartySelectorFactory, INomenclatureRepository nomenclatureRepository) { this.Build(); UoW = UnitOfWorkFactory.CreateWithoutRoot(); yenumcomboboxMonths.ItemsEnum = typeof(Month); yenumcomboboxMonths.SelectedItem = (Month)(DateTime.Now.AddMonths(-1).Month); ylistcomboboxYear.ItemsList = Enumerable.Range(DateTime.Now.AddYears(-10).Year, 21).Reverse(); ylistcomboboxYear.SelectedItem = DateTime.Today.Year; ycomboboxProduction.SetRenderTextFunc <Warehouse>(x => x.Name); ycomboboxProduction.ItemsList = UoW.Session.QueryOver <Warehouse>().Where(x => x.TypeOfUse == WarehouseUsing.Production).List(); entryreferenceNomenclature.SetEntityAutocompleteSelectorFactory( new EntityAutocompleteSelectorFactory <NomenclaturesJournalViewModel>(typeof(Nomenclature), () => { var nomenclatureFilter = new NomenclatureFilterViewModel(); return(new NomenclaturesJournalViewModel( nomenclatureFilter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, new EmployeeService(), nomenclatureSelectorFactory, counterpartySelectorFactory, nomenclatureRepository, UserSingletonRepository.GetInstance() )); }) ); buttonCreateReport.Sensitive = true; buttonCreateReport.Clicked += OnButtonCreateReportClicked; }
protected void OnButtonAddClicked(object sender, EventArgs e) { NomenclatureStockFilterViewModel filter = new NomenclatureStockFilterViewModel(new WarehouseSelectorFactory()); filter.RestrictWarehouse = DocumentUoW.Root.Warehouse; NomenclatureStockBalanceJournalViewModel vm = new NomenclatureStockBalanceJournalViewModel( filter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices ); vm.SelectionMode = JournalSelectionMode.Single; vm.TabName = "Выберите номенклатуру на замену"; vm.OnEntitySelectedResult += (s, ea) => { var selectedNode = ea.SelectedNodes.Cast <NomenclatureStockJournalNode>().FirstOrDefault(); if (selectedNode == null) { return; } var nomenclature = DocumentUoW.GetById <Nomenclature>(selectedNode.Id); newRow = new RegradingOfGoodsDocumentItem() { NomenclatureOld = nomenclature, AmountInStock = selectedNode.StockAmount }; var nomenclatureFilter = new NomenclatureFilterViewModel(); var userRepository = new UserRepository(); var employeeService = VodovozGtkServicesConfig.EmployeeService; var counterpartySelectorFactory = new CounterpartyJournalFactory(); var nomenclatureAutoCompleteSelectorFactory = new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>( ServicesConfig.CommonServices, nomenclatureFilter, counterpartySelectorFactory, _nomenclatureRepository, userRepository ); var nomenclaturesJournalViewModel = new NomenclaturesJournalViewModel( nomenclatureFilter, UnitOfWorkFactory.GetDefaultFactory, ServicesConfig.CommonServices, employeeService, new NomenclatureJournalFactory(), counterpartySelectorFactory, _nomenclatureRepository, userRepository ); nomenclaturesJournalViewModel.SelectionMode = JournalSelectionMode.Single; nomenclaturesJournalViewModel.OnEntitySelectedResult += SelectNewNomenclature_ObjectSelected; MyTab.TabParent.AddSlaveTab(MyTab, nomenclaturesJournalViewModel); }; MyTab.TabParent.AddSlaveTab(MyTab, vm); }
void ConfigureDlg() { if (StoreDocumentHelper.CheckAllPermissions(UoW.IsNew, WarehousePermissions.IncomingWaterEdit, Entity.IncomingWarehouse, Entity.WriteOffWarehouse)) { FailInitialize = true; return; } var editing = StoreDocumentHelper.CanEditDocument(WarehousePermissions.IncomingWaterEdit, Entity.IncomingWarehouse, Entity.WriteOffWarehouse); buttonFill.Sensitive = yentryProduct.IsEditable = spinAmount.Sensitive = referenceSrcWarehouse.IsEditable = referenceDstWarehouse.IsEditable = editing; incomingwatermaterialview1.Sensitive = editing; labelTimeStamp.Binding.AddBinding(Entity, e => e.DateString, w => w.LabelProp).InitializeFromSource(); spinAmount.Binding.AddBinding(Entity, e => e.Amount, w => w.ValueAsInt).InitializeFromSource(); referenceSrcWarehouse.ItemsQuery = StoreDocumentHelper.GetRestrictedWarehouseQuery(WarehousePermissions.IncomingWaterEdit); referenceSrcWarehouse.Binding.AddBinding(Entity, e => e.WriteOffWarehouse, w => w.Subject).InitializeFromSource(); referenceDstWarehouse.ItemsQuery = StoreDocumentHelper.GetRestrictedWarehouseQuery(WarehousePermissions.IncomingWaterEdit); referenceDstWarehouse.Binding.AddBinding(Entity, e => e.IncomingWarehouse, w => w.Subject).InitializeFromSource(); incomingwatermaterialview1.DocumentUoW = UoWGeneric; var permmissionValidator = new EntityExtendedPermissionValidator(PermissionExtensionSingletonStore.GetInstance(), EmployeeSingletonRepository.GetInstance()); Entity.CanEdit = permmissionValidator.Validate(typeof(IncomingWater), UserSingletonRepository.GetInstance().GetCurrentUser(UoW).Id, nameof(RetroactivelyClosePermission)); if (!Entity.CanEdit && Entity.TimeStamp.Date != DateTime.Now.Date) { spinAmount.Binding.AddFuncBinding(Entity, e => e.CanEdit, w => w.Sensitive).InitializeFromSource(); yentryProduct.Sensitive = false; referenceDstWarehouse.Sensitive = false; referenceSrcWarehouse.Sensitive = false; buttonFill.Sensitive = false; incomingwatermaterialview1.Sensitive = false; buttonSave.Sensitive = false; } else { Entity.CanEdit = true; } var nomenclatureFilter = new NomenclatureFilterViewModel() { HidenByDefault = true }; var nomenclatureRepository = new EntityRepositories.Goods.NomenclatureRepository(new NomenclatureParametersProvider()); var counterpartySelectorFactory = new DefaultEntityAutocompleteSelectorFactory <Counterparty, CounterpartyJournalViewModel, CounterpartyJournalFilterViewModel>( ServicesConfig.CommonServices); var nomenclatureAutoCompleteSelectorFactory = new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>( ServicesConfig.CommonServices, nomenclatureFilter, counterpartySelectorFactory, nomenclatureRepository, UserSingletonRepository.GetInstance() ); yentryProduct.SetEntityAutocompleteSelectorFactory(nomenclatureAutoCompleteSelectorFactory); yentryProduct.Binding.AddBinding(Entity, e => e.Product, w => w.Subject).InitializeFromSource(); }
void ConfigureDlg() { if (StoreDocumentHelper.CheckAllPermissions(UoW.IsNew, WarehousePermissions.IncomingWaterEdit, Entity.IncomingWarehouse, Entity.WriteOffWarehouse)) { FailInitialize = true; return; } var editing = StoreDocumentHelper.CanEditDocument(WarehousePermissions.IncomingWaterEdit, Entity.IncomingWarehouse, Entity.WriteOffWarehouse); buttonFill.Sensitive = yentryProduct.IsEditable = spinAmount.Sensitive = editing; incomingwatermaterialview1.Sensitive = editing; labelTimeStamp.Binding.AddBinding(Entity, e => e.DateString, w => w.LabelProp).InitializeFromSource(); spinAmount.Binding.AddBinding(Entity, e => e.Amount, w => w.ValueAsInt).InitializeFromSource(); var userHasOnlyAccessToWarehouseAndComplaints = ServicesConfig.CommonServices.CurrentPermissionService.ValidatePresetPermission("user_have_access_only_to_warehouse_and_complaints") && !ServicesConfig.CommonServices.UserService.GetCurrentUser(UoW).IsAdmin; if (userHasOnlyAccessToWarehouseAndComplaints) { sourceWarehouseEntry.CanEditReference = destinationWarehouseEntry.CanEditReference = false; } else { sourceWarehouseEntry.CanEditReference = destinationWarehouseEntry.CanEditReference = true; } var availableWarehousesIds = StoreDocumentHelper.GetRestrictedWarehousesIds(UoW, WarehousePermissions.IncomingWaterEdit); var warehouseFilter = new WarehouseJournalFilterViewModel { IncludeWarehouseIds = availableWarehousesIds }; var warehouseAutocompleteSelectorFactory = new WarehouseSelectorFactory(warehouseFilter); sourceWarehouseEntry.SetEntityAutocompleteSelectorFactory(warehouseAutocompleteSelectorFactory); sourceWarehouseEntry.Binding.AddBinding(Entity, e => e.WriteOffWarehouse, w => w.Subject).InitializeFromSource(); destinationWarehouseEntry.SetEntityAutocompleteSelectorFactory(warehouseAutocompleteSelectorFactory); destinationWarehouseEntry.Binding.AddBinding(Entity, e => e.IncomingWarehouse, w => w.Subject).InitializeFromSource(); incomingwatermaterialview1.DocumentUoW = UoWGeneric; var permmissionValidator = new EntityExtendedPermissionValidator(PermissionExtensionSingletonStore.GetInstance(), _employeeRepository); Entity.CanEdit = permmissionValidator.Validate( typeof(IncomingWater), _userRepository.GetCurrentUser(UoW).Id, nameof(RetroactivelyClosePermission)); if (!Entity.CanEdit && Entity.TimeStamp.Date != DateTime.Now.Date) { spinAmount.Binding.AddFuncBinding(Entity, e => e.CanEdit, w => w.Sensitive).InitializeFromSource(); yentryProduct.Sensitive = false; destinationWarehouseEntry.Sensitive = false; sourceWarehouseEntry.Sensitive = false; buttonFill.Sensitive = false; incomingwatermaterialview1.Sensitive = false; buttonSave.Sensitive = false; } else { Entity.CanEdit = true; } var nomenclatureFilter = new NomenclatureFilterViewModel() { HidenByDefault = true }; var nomenclatureRepository = new EntityRepositories.Goods.NomenclatureRepository(new NomenclatureParametersProvider(new ParametersProvider())); var counterpartyJournalFactory = new CounterpartyJournalFactory(); var nomenclatureAutoCompleteSelectorFactory = new NomenclatureAutoCompleteSelectorFactory <Nomenclature, NomenclaturesJournalViewModel>( ServicesConfig.CommonServices, nomenclatureFilter, counterpartyJournalFactory, nomenclatureRepository, _userRepository ); yentryProduct.SetEntityAutocompleteSelectorFactory(nomenclatureAutoCompleteSelectorFactory); yentryProduct.Binding.AddBinding(Entity, e => e.Product, w => w.Subject).InitializeFromSource(); }