Exemple #1
0
        public FormViewModel(
            IWindowService windowService,
            IMapService mapService,
            IDTOService dtoService,
            ISchadenMetadatenService schadenMetadatenService,
            IFormService formService,
            IMessageBoxService messageBoxService,
            IGeoJsonService geoJsonService)
        {
            this.windowService           = windowService;
            this.dtoService              = dtoService;
            this.schadenMetadatenService = schadenMetadatenService;
            this.formService             = formService;
            this.messageBoxService       = messageBoxService;
            this.geoJsonService          = geoJsonService;

            mapService.ZustandsabschnittSelected  += MapServiceOnZustandsabschnittSelected;
            mapService.ZustandsabschnittChanged   += MapServiceOnZustandsabschnittChanged;
            mapService.ZustandsabschnittCreated   += MapServiceOnZustandsabschnittCreated;
            mapService.ZustandsabschnittCancelled += MapServiceOnZustandsabschnittCancelled;
            mapService.StrassenabschnittSelected  += MapServiceOnStrassenabschnittSelected;
            mapService.ZustandsabschnittDeleted   += MapServiceOnZustandsabschnittDeleted;
            IsVisible = false;

            formService.GettingFormHasChanges += (sender, args) =>
            {
                args.HasFormChanges = ZustandsabschnittViewModel != null && ZustandsabschnittViewModel.HasChanges;
            };
        }
Exemple #2
0
        public ZustandsErfassungsmodusChooserViewModel(
            ZustandsabschnittGISDTO zustandsabschnittGisDto,
            StrassenabschnittGISDTO strassenabschnittGisdto,
            IDTOService dtoService,
            IWindowService windowService,
            ISchadenMetadatenService schadenMetadatenService,
            IMessageBoxService messageBoxService,
            bool isNew)
        {
            this.zustandsabschnittGisDto = zustandsabschnittGisDto;
            this.strassenabschnittGisdto = strassenabschnittGisdto;
            this.dtoService              = dtoService;
            this.windowService           = windowService;
            this.schadenMetadatenService = schadenMetadatenService;
            this.messageBoxService       = messageBoxService;
            this.isNew = isNew;

            OpenZustandsFahrbahnWindowCommand = new DelegateCommand(OpenZustandsFahrbahnWindow);

            RegisterValidation(m => m.Zustandsindex, () => IsValidDecimalWithDecimalPlaces(Zustandsindex, 2), string.Format(MobileLocalization.InvalidDecimalPlacesValidationError, 2));
            RegisterValidation(m => m.Zustandsindex, () => RangeValidator(Zustandsindex, 0, 5), RangeValidationMessage(0, 5));
            RegisterValidation(m => m.Zustandsindex, IsZustandsindexValid, RangeValidationMessage(0, 5));
            RegisterValidation(m => m.IsGrobInitializiert, () => ZustandsErfassungsmodus != ZustandsErfassungsmodus.Grob || IsGrobInitializiert, MobileLocalization.GrobFormIsNotinitialized);
            RegisterValidation(m => m.IsDetailInitializiert, () => ZustandsErfassungsmodus != ZustandsErfassungsmodus.Detail || IsDetailInitializiert, MobileLocalization.DetailFormIsNotinitialized);

            ReCreateZustabdFahrbahnWindowViewModel();

            Load(zustandsabschnittGisDto, isNew);

            PropertyChanged += (sender, args) =>
            {
                if (args.PropertyName == ExpressionHelper.GetPropertyName(() => Zustandsindex))
                {
                    HasNoChanges = false;
                }
            };

            DelegateEvent(() => IsValid, () => HasError);
            DelegateEvent(() => Zustandsindex, () => ZustandsindexCalculated);

            PropertyChanged += (sender, args) =>
            {
                if (
                    args.PropertyName == ExpressionHelper.GetPropertyName(() => Zustandsindex) ||
                    args.PropertyName == ExpressionHelper.GetPropertyName(() => IsGrobInitializiert) ||
                    args.PropertyName == ExpressionHelper.GetPropertyName(() => IsDetailInitializiert) ||
                    args.PropertyName == ExpressionHelper.GetPropertyName(() => Massnahmenvorschlag) ||
                    args.PropertyName == ExpressionHelper.GetPropertyName(() => ZustandsErfassungsmodus) ||
                    args.PropertyName == ExpressionHelper.GetPropertyName(() => Dringlichkeit)
                    )
                {
                    OnChanged();
                }
            };
        }
Exemple #3
0
 public AusgefuellteErfassungsformulareFuerOberflaechenschaedenPoProvider(
     IZustandsabschnittService zustandsabschnittService,
     ILocalizationService localizationService,
     ISchadenMetadatenService schadenMetadatenService,
     IZustandsabschnittGISService zustandsabschnittGISService,
     IEntityServiceMappingEngine entityServiceMappingEngine,
     IFiltererFactory filtererFactory,
     ITransactionScopeProvider scopeProvider
     )
 {
     this.zustandsabschnittService    = zustandsabschnittService;
     this.localizationService         = localizationService;
     this.schadenMetadatenService     = schadenMetadatenService;
     this.zustandsabschnittGISService = zustandsabschnittGISService;
     this.entityServiceMappingEngine  = entityServiceMappingEngine;
     this.filtererFactory             = filtererFactory;
     this.scopeProvider = scopeProvider;
 }
        public ZustandFahrbahnWindowViewModel(
            ZustandsabschnittGISDTO zustandsabschnittGisdto,
            StrassenabschnittGISDTO strassenabschnittGisdto,
            IDTOService dtoService,
            ISchadenMetadatenService schadenMetadatenService,
            IWindowService windowService,
            IMessageBoxService messageBoxService)
        {
            this.zustandsabschnittGisdto = zustandsabschnittGisdto;
            this.strassenabschnittGisdto = strassenabschnittGisdto;
            this.dtoService = dtoService;
            this.schadenMetadatenService = schadenMetadatenService;
            this.messageBoxService       = messageBoxService;

            OkCommand     = new DelegateCommand(Ok);
            CancelCommand = new DelegateCommand(Cancel);

            RegisterValidation(m => m.Zustandsindex, () => IsValidDecimalWithDecimalPlaces(Zustandsindex, 2), string.Format(MobileLocalization.InvalidDecimalPlacesValidationError, 2));
            RegisterValidation(m => m.Zustandsindex, () => RangeValidator(Zustandsindex, 0, 5), RangeValidationMessage(0, 5));

            GrobItemViewModels        = new ObservableCollection <GrobItemViewModel>();
            DetailGroupItemViewModels = new ObservableCollection <DetailGroupItemViewModel>();

            Load(zustandsabschnittGisdto);
            PropertyChanged += (sender, args) =>
            {
                if (args.PropertyName != ExpressionHelper.GetPropertyName(() => IsValid) &&
                    args.PropertyName != ExpressionHelper.GetPropertyName(() => ValidationErrorStrings) &&
                    args.PropertyName != ExpressionHelper.GetPropertyName(() => IsGrobInitializiert) &&
                    args.PropertyName != ExpressionHelper.GetPropertyName(() => IsDetailInitializiert) &&
                    args.PropertyName != ExpressionHelper.GetPropertyName(() => HasNoChanges)
                    )
                {
                    HasNoChanges = false;
                }
            };
            HasNoChanges = true;
        }
Exemple #5
0
 public ErfassungsformulareFuerOberflaechenschaedenPoProvider(ILocalizationService localizationService, ISchadenMetadatenService schadenMetadatenService)
 {
     this.localizationService     = localizationService;
     this.schadenMetadatenService = schadenMetadatenService;
 }
Exemple #6
0
 public FahrbahnZustandService(ITransactionScopeProvider transactionScopeProvider, ISchadenMetadatenService schadenMetadatenService)
     : base(transactionScopeProvider, schadenMetadatenService)
 {
 }
Exemple #7
0
        public ZustandsabschnittViewModel(
            ZustandsabschnittGISDTO zustandsabschnittGisDto,
            StrassenabschnittGISDTO strassenabschnittGisdto,
            IDTOService dtoService,
            IWindowService windowService,
            ISchadenMetadatenService schadenMetadatenService,
            IFormService formService,
            IMessageBoxService messageBoxService,
            IGeoJsonService geoJsonService,
            bool isNew = false)
        {
            this.zustandsabschnittGisDto = zustandsabschnittGisDto;
            this.strassenabschnittGisdto = strassenabschnittGisdto;
            this.dtoService        = dtoService;
            this.formService       = formService;
            this.messageBoxService = messageBoxService;
            this.geoJsonService    = geoJsonService;

            ZustandsabschnittDetailsViewModel       = new ZustandsabschnittDetailsViewModel(zustandsabschnittGisDto, strassenabschnittGisdto, dtoService, windowService);
            ZustandsErfassungsmodusChooserViewModel = new ZustandsErfassungsmodusChooserViewModel(zustandsabschnittGisDto, strassenabschnittGisdto, dtoService, windowService, schadenMetadatenService, messageBoxService, isNew);

            TabViewModels = new ObservableCollection <IZustandsabschnittTabViewModel>
            {
                ZustandsabschnittDetailsViewModel,
                ZustandsErfassungsmodusChooserViewModel
            };

            if (strassenabschnittGisdto.Trottoir != TrottoirTyp.KeinTrottoir && strassenabschnittGisdto.Trottoir != TrottoirTyp.NochNichtErfasst)
            {
                ZustandTrottoirViewModel = new ZustandTrottoirViewModel(zustandsabschnittGisDto, strassenabschnittGisdto, dtoService, windowService);
                TabViewModels.Add(ZustandTrottoirViewModel);
            }

            SaveCommand           = new DelegateCommand(Save);
            ApplyCommand          = new DelegateCommand(Apply);
            CancelCommand         = new DelegateCommand(Cancel);
            DeleteCommand         = new DelegateCommand(Delete);
            OpenHelpWindowCommand = new DelegateCommand(() => { if (SelectedTabViewModel != null)
                                                                {
                                                                    SelectedTabViewModel.OpenHelp();
                                                                }
                                                        });

            foreach (var tabViewModel in TabViewModels)
            {
                tabViewModel.PropertyChanged += (sender, args) =>
                {
                    if (args.PropertyName == ExpressionHelper.GetPropertyName(() => IsValid))
                    {
                        IsChildsValid = TabViewModels.All(tvm => tvm.IsValid);
                    }
                };

                tabViewModel.Changed += (sender, args) => { HasChanges = true; };
            }

            IsNew = isNew;

            RegisterValidation(vm => vm.BezeichnungVon, () => LenghtValidator(BezeichnungVon), LengthValidationMessage());
            RegisterValidation(vm => vm.BezeichnungBis, () => LenghtValidator(BezeichnungBis), LengthValidationMessage());

            Load();

            PropertyChanged += (sender, args) =>
            {
                if (
                    args.PropertyName == ExpressionHelper.GetPropertyName(() => BezeichnungVon) ||
                    args.PropertyName == ExpressionHelper.GetPropertyName(() => BezeichnungBis)
                    )
                {
                    HasChanges = true;
                }
            };
        }
Exemple #8
0
 protected FahrbahnZustandServiceBase(ITransactionScopeProvider transactionScopeProvider, ISchadenMetadatenService schadenMetadatenService)
 {
     this.schadenMetadatenService  = schadenMetadatenService;
     this.transactionScopeProvider = transactionScopeProvider;
 }