public IActionResult Edit(UserManualModel model, bool continueEditing)
        {
            if (!_permissionService.Authorize(UserManualPermissionProvider.ManageUserManuals))
            {
                return(AccessDeniedView());
            }

            if (ModelState.IsValid)
            {
                var userManual = _userManualService.GetById(model.Id);
                if (userManual != null)
                {
                    userManual = model.ToEntity(userManual);
                }

                _userManualService.UpdateUserManual(userManual);
                return(continueEditing
                    ? RedirectToAction(nameof(Edit), new { id = userManual.Id })
                    : RedirectToAction(nameof(List)));
            }

            //If we got this far, something failed, redisplay form
            PopulateModelLists(model);
            return(View($"{Route}{nameof(Edit)}.cshtml", model));
        }
        private UserManualModel PopulateModelLists(UserManualModel model = null)
        {
            if (model == null)
            {
                model = new UserManualModel();
            }

            model.AvailableCategories    = GetAllAvailableCategories(model.CategoryId);
            model.AvailableManufacturers = GetAllAvailableManufacturers(model.ManufacturerId);

            model.UserManualSearchModel.SetGridPageSize();

            model.UserManualProductSearchModel.UserManualId = model.Id;
            model.UserManualProductSearchModel.SetGridPageSize();

            return(model);
        }
예제 #3
0
        private void ManualSaver(UserManualModel userManualModel)
        {
            try
            {
                var name = userManualModel.Title.Replace("/", "");

                _storage.Set(new StorageKey()
                {
                    Name      = name,
                    Directory = FileDataStorage.UserGuidFolder
                }, new[] { userManualModel });
            }
            catch (Exception ex)
            {
                Log.Error(ex, "Unable to save manual model");

                throw;
            }
        }
예제 #4
0
        public UserManualModel GetUserManual(Int32 id, Int32 itemId)
        {
            var userManual = new UserManualModel();

            userManual.ItemId = itemId;
            NetworkCredential credential = new NetworkCredential(_config.ConfluenceSettings.Login, _config.ConfluenceSettings.Password);
            var handler = new HttpClientHandler {
                Credentials = credential
            };

            using (var client = new HttpClient(handler))
            {
                client.BaseAddress = new Uri(_config.ConfluenceSettings.Url);
                client.DefaultRequestHeaders.Accept.Clear();
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

                var response =
                    client.GetAsync(String.Format("wiki/rest/api/content/{0}?os_authType=basic", id));
                if (response.Result.IsSuccessStatusCode)
                {
                    StreamContent content       = (StreamContent)response.Result.Content;
                    var           task          = content.ReadAsStringAsync();
                    String        stringContent = task.Result;
                    dynamic       results       = JObject.Parse(stringContent);
                    var           regex         = new Regex("\\[([^)]*)\\] ");
                    if (results.id != null && !String.IsNullOrEmpty(results.title.Value))
                    {
                        userManual.Id    = Int32.Parse(results.id.Value);
                        userManual.Title = regex.Replace((results.title.Value as String).Replace(".", "%2E"), String.Empty);
                        userManual.Pages = GetUserManualPages(userManual.Id);
                    }
                }
            }

            return(userManual);
        }
예제 #5
0
 private String PrepareUrlName(UserManualModel content)
 {
     return(content.Title.Replace("/", ""));
 }