Example #1
0
        public async Task <IActionResult> AddAsync(RedirectMetadata model)
        {
            if (!ModelState.IsValid)
            {
                model.ErrorMessage = "Invalid options, confirm form validation";
                return(View("Add", model));
            }

            var redirect = model.ToRedirect();

            var success = await _redirectService.TryCreateAsync(redirect);

            if (success)
            {
                return(RedirectToAction("List", new { highlightId = redirect.RedirectId }));
            }

            if (redirect.RedirectId == -1)
            {
                model.ErrorMessage = "A link with that name already exists.";
                return(View("Add", model));
            }

            model.ErrorMessage = "Unknown problem happened. Try again?";
            return(View("Add", model));
        }
        public void LinkNameIsNotValid(string name)
        {
            var model = new RedirectMetadata(name)
            {
                Target = "https://valid.target"
            };

            var(isValid, _) = TryValidate(model);

            Assert.IsFalse(isValid);
        }
        public void RedirectFromMetadataRedirectWorks()
        {
            var model = new RedirectMetadata()
            {
                Name        = "Name",
                Description = "Description",
                Target      = "https://target.com"
            };

            var redirect = model.ToRedirect();

            Assert.AreEqual("Name", redirect.Name);
            Assert.AreEqual("Description", redirect.Description);
            Assert.AreEqual("https://target.com", redirect.Target);
        }
Example #4
0
        public async Task <IActionResult> DeleteAsync(RedirectMetadata model)
        {
            await _redirectService.DeleteAsync(model.RedirectId);

            return(RedirectToAction("List"));
        }