예제 #1
0
        public IList <UriTypeModel> Resolve(UriViewModel src, T destination, IList <UriTypeModel> destMember, ResolutionContext context)
        {
            var uriTypes = new List <UriTypeModel>();

            if (src.IsRedirect)
            {
                uriTypes.Add(new UriTypeModel {
                    UriTypeValue = UriModelHelper.Redirect
                });
            }

            if (src.IsPostLogoutRedirect)
            {
                uriTypes.Add(new UriTypeModel {
                    UriTypeValue = UriModelHelper.PostLougoutRedirect
                });
            }

            if (src.IsCorsOrigin)
            {
                uriTypes.Add(new UriTypeModel {
                    UriTypeValue = UriModelHelper.CorsOrigin
                });
            }

            if (src.IsFrontChannelLogout)
            {
                uriTypes.Add(new UriTypeModel {
                    UriTypeValue = UriModelHelper.FrontChannelLogout
                });
            }

            return(uriTypes);
        }
예제 #2
0
        public IActionResult CreateUri(int clientId, UriViewModel uri)
        {
            if (!ModelState.IsValid)
            {
                var viewModel = ViewModelBuilder.BuildCreateUriViewModel(ModelState, clientId, uri);

                return(View(viewModel));
            }

            var uriModel = Mapper.Map <UriModel>(uri);

            var result = m_uriManager.CreateUriForClient(clientId, uriModel);

            if (result.HasError)
            {
                ModelState.AddModelError(result.Error.Message);

                var viewModel = ViewModelBuilder.BuildCreateUriViewModel(ModelState, clientId);

                return(View(viewModel));
            }

            return(RedirectToAction(nameof(Uris), new { clientId }));
        }
예제 #3
0
        public UriViewModel BuildCreateUriViewModel(ModelStateDictionary modelState, int clientId, UriViewModel uri = null)
        {
            if (uri == null)
            {
                return(m_viewModelFactory.GetUriViewModel(clientId));
            }

            uri.ClientId = clientId;
            return(uri);
        }