Exemple #1
0
        private void OnButtonCopyDistrictPrioritySetClicked(object sender, EventArgs e)
        {
            if (!(ytreeDistrictPrioritySets.GetSelectedObject() is DriverDistrictPrioritySet selectedDistrictPrioritySet))
            {
                return;
            }
            if (selectedDistrictPrioritySet.Id == 0)
            {
                ServicesConfig.CommonServices.InteractiveService.ShowMessage(ImportanceLevel.Info, "Перед копированием новой версии необходимо сохранить сотрудника");
                return;
            }

            var newDistrictPrioritySet = DriverDistrictPriorityHelper.CopyPrioritySetWithActiveDistricts(
                selectedDistrictPrioritySet,
                out var notCopiedPriorities
                );

            newDistrictPrioritySet.IsCreatedAutomatically = false;

            if (notCopiedPriorities.Any())
            {
                var messageBuilder = new StringBuilder(
                    "Для некоторых приоритетов районов\n" +
                    $"из выбранной для копирования версии (Код: {selectedDistrictPrioritySet.Id})\n" +
                    "не были найдены связанные районы из активной\n" +
                    "версии районов. Список приоритетов районов,\n" +
                    "которые не будут скопированы:\n"
                    );
                foreach (var driverDistrictPriority in notCopiedPriorities)
                {
                    messageBuilder.AppendLine(
                        $"Район: ({driverDistrictPriority.District.Id}) {driverDistrictPriority.District.DistrictName}. " +
                        $"Приоритет: {driverDistrictPriority.Priority + 1}"
                        );
                }
                ServicesConfig.InteractiveService.ShowMessage(ImportanceLevel.Warning, messageBuilder.ToString());
            }

            var driverDistrictPrioritySetViewModel = new DriverDistrictPrioritySetViewModel(
                newDistrictPrioritySet,
                UoW,
                UnitOfWorkFactory.GetDefaultFactory,
                ServicesConfig.CommonServices,
                new BaseParametersProvider(),
                EmployeeSingletonRepository.GetInstance()
                );

            driverDistrictPrioritySetViewModel.EntityAccepted += (o, eventArgs) => {
                Entity.AddActiveDriverDistrictPrioritySet(newDistrictPrioritySet);
            };

            TabParent.AddSlaveTab(this, driverDistrictPrioritySetViewModel);
        }
Exemple #2
0
        private void OpenDistrictPrioritySetCreateWindow()
        {
            var newDistrictPrioritySet = new DriverDistrictPrioritySet {
                Driver = Entity,
                IsCreatedAutomatically = false
            };

            var driverDistrictPrioritySetViewModel = new DriverDistrictPrioritySetViewModel(
                newDistrictPrioritySet,
                UoW,
                UnitOfWorkFactory.GetDefaultFactory,
                ServicesConfig.CommonServices,
                new BaseParametersProvider(),
                EmployeeSingletonRepository.GetInstance()
                );

            driverDistrictPrioritySetViewModel.EntityAccepted += (o, eventArgs) => {
                Entity.AddActiveDriverDistrictPrioritySet(newDistrictPrioritySet);
            };

            TabParent.AddSlaveTab(this, driverDistrictPrioritySetViewModel);
        }