public async Task Initialize()
        {
            var progressDialog = await m_dialogCoordinator.ShowProgressAsync(this, "Initializing Retrospecive Client", "Initializing Retrospecive Client...");

            progressDialog.SetProgress(0);
            try
            {
                progressDialog.SetMessage("Initializing User Configuration");
                UserConfigurationViewModel.Initialize(LogViewModel);
                progressDialog.SetProgress(0.33);

                RaisePropertyChanged(() => UserConfigurationViewModel);
                RaisePropertyChanged(() => ZoomViewModel);

                progressDialog.SetMessage("Checking User Configuration");
                if (!UserConfigurationViewModel.UserConfiguration.IsAllRequiredSet)
                {
                    UserConfigurationViewModel.OpenConfigurationCommand.Execute(null);
                }
                progressDialog.SetProgress(0.66);

                progressDialog.SetMessage("Preparing retrospective");

                RetroViewModel.Initialize(this, LogViewModel);

                RaisePropertyChanged(() => RetroViewModel);
                progressDialog.SetProgress(1);
            }
            catch (Exception e)
            {
                LogViewModel.Log <Error>(e);
            }

            await progressDialog.CloseAsync();
        }
Example #2
0
        public async Task <IActionResult> GetConfiguration([FromRoute] int id)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            SecurityUser user = await _context.SecurityUsers.Where(x => x.Id == id).Include(x => x.Rol).ThenInclude(y => y.SecurityRoleActions).ThenInclude(y => y.SecurityAction).ThenInclude(y => y.SystemAction).Include(x => x.Rol).ThenInclude(z => z.SecurityRoleScreens).ThenInclude(z => z.ConfigScreen).ThenInclude(h => h.SystemScreen).Include(x => x.Rol).ThenInclude(z => z.SecurityRoleScreens).ThenInclude(z => z.ConfigScreen).ThenInclude(h => h.ConfigScreenFields).FirstOrDefaultAsync();

            if (user == null)
            {
                return(NotFound());
            }

            UserConfigurationViewModel viewModel = new UserConfigurationViewModel
            {
                Id             = user.Id,
                Nombre         = user.Nombre,
                SecurityRoleId = user.SecurityRoleId
            };

            //ROL

            SecurityRoleConfigurationViewModel rol = new SecurityRoleConfigurationViewModel
            {
                Id          = user.Rol.Id,
                Description = user.Rol.Description,
                Name        = user.Rol.Name,
                Screens     = new List <SecurityRoleScreenConfViewModel>()
            };

            //Screens
            if (user.Rol.SecurityRoleScreens != null)
            {
                foreach (var item in user.Rol.SecurityRoleScreens)
                {
                    ConfigScreen configScreen = item.ConfigScreen;
                    SecurityRoleScreenConfViewModel screen = new SecurityRoleScreenConfViewModel
                    {
                        Description    = configScreen.Description,
                        Enabled        = configScreen.Enabled,
                        Icon           = configScreen.Icon,
                        Id             = configScreen.Id,
                        Orden          = configScreen.Orden,
                        ParentId       = configScreen.SystemScreen.ParentId,
                        Path           = configScreen.SystemScreen.Path,
                        SystemScreenId = configScreen.SystemScreenId,
                        Actions        = new List <SecurityRoleActionConfViewModel>(),
                        Fields         = new List <ScreenFieldConfViewModel>()
                    };

                    foreach (var fields in configScreen.ConfigScreenFields)
                    {
                        ScreenFieldConfViewModel screenField = new ScreenFieldConfViewModel
                        {
                            DefaultValue = fields.DefaultValue,
                            Enabled      = fields.Enabled,
                            FieldName    = fields.FieldName,
                            Orden        = fields.Orden ?? 0,
                            Id           = fields.Id,
                            Name         = fields.Name,
                            Required     = fields.Required,
                            Visible      = fields.Visible
                        };
                        screen.Fields.Add(screenField);
                    }

                    foreach (var action in user.Rol.SecurityRoleActions)
                    {
                        if (action.SecurityAction.ConfigScreenId == screen.Id)
                        {
                            if (action.SecurityAction.Enabled)
                            {
                                SecurityRoleActionConfViewModel actionVm = new SecurityRoleActionConfViewModel
                                {
                                    Id          = action.SecurityActionId,
                                    Code        = action.SecurityAction.SystemAction.Code,
                                    Description = action.SecurityAction.Description
                                };
                                screen.Actions.Add(actionVm);
                            }
                        }
                    }
                    rol.Screens.Add(screen);
                }
            }

            viewModel.Role = rol;


            return(Ok(viewModel));
        }