Beispiel #1
0
        public ResidueJournalViewModel(
            ResidueFilterViewModel filterViewModel,
            IEmployeeService employeeService,
            IRepresentationEntityPicker representationEntityPicker,
            IMoneyRepository moneyRepository,
            IDepositRepository depositRepository,
            IBottlesRepository bottlesRepository,
            IUnitOfWorkFactory unitOfWorkFactory,
            ICommonServices commonServices,
            IEntityAutocompleteSelectorFactory employeeSelectorFactory
            )
            : base(filterViewModel, unitOfWorkFactory, commonServices)
        {
            this.employeeSelectorFactory = employeeSelectorFactory ?? throw new ArgumentNullException(nameof(employeeSelectorFactory));
            TabName = "Журнал остатков";
            this.employeeService            = employeeService ?? throw new ArgumentNullException(nameof(employeeService));
            this.representationEntityPicker = representationEntityPicker ?? throw new ArgumentNullException(nameof(representationEntityPicker));
            this.moneyRepository            = moneyRepository ?? throw new ArgumentNullException(nameof(moneyRepository));
            this.depositRepository          = depositRepository ?? throw new ArgumentNullException(nameof(depositRepository));
            this.bottlesRepository          = bottlesRepository ?? throw new ArgumentNullException(nameof(bottlesRepository));
            this.unitOfWorkFactory          = unitOfWorkFactory ?? throw new ArgumentNullException(nameof(unitOfWorkFactory));
            this.commonServices             = commonServices ?? throw new ArgumentNullException(nameof(commonServices));

            SetOrder(x => x.Date, true);
            UpdateOnChanges(
                typeof(Residue)
                );
        }
        public static void CreateVodovozDefaultServices()
        {
            ServicesConfig.InteractiveService = new GtkInteractiveService();
            ServicesConfig.ValidationService  = new ObjectValidator(new GtkValidationViewFactory());
            EmployeeService = new EmployeeService();

            IRepresentationJournalFactory journalFactory = new PermissionControlledRepresentationJournalFactory();

            RepresentationEntityPicker = new RepresentationEntityPickerGtk(journalFactory);

            PermissionsSettings.ConfigureEntityPermissionFinder(new Vodovoz.Domain.Permissions.EntitiesWithPermissionFinder());

            //пространство имен специально прописано чтобы при изменениях не было случайного совпадения с валидатором из QS
            var entityPermissionValidator = new Vodovoz.Domain.Permissions.EntityPermissionValidator(EmployeeSingletonRepository.GetInstance(), new PermissionRepository());
            var presetPermissionValidator = new Vodovoz.Domain.Permissions.HierarchicalPresetPermissionValidator(EmployeeSingletonRepository.GetInstance(), new PermissionRepository());
            var permissionService         = new PermissionService(entityPermissionValidator, presetPermissionValidator);

            PermissionsSettings.PermissionService        = permissionService;
            PermissionsSettings.CurrentPermissionService = new CurrentPermissionServiceAdapter(permissionService, ServicesConfig.UserService);
        }
Beispiel #3
0
        public ResidueViewModel(
            IEntityUoWBuilder uowBuilder,
            IUnitOfWorkFactory uowFactory,
            IEmployeeService employeeService,
            IRepresentationEntityPicker entityPicker,
            IBottlesRepository bottlesRepository,
            IDepositRepository depositRepository,
            IMoneyRepository moneyRepository,
            ICommonServices commonServices,
            IEntityAutocompleteSelectorFactory employeeSelectorFactory
            )
            : base(uowBuilder, uowFactory, commonServices)
        {
            this.employeeService   = employeeService ?? throw new ArgumentNullException(nameof(employeeService));
            this.entityPicker      = entityPicker ?? throw new ArgumentNullException(nameof(entityPicker));
            this.bottlesRepository = bottlesRepository ?? throw new ArgumentNullException(nameof(bottlesRepository));
            this.depositRepository = depositRepository ?? throw new ArgumentNullException(nameof(depositRepository));
            this.moneyRepository   = moneyRepository ?? throw new ArgumentNullException(nameof(moneyRepository));
            TabName = "Ввод остатков";
            if (CurrentEmployee == null)
            {
                AbortOpening("Ваш пользователь не привязан к действующему сотруднику, вы не можете создавать складские документы, " +
                             "так как некого указывать в качестве кладовщика.", "Невозможно открыть ввод остатков");
            }
            if (UoW.IsNew)
            {
                Entity.Author = CurrentEmployee;
                Entity.Date   = new DateTime(2017, 4, 23);
            }
            CreateCommands();
            ConfigureEntityPropertyChanges();
            UpdateResidue();
            GuiltyItemsVM = new GuiltyItemsViewModel(
                new Complaint(), UoW, commonServices, new SubdivisionRepository(new ParametersProvider()), employeeSelectorFactory);

            Entity.ObservableEquipmentDepositItems.PropertyOfElementChanged += OnObservableEquipmentItemsPropertyOfElementChanged;
        }