コード例 #1
0
        public async Task <IActionResult> Edit(string id)
        {
            if (!await _authorizationService.AuthorizeAsync(User, Permissions.ManageRemoteInstances))
            {
                return(Forbid());
            }

            var remoteInstance = await _service.GetRemoteInstanceAsync(id);

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

            var model = new EditRemoteInstanceViewModel
            {
                Id         = remoteInstance.Id,
                Name       = remoteInstance.Name,
                ClientName = remoteInstance.ClientName,
                ApiKey     = remoteInstance.ApiKey,
                Url        = remoteInstance.Url
            };

            return(View(model));
        }
コード例 #2
0
        public async Task <IActionResult> Edit(EditRemoteInstanceViewModel model)
        {
            if (!await _authorizationService.AuthorizeAsync(User, Permissions.ManageRemoteInstances))
            {
                return(Forbid());
            }

            var remoteInstance = await _service.GetRemoteInstanceAsync(model.Id);

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

            if (ModelState.IsValid)
            {
                ValidateViewModel(model);
            }

            if (ModelState.IsValid)
            {
                await _service.TryUpdateRemoteInstance(model.Id, model.Name, model.Url, model.ClientName, model.ApiKey);

                _notifier.Success(H["Remote instance updated successfully"]);

                return(RedirectToAction(nameof(Index)));
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
コード例 #3
0
        private void ValidateViewModel(EditRemoteInstanceViewModel model)
        {
            if (String.IsNullOrWhiteSpace(model.Name))
            {
                ModelState.AddModelError(nameof(EditRemoteInstanceViewModel.Name), S["The name is mandatory."]);
            }

            if (String.IsNullOrWhiteSpace(model.ClientName))
            {
                ModelState.AddModelError(nameof(EditRemoteInstanceViewModel.ClientName), S["The client name is mandatory."]);
            }

            if (String.IsNullOrWhiteSpace(model.ApiKey))
            {
                ModelState.AddModelError(nameof(EditRemoteInstanceViewModel.ApiKey), S["The api key is mandatory."]);
            }

            if (String.IsNullOrWhiteSpace(model.Url))
            {
                ModelState.AddModelError(nameof(EditRemoteInstanceViewModel.Url), S["The url is mandatory."]);
            }
            else
            {
                Uri uri;
                if (!Uri.TryCreate(model.Url, UriKind.Absolute, out uri))
                {
                    ModelState.AddModelError(nameof(EditRemoteInstanceViewModel.Url), S["The url is invalid."]);
                }
            }
        }
コード例 #4
0
        public async Task <IActionResult> Create()
        {
            if (!await _authorizationService.AuthorizeAsync(User, Permissions.ManageRemoteInstances))
            {
                return(Forbid());
            }

            var model = new EditRemoteInstanceViewModel();

            return(View(model));
        }
コード例 #5
0
        public async Task <IActionResult> Create(EditRemoteInstanceViewModel model)
        {
            if (!await _authorizationService.AuthorizeAsync(User, Permissions.ManageRemoteInstances))
            {
                return(Forbid());
            }

            if (ModelState.IsValid)
            {
                ValidateViewModel(model);
            }

            if (ModelState.IsValid)
            {
                await _service.CreateRemoteInstanceAsync(model.Name, model.Url, model.ClientName, model.ApiKey);

                await _notifier.SuccessAsync(H["Remote instance created successfully."]);

                return(RedirectToAction(nameof(Index)));
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }