-
Notifications
You must be signed in to change notification settings - Fork 1
B1.02 Security: Authorization (C# classes) (Xamarin)
In "A7 Security: Authorization (ViewModels)"-article It was described of how to import ViewModel definition. Not only the ViewModels definitions were imported, but also the Web Api service definitions, UI List Properties and UI Form Properties. Thus, there is no need to make any customizations before generating the code. The only thing to do is make sure that there were no errors during the import operation.
- Run Viisual Studion 2019
- Open the “XamarinDemo” solution, which is located in the folder:
- C:\Development\XamarinDemo
- Right click
root
-node of ModelInterfacesClassLibrary-project- Open Wpf Forms Wizard
- click next button on the first page
- On the second page
- select aspnetchckdbcontext - DBcontext
- click Next-button
- On the third page
- select any item except
==Context==
. For instance, select aspnetdashboardView. - click Next-button
- select any item except
- On the fourth page
- click 'Batch processing'-button
- Batch Actions dialog will shown
- In 'Batch Actions' dialog
- select 14210-AspNetAllInterfacesBatch.json
- click 'Start'-button
Close 'Batch Actions' dialog and close Wpf Forms Wizard. Here is a result:
- Right click
root
-node of ModelServicesPrismModule-project- Open Wpf Forms Wizard
- click next button on the first page
- On the second page
- select aspnetchckdbcontext - DBcontext
- click Next-button
- On the third page
- select any item except
==Context==
. For instance, select aspnetdashboardView. - click Next-button
- select any item except
- On the fourth page
- click 'Batch processing'-button
- Batch Actions dialog will shown
- In 'Batch Actions' dialog
- select 14220-AspNetAllModelsBatch.json
- click 'Start'-button
- In 'Batch Actions' dialog
- select 14230-AspNetAllServicesBatch.Xamarin.json
- click 'Start'-button
- In 'Batch Actions' dialog
- select 14240-AspNetAllSformsBatch.Xamarin.json
- click 'Start'-button
- In 'Batch Actions' dialog
- select 14250-AspNetAllEformsBatch.Xamarin.json
- click 'Start'-button
- In 'Batch Actions' dialog
- select 14260-AspNetAllLformsBatch.Xamarin.json
- click 'Start'-button
- In 'Batch Actions' dialog
- select 14270-AspNetAllO2mMaskBatch.Xamarin.json
- click 'Start'-button
Close 'Batch Actions' dialog and close Wpf Forms Wizard. Here is a result:
Open each file for all nested folders under "services/asp"-folder of ModelServicesPrismModule-project and read but DO NOT follow the instructions at the beginning of the file:
As a result, in the "ModelServicesPrismModuleModule.cs"-file the following lines of code will be added to the body of "RegisterTypes(IContainerRegistry containerRegistry)"-method:
public void RegisterTypes(IContainerRegistry containerRegistry)
{
...
// asp
containerRegistry.Register<ModelInterfacesClassLibrary.interfaces.asp.aspnetdashboardView.IAspnetdashboardViewService, ModelServicesPrismModule.services.asp.aspnetdashboardView.AspnetdashboardViewService>();
containerRegistry.Register<ModelInterfacesClassLibrary.interfaces.asp.aspnetdashboardView.IAspnetdashboardViewServiceCopyPermission, ModelServicesPrismModule.services.asp.aspnetdashboardView.AspnetdashboardViewServiceCopyPermission>();
containerRegistry.Register<ModelInterfacesClassLibrary.interfaces.asp.aspnetmodelView.IAspnetmodelViewService, ModelServicesPrismModule.services.asp.aspnetmodelView.AspnetmodelViewService>();
containerRegistry.Register<ModelInterfacesClassLibrary.interfaces.asp.aspnetmodelView.IAspnetmodelViewServiceCopyPermission, ModelInterfacesClassLibrary.interfaces.asp.aspnetmodelView.AspnetmodelViewServiceCopyPermission>();
containerRegistry.Register<ModelInterfacesClassLibrary.interfaces.asp.aspnetroleView.IAspnetroleViewService, ModelServicesPrismModule.services.asp.aspnetroleView.AspnetroleViewService>();
containerRegistry.Register<ModelInterfacesClassLibrary.interfaces.asp.aspnetrolemaskView.IAspnetrolemaskViewService, ModelServicesPrismModule.services.asp.aspnetrolemaskView.AspnetrolemaskViewService>();
containerRegistry.Register<ModelInterfacesClassLibrary.interfaces.asp.aspnetuserView.IAspnetuserViewService, ModelServicesPrismModule.services.asp.aspnetuserView.AspnetuserViewService>();
containerRegistry.Register<ModelInterfacesClassLibrary.interfaces.asp.aspnetusermaskView.IAspnetusermaskViewService, ModelServicesPrismModule.services.asp.aspnetusermaskView.AspnetusermaskViewService>();
containerRegistry.Register<ModelInterfacesClassLibrary.interfaces.asp.aspnetusermaskView.IAspnetusermaskViewServicePermission, ModelServicesPrismModule.services.asp.aspnetusermaskView.AspnetusermaskViewServicePermission>();
containerRegistry.Register<ModelInterfacesClassLibrary.interfaces.asp.aspnetuserrolesView.IAspnetuserrolesViewService, ModelServicesPrismModule.services.asp.aspnetuserrolesView.AspnetuserrolesViewService>();
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetdashboardView.AspnetdashboardViewSformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetdashboardView.AspnetdashboardViewSformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetdashboardView.AspnetdashboardViewSformUserControl>("AspnetdashboardViewSformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetdashboardView.AspnetdashboardViewSdlgUserControl, CommonUserControlLibrary.ViewModels.SdlgViewModelBase>("AspnetdashboardViewSdlgViewModel");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetdashboardView.AspnetdashboardViewDshCheckedModelUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetdashboardView.AspnetdashboardViewDshCheckedModelViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetdashboardView.AspnetdashboardViewDshCheckedModelUserControl>("AspnetdashboardViewDshCheckedModelUserControl");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetmodelView.AspnetmodelViewSformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetmodelView.AspnetmodelViewSformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetmodelView.AspnetmodelViewSformUserControl>("AspnetmodelViewSformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetmodelView.AspnetmodelViewSdlgUserControl, CommonUserControlLibrary.ViewModels.SdlgViewModelBase>("AspnetmodelViewSdlgViewModel");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetmodelView.AspnetmodelViewCheckedModelUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetmodelView.AspnetmodelViewCheckedModelViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetmodelView.AspnetmodelViewCheckedModelUserControl>("AspnetmodelViewCheckedModelUserControl");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetroleView.AspnetroleViewSformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetroleView.AspnetroleViewSformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetroleView.AspnetroleViewSformUserControl>("AspnetroleViewSformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetroleView.AspnetroleViewSdlgUserControl, CommonUserControlLibrary.ViewModels.SdlgViewModelBase>("AspnetroleViewSdlgViewModel");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetrolemaskView.AspnetrolemaskViewSformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetrolemaskView.AspnetrolemaskViewSformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetrolemaskView.AspnetrolemaskViewSformUserControl>("AspnetrolemaskViewSformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetrolemaskView.AspnetrolemaskViewSdlgUserControl, CommonUserControlLibrary.ViewModels.SdlgViewModelBase>("AspnetrolemaskViewSdlgViewModel");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetuserView.AspnetuserViewSformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetuserView.AspnetuserViewSformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetuserView.AspnetuserViewSformUserControl>("AspnetuserViewSformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetuserView.AspnetuserViewSdlgUserControl, CommonUserControlLibrary.ViewModels.SdlgViewModelBase>("AspnetuserViewSdlgViewModel");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetuserrolesView.AspnetuserrolesViewSformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetuserrolesView.AspnetuserrolesViewSformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetuserrolesView.AspnetuserrolesViewSformUserControl>("AspnetuserrolesViewSformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetuserrolesView.AspnetuserrolesViewSdlgUserControl, CommonUserControlLibrary.ViewModels.SdlgViewModelBase>("AspnetuserrolesViewSdlgViewModel");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetdashboardView.AspnetdashboardViewEformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetdashboardView.AspnetdashboardViewEformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetdashboardView.AspnetdashboardViewEformUserControl>("AspnetdashboardViewEformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetdashboardView.AspnetdashboardViewEdlgUserControl, CommonUserControlLibrary.ViewModels.EdlgViewModelBase>("AspnetdashboardViewEdlgViewModel");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetmodelView.AspnetmodelViewEformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetmodelView.AspnetmodelViewEformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetmodelView.AspnetmodelViewEformUserControl>("AspnetmodelViewEformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetmodelView.AspnetmodelViewEdlgUserControl, CommonUserControlLibrary.ViewModels.EdlgViewModelBase>("AspnetmodelViewEdlgViewModel");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetroleView.AspnetroleViewEformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetroleView.AspnetroleViewEformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetroleView.AspnetroleViewEformUserControl>("AspnetroleViewEformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetroleView.AspnetroleViewEdlgUserControl, CommonUserControlLibrary.ViewModels.EdlgViewModelBase>("AspnetroleViewEdlgViewModel");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetrolemaskView.AspnetrolemaskViewEformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetrolemaskView.AspnetrolemaskViewEformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetrolemaskView.AspnetrolemaskViewEformUserControl>("AspnetrolemaskViewEformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetrolemaskView.AspnetrolemaskViewEdlgUserControl, CommonUserControlLibrary.ViewModels.EdlgViewModelBase>("AspnetrolemaskViewEdlgViewModel");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetuserView.AspnetuserViewEformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetuserView.AspnetuserViewEformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetuserView.AspnetuserViewEformUserControl>("AspnetuserViewEformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetuserView.AspnetuserViewEdlgUserControl, CommonUserControlLibrary.ViewModels.EdlgViewModelBase>("AspnetuserViewEdlgViewModel");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetusermaskView.AspnetusermaskViewEformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetusermaskView.AspnetusermaskViewEformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetusermaskView.AspnetusermaskViewEformUserControl>("AspnetusermaskViewEformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetusermaskView.AspnetusermaskViewEdlgUserControl, CommonUserControlLibrary.ViewModels.EdlgViewModelBase>("AspnetusermaskViewEdlgViewModel");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetuserrolesView.AspnetuserrolesViewEformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetuserrolesView.AspnetuserrolesViewEformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetuserrolesView.AspnetuserrolesViewEformUserControl>("AspnetuserrolesViewEformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetuserrolesView.AspnetuserrolesViewEdlgUserControl, CommonUserControlLibrary.ViewModels.EdlgViewModelBase>("AspnetuserrolesViewEdlgViewModel");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetdashboardView.AspnetdashboardViewLformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetdashboardView.AspnetdashboardViewLformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetdashboardView.AspnetdashboardViewLformUserControl>("AspnetdashboardViewLformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetdashboardView.AspnetdashboardViewLdlgUserControl, CommonUserControlLibrary.ViewModels.LdlgViewModelBase>("AspnetdashboardViewLdlgViewModel");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetmodelView.AspnetmodelViewLformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetmodelView.AspnetmodelViewLformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetmodelView.AspnetmodelViewLformUserControl>("AspnetmodelViewLformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetmodelView.AspnetmodelViewLdlgUserControl, CommonUserControlLibrary.ViewModels.LdlgViewModelBase>("AspnetmodelViewLdlgViewModel");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetroleView.AspnetroleViewLformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetroleView.AspnetroleViewLformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetroleView.AspnetroleViewLformUserControl>("AspnetroleViewLformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetroleView.AspnetroleViewLdlgUserControl, CommonUserControlLibrary.ViewModels.LdlgViewModelBase>("AspnetroleViewLdlgViewModel");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetrolemaskView.AspnetrolemaskViewLformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetrolemaskView.AspnetrolemaskViewLformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetrolemaskView.AspnetrolemaskViewLformUserControl>("AspnetrolemaskViewLformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetrolemaskView.AspnetrolemaskViewLdlgUserControl, CommonUserControlLibrary.ViewModels.LdlgViewModelBase>("AspnetrolemaskViewLdlgViewModel");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetuserView.AspnetuserViewLformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetuserView.AspnetuserViewLformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetuserView.AspnetuserViewLformUserControl>("AspnetuserViewLformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetuserView.AspnetuserViewLdlgUserControl, CommonUserControlLibrary.ViewModels.LdlgViewModelBase>("AspnetuserViewLdlgViewModel");
Prism.Mvvm.ViewModelLocationProvider.Register<ModelServicesPrismModule.UserControls.asp.aspnetuserrolesView.AspnetuserrolesViewLformUserControl, ModelServicesPrismModule.ViewModels.asp.aspnetuserrolesView.AspnetuserrolesViewLformViewModel>();
containerRegistry.Register<Xamarin.Forms.ContentView, ModelServicesPrismModule.UserControls.asp.aspnetuserrolesView.AspnetuserrolesViewLformUserControl>("AspnetuserrolesViewLformUserControl");
containerRegistry.RegisterDialog<ModelServicesPrismModule.UserControls.asp.aspnetuserrolesView.AspnetuserrolesViewLdlgUserControl, CommonUserControlLibrary.ViewModels.LdlgViewModelBase>("AspnetuserrolesViewLdlgViewModel");