public IActionResult ExistingPost(ParseExistingViewModel model)
        {
            var service = new PolicyApplicationService(this.hostingEnvironment.WebRootPath);
            var policy  = service.CreateFromExisting(model);

            return(this.RedirectToRoute("editPolicy", new { id = policy.Id }));
        }
        public PolicyRuleProject CreateFromExisting(ParseExistingViewModel model)
        {
            var jsonToParse = this.GetStringToParse(model);
            var rule        = this.Parse(jsonToParse);
            var ruleProject = new PolicyRuleProject(Guid.NewGuid().ToString(), rule);

            this.StorePolicy(ruleProject);

            return(ruleProject);
        }
        private string GetStringToParse(ParseExistingViewModel model)
        {
            var jsonToParse = string.Empty;

            if (model.JsonFile != null)
            {
                var fileStream = model.JsonFile.OpenReadStream();
                var reader     = new StreamReader(fileStream);
                jsonToParse = reader.ReadToEnd();
            }
            else
            {
                jsonToParse = model.JsonText;
            }

            return(jsonToParse);
        }