Ejemplo n.º 1
0
 public MySQLProvider(string connectionString, IRunOperationService runOperationService, IInteractiveQuestion question)
 {
     this.runOperationService = runOperationService;
     this.question            = question;
     DbConnection             = new MySqlConnection(connectionString);
     DbConnection.Open();
 }
Ejemplo n.º 2
0
 public UnknowTalkViewModel(IUnitOfWorkFactory unitOfWorkFactory,
                            ITdiCompatibilityNavigation navigation,
                            IInteractiveQuestion interactive,
                            MangoManager manager) : base(navigation, manager)
 {
     this.tdiNavigation = navigation ?? throw new ArgumentNullException(nameof(navigation));
     this.interactive   = interactive ?? throw new ArgumentNullException(nameof(interactive));
     UoW = unitOfWorkFactory.CreateWithoutRoot();
 }
        public IssueByIdentifierViewModel(
            IUnitOfWorkFactory unitOfWorkFactory,
            INavigationManager navigation,
            IGuiDispatcher guiDispatcher,
            IUserService userService,
            ILifetimeScope autofacScope,
            StockRepository stockRepository,
            EmployeeRepository employeeRepository,
            FeaturesService featuresService,
            IValidator validator,
            BaseParameters baseParameters,
            IInteractiveQuestion interactive,
            IChangeableConfiguration configuration,
            SizeService sizeService,
            ICardReaderService cardReaderService = null) : base(navigation)
        {
            this.unitOfWorkFactory  = unitOfWorkFactory ?? throw new ArgumentNullException(nameof(unitOfWorkFactory));
            this.guiDispatcher      = guiDispatcher ?? throw new ArgumentNullException(nameof(guiDispatcher));
            this.userService        = userService ?? throw new ArgumentNullException(nameof(userService));
            this.autofacScope       = autofacScope ?? throw new ArgumentNullException(nameof(autofacScope));
            this.employeeRepository = employeeRepository ?? throw new ArgumentNullException(nameof(employeeRepository));
            this.validator          = validator ?? throw new ArgumentNullException(nameof(validator));
            this.BaseParameters     = baseParameters ?? throw new ArgumentNullException(nameof(baseParameters));
            this.interactive        = interactive ?? throw new ArgumentNullException(nameof(interactive));
            this.configuration      = configuration ?? throw new ArgumentNullException(nameof(configuration));
            SizeService             = sizeService ?? throw new ArgumentNullException(nameof(sizeService));
            this.cardReaderService  = cardReaderService;
            IsModal = false;
            EnableMinimizeMaximize = true;
            Title = "Выдача по картам СКУД";

            UowOfDialog = unitOfWorkFactory.CreateWithoutRoot();
            var entryBuilder = new CommonEEVMBuilderFactory <IssueByIdentifierViewModel>(this, this, UowOfDialog, navigation, autofacScope);

            if (cardReaderService != null)
            {
                cardReaderService.RefreshDevices();
                cardReaderService.СardStatusRead           += RusGuardService_СardStatusRead;
                cardReaderService.CardFamilies.ListChanged += CardFamilies_ListChanged;
            }
            UpdateState();


            WarehouseEntryViewModel = entryBuilder.ForProperty(x => x.Warehouse).MakeByType().Finish();
            Warehouse = stockRepository.GetDefaultWarehouse(UowOfDialog, featuresService, autofacScope.Resolve <IUserService>().CurrentUserId);

            //Настройка таймера сброса
            timerCleanSuccessfullyText           = new Timer(40000);
            timerCleanSuccessfullyText.AutoReset = false;
            timerCleanSuccessfullyText.Elapsed  += delegate(object sender, ElapsedEventArgs e) {
                guiDispatcher.RunInGuiTread(() => SuccessfullyText = null);
            };

            ReadConfig();
        }
Ejemplo n.º 4
0
 public SerialNumberViewModel(INavigationManager navigation, SerialNumberEncoder encoder, ParametersService parametersService, IInteractiveQuestion interactive, ILifetimeScope autofacScope) : base(navigation)
 {
     SerialNumberEncoder    = encoder ?? throw new ArgumentNullException(nameof(encoder));
     this.parametersService = parametersService ?? throw new ArgumentNullException(nameof(parametersService));
     this.interactive       = interactive ?? throw new ArgumentNullException(nameof(interactive));
     this.autofacScope      = autofacScope ?? throw new ArgumentNullException(nameof(autofacScope));
     serialNumber           = this.parametersService.serial_number;
     Title = "Замена серийного номера";
     SerialNumberEncoder.Number = serialNumber;
     lastEdition = SerialNumberEncoder.EditionId;
 }
        public CompletionViewModel(IEntityUoWBuilder uowBuilder,
                                   IUnitOfWorkFactory unitOfWorkFactory,
                                   INavigationManager navigation,
                                   IUserService userService,
                                   StockRepository stockRepository,
                                   FeaturesService featuresService,
                                   ILifetimeScope autofacScope,
                                   BaseParameters baseParameters,
                                   IInteractiveQuestion interactive,
                                   SizeService sizeService,
                                   IValidator validator = null) : base(uowBuilder, unitOfWorkFactory, navigation, validator)
        {
            var entryBuilder = new CommonEEVMBuilderFactory <Completion>(this, Entity, UoW, navigation, autofacScope);

            this.interactive     = interactive;
            this.featuresService = featuresService;
            SizeService          = sizeService;

            if (UoW.IsNew)
            {
                Entity.CreatedbyUser = userService.GetCurrentUser(UoW);
            }

            if (Entity.SourceWarehouse == null)
            {
                Entity.SourceWarehouse = stockRepository.GetDefaultWarehouse
                                             (UoW, featuresService, autofacScope.Resolve <IUserService>().CurrentUserId);
            }

            WarehouseExpenseEntryViewModel = entryBuilder.ForProperty(x => x.SourceWarehouse)
                                             .UseViewModelJournalAndAutocompleter <WarehouseJournalViewModel>()
                                             .UseViewModelDialog <WarehouseViewModel>()
                                             .Finish();

            if (Entity.ResultWarehouse == null)
            {
                Entity.ResultWarehouse = stockRepository.GetDefaultWarehouse
                                             (UoW, featuresService, autofacScope.Resolve <IUserService>().CurrentUserId);
            }

            WarehouseReceiptEntryViewModel = entryBuilder.ForProperty(x => x.ResultWarehouse)
                                             .UseViewModelJournalAndAutocompleter <WarehouseJournalViewModel>()
                                             .UseViewModelDialog <WarehouseViewModel>()
                                             .Finish();

            Validations.Clear();
            Validations.Add(new ValidationRequest(Entity,
                                                  new ValidationContext(Entity, new Dictionary <object, object> {
                { nameof(BaseParameters), baseParameters }, { nameof(IUnitOfWork), UoW }
            })));
            Entity.PropertyChanged += Entity_PropertyChanged;
            lastWarehouse           = Entity.SourceWarehouse;
        }
Ejemplo n.º 6
0
        public NormViewModel(
            IEntityUoWBuilder uowBuilder,
            IUnitOfWorkFactory unitOfWorkFactory,
            EmployeeIssueRepository employeeIssueRepository,
            INavigationManager navigation,
            IInteractiveQuestion interactive,
            IValidator validator = null) : base(uowBuilder, unitOfWorkFactory, navigation, validator)
        {
            this.employeeIssueRepository    = employeeIssueRepository ?? throw new ArgumentNullException(nameof(employeeIssueRepository));
            employeeIssueRepository.RepoUow = UoW;
            this.interactive = interactive;

            NormConditions = UoW.GetAll <NormCondition>().ToList();
            NormConditions.Insert(0, null);
        }
Ejemplo n.º 7
0
 public UnknowTalkViewModel(IUnitOfWorkFactory unitOfWorkFactory,
                            ITdiCompatibilityNavigation navigation,
                            IInteractiveQuestion interactive,
                            MangoManager manager,
                            IEmployeeJournalFactory employeeJournalFactory,
                            ICounterpartyJournalFactory counterpartyJournalFactory,
                            INomenclatureRepository nomenclatureRepository) : base(navigation, manager)
 {
     _tdiNavigation              = navigation ?? throw new ArgumentNullException(nameof(navigation));
     _interactive                = interactive ?? throw new ArgumentNullException(nameof(interactive));
     _employeeJournalFactory     = employeeJournalFactory ?? throw new ArgumentNullException(nameof(employeeJournalFactory));
     _counterpartyJournalFactory = counterpartyJournalFactory ?? throw new ArgumentNullException(nameof(counterpartyJournalFactory));
     _nomenclatureRepository     = nomenclatureRepository ?? throw new ArgumentNullException(nameof(nomenclatureRepository));
     _uow = unitOfWorkFactory.CreateWithoutRoot();
 }
Ejemplo n.º 8
0
        public static void Init(IInteractiveQuestion interactiveQuestion, IUnitOfWorkFactory uowFactory = null)
        {
            InteractiveQuestion = interactiveQuestion;

            if (uowFactory != null)
            {
                unitOfWorkFactory = uowFactory;
            }

            QS.DomainModel.NotifyChange.NotifyConfiguration.Instance.BatchSubscribe(HandleDeleteEmployeeVacation)
            .IfEntity <EmployeeVacation>()
            .AndChangeType(QS.DomainModel.NotifyChange.TypeOfChangeEvent.Delete);

            QS.DomainModel.NotifyChange.NotifyConfiguration.Instance.BatchSubscribe(HandleDeleteEmployeeIssueOperation)
            .IfEntity <EmployeeIssueOperation>()
            .AndChangeType(QS.DomainModel.NotifyChange.TypeOfChangeEvent.Delete);
        }
        public CollectiveExpenseViewModel(IEntityUoWBuilder uowBuilder,
                                          IUnitOfWorkFactory unitOfWorkFactory,
                                          INavigationManager navigation,
                                          ILifetimeScope autofacScope,
                                          IValidator validator,
                                          IUserService userService,
                                          UserRepository userRepository,
                                          IInteractiveQuestion interactive,
                                          StockRepository stockRepository,
                                          CommonMessages commonMessages,
                                          FeaturesService featuresService,
                                          BaseParameters baseParameters
                                          ) : base(uowBuilder, unitOfWorkFactory, navigation, validator)
        {
            this.autofacScope    = autofacScope ?? throw new ArgumentNullException(nameof(autofacScope));
            this.userRepository  = userRepository ?? throw new ArgumentNullException(nameof(userRepository));
            this.interactive     = interactive;
            this.commonMessages  = commonMessages ?? throw new ArgumentNullException(nameof(commonMessages));
            this.featuresService = featuresService ?? throw new ArgumentNullException(nameof(featuresService));
            this.baseParameters  = baseParameters ?? throw new ArgumentNullException(nameof(baseParameters));
            var entryBuilder = new CommonEEVMBuilderFactory <CollectiveExpense>(this, Entity, UoW, navigation, autofacScope);

            if (UoW.IsNew)
            {
                Entity.CreatedbyUser = userService.GetCurrentUser(UoW);
            }

            if (Entity.Warehouse == null)
            {
                Entity.Warehouse = stockRepository.GetDefaultWarehouse(UoW, featuresService, autofacScope.Resolve <IUserService>().CurrentUserId);
            }

            WarehouseEntryViewModel = entryBuilder.ForProperty(x => x.Warehouse).MakeByType().Finish();

            var parameter = new TypedParameter(typeof(CollectiveExpenseViewModel), this);

            CollectiveExpenseItemsViewModel = this.autofacScope.Resolve <CollectiveExpenseItemsViewModel>(parameter);
            //Переопределяем параметры валидации
            Validations.Clear();
            Validations.Add(new ValidationRequest(Entity, new ValidationContext(Entity, new Dictionary <object, object> {
                { nameof(BaseParameters), baseParameters }
            })));
        }
        public WarehouseTransferViewModel(
            IEntityUoWBuilder uowBuilder,
            IUnitOfWorkFactory unitOfWorkFactory,
            INavigationManager navigationManager,
            ILifetimeScope autofacScope,
            IValidator validator,
            IUserService userService,
            BaseParameters baseParameters,
            IInteractiveQuestion interactive) : base(uowBuilder, unitOfWorkFactory, navigationManager, validator)
        {
            this.AutofacScope = autofacScope ?? throw new ArgumentNullException(nameof(autofacScope));
            this.interactive  = interactive ?? throw new ArgumentNullException(nameof(interactive));
            if (UoW.IsNew)
            {
                Entity.CreatedbyUser = userService.GetCurrentUser(UoW);
            }

            var entryBuilder = new CommonEEVMBuilderFactory <Transfer>(this, Entity, UoW, navigationManager)
            {
                AutofacScope = AutofacScope
            };

            WarehouseFromEntryViewModel = entryBuilder.ForProperty(x => x.WarehouseFrom)
                                          .UseViewModelJournalAndAutocompleter <WarehouseJournalViewModel>()
                                          .UseViewModelDialog <WarehouseViewModel>()
                                          .Finish();
            WarehouseToEntryViewModel = entryBuilder.ForProperty(x => x.WarehouseTo)
                                        .UseViewModelJournalAndAutocompleter <WarehouseJournalViewModel>()
                                        .UseViewModelDialog <WarehouseViewModel>()
                                        .Finish();
            LoadActualAmountFromStock();
            Entity.PropertyChanged += Entity_PropertyChanged;
            lastWarehouse           = Entity.WarehouseFrom;

            //Переопределяем параметры валидации
            Validations.Clear();
            Validations.Add(new ValidationRequest(Entity, new ValidationContext(Entity,
                                                                                new Dictionary <object, object> {
                { nameof(BaseParameters), baseParameters }
            })));
        }
Ejemplo n.º 11
0
        public ExpenseEmployeeViewModel(IEntityUoWBuilder uowBuilder,
                                        IUnitOfWorkFactory unitOfWorkFactory,
                                        INavigationManager navigation,
                                        ILifetimeScope autofacScope,
                                        IValidator validator,
                                        IUserService userService,
                                        UserRepository userRepository,
                                        IInteractiveQuestion interactive,
                                        StockRepository stockRepository,
                                        CommonMessages commonMessages,
                                        FeaturesService featuresService,
                                        BaseParameters baseParameters,
                                        EmployeeCard employee = null
                                        ) : base(uowBuilder, unitOfWorkFactory, navigation, validator)
        {
            this.autofacScope    = autofacScope ?? throw new ArgumentNullException(nameof(autofacScope));
            this.userRepository  = userRepository ?? throw new ArgumentNullException(nameof(userRepository));
            this.interactive     = interactive;
            this.commonMessages  = commonMessages ?? throw new ArgumentNullException(nameof(commonMessages));
            this.featuresService = featuresService ?? throw new ArgumentNullException(nameof(featuresService));
            this.baseParameters  = baseParameters ?? throw new ArgumentNullException(nameof(baseParameters));
            var entryBuilder = new CommonEEVMBuilderFactory <Expense>(this, Entity, UoW, navigation, autofacScope);

            if (UoW.IsNew)
            {
                Entity.CreatedbyUser = userService.GetCurrentUser(UoW);
                Entity.Operation     = ExpenseOperations.Employee;
            }
            if (Entity.Operation != ExpenseOperations.Employee)
            {
                throw new InvalidOperationException("Диалог предназначен только для операций выдачи сотруднику.");
            }

            if (employee != null)
            {
                Entity.Employee  = UoW.GetById <EmployeeCard>(employee.Id);
                Entity.Warehouse = Entity.Employee.Subdivision?.Warehouse;
            }

            if (Entity.Warehouse == null)
            {
                Entity.Warehouse = stockRepository.GetDefaultWarehouse(UoW, featuresService, autofacScope.Resolve <IUserService>().CurrentUserId);
            }
            if (employee != null)
            {
                FillUnderreceived();
            }

            if (Entity.WriteOffDoc != null)
            {
                FillAktNumber();
            }

            WarehouseEntryViewModel = entryBuilder.ForProperty(x => x.Warehouse)
                                      .UseViewModelJournalAndAutocompleter <WarehouseJournalViewModel>()
                                      .UseViewModelDialog <WarehouseViewModel>()
                                      .Finish();
            EmployeeCardEntryViewModel = entryBuilder.ForProperty(x => x.Employee)
                                         .UseViewModelJournalAndAutocompleter <EmployeeJournalViewModel>()
                                         .UseViewModelDialog <EmployeeViewModel>()
                                         .Finish();

            var parameter = new TypedParameter(typeof(ExpenseEmployeeViewModel), this);

            DocItemsEmployeeViewModel = this.autofacScope.Resolve <ExpenseDocItemsEmployeeViewModel>(parameter);
            Entity.PropertyChanged   += EntityChange;

            //Переопределяем параметры валидации
            Validations.Clear();
            Validations.Add(new ValidationRequest(Entity, new ValidationContext(Entity, new Dictionary <object, object> {
                { nameof(BaseParameters), baseParameters }
            })));
        }
Ejemplo n.º 12
0
 public DeleteEntityGUIService(DeleteConfiguration configuration, INavigationManager navigation, IInteractiveQuestion interactive)
 {
     this.configuration = configuration ?? throw new ArgumentNullException(nameof(configuration));
     this.navigation    = navigation ?? throw new ArgumentNullException(nameof(navigation));
     this.interactive   = interactive ?? throw new ArgumentNullException(nameof(interactive));
 }
        public ExpenseObjectViewModel(IEntityUoWBuilder uowBuilder,
                                      IUnitOfWorkFactory unitOfWorkFactory,
                                      INavigationManager navigation,
                                      ILifetimeScope autofacScope,
                                      IValidator validator,
                                      IUserService userService,
                                      IInteractiveQuestion interactive,
                                      StockRepository stockRepository,
                                      FeaturesService featutesService,
                                      BaseParameters baseParameters,
                                      Subdivision subdivision = null
                                      )
            : base(uowBuilder, unitOfWorkFactory, navigation, validator)
        {
            Entity.Date          = DateTime.Today;
            this.interactive     = interactive;
            this.stockRepository = stockRepository ?? throw new ArgumentNullException(nameof(stockRepository));
            this.baseParameters  = baseParameters ?? throw new ArgumentNullException(nameof(baseParameters));
            if (subdivision != null)
            {
                Entity.Subdivision = subdivision;
                Entity.Warehouse   = subdivision.Warehouse;
            }

            if (UoW.IsNew)
            {
                Entity.Operation     = ExpenseOperations.Object;
                Entity.CreatedbyUser = userService.GetCurrentUser(UoW);
            }
            if (Entity.Operation != ExpenseOperations.Object)
            {
                throw new InvalidOperationException("Диалог предназначен только для операций выдачи на подразделение.");
            }

            if (Entity.Warehouse == null)
            {
                Entity.Warehouse = stockRepository.GetDefaultWarehouse(UoW, featutesService, autofacScope.Resolve <IUserService>().CurrentUserId);
            }

            this.autofacScope = autofacScope ?? throw new ArgumentNullException(nameof(autofacScope));
            var entryBuilder = new CommonEEVMBuilderFactory <Expense>(this, Entity, UoW, navigation, autofacScope);

            WarehouseExpenceViewModel = entryBuilder.ForProperty(x => x.Warehouse)
                                        .UseViewModelJournalAndAutocompleter <WarehouseJournalViewModel>()
                                        .UseViewModelDialog <WarehouseViewModel>()
                                        .Finish();

            SubdivisionViewModel = entryBuilder.ForProperty(x => x.Subdivision)
                                   .UseViewModelJournalAndAutocompleter <SubdivisionJournalViewModel>()
                                   .UseViewModelDialog <SubdivisionViewModel>()
                                   .Finish();

            var parameter = new TypedParameter(typeof(ExpenseObjectViewModel), this);

            DocItemsObjectViewModel = this.autofacScope.Resolve <ExpenseDocItemsObjectViewModel>(parameter);

            //Переопределяем параметры валидации
            Validations.Clear();
            Validations.Add(new ValidationRequest(Entity, new ValidationContext(Entity, new Dictionary <object, object> {
                { nameof(BaseParameters), baseParameters }
            })));
        }
Ejemplo n.º 14
0
 public MySQLProvider(IRunOperationService runOperationService, IInteractiveQuestion question)
 {
     this.runOperationService = runOperationService;
     this.question            = question;
     DbConnection             = (MySqlConnection)Connection.ConnectionDB;
 }
Ejemplo n.º 15
0
 public MySQLProvider(MySqlConnectionStringBuilder connectionStringBuilder, IRunOperationService runOperationService, IInteractiveQuestion question)
     : this(connectionStringBuilder.GetConnectionString(true), runOperationService, question)
 {
 }
Ejemplo n.º 16
0
 public virtual void UpdateRelatedOperations(IUnitOfWork uow, EmployeeIssueRepository employeeIssueRepository, BaseParameters baseParameters, IInteractiveQuestion askUser)
 {
     Employee.RecalculateDatesOfIssueOperations(uow, employeeIssueRepository, baseParameters, askUser, BeginDate, EndDate);
 }