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); }
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); }