예제 #1
0
        public virtual ActionResult AddWebSite(int index, string listName = "Urls")
        {
            if (Request.HttpMethod == "GET" || !Request.IsAjaxRequest())
            {
                if (Request.UrlReferrer != null)
                {
                    return(Redirect(Request.UrlReferrer.ToString()));
                }
            }

            var model = new UrlEditModel(listName);

            return(Json(new { Content = RenderPartialViewToString(MVC.Shared.Views.WebSite, model) }));
        }
예제 #2
0
        public async Task <IActionResult> EditUrl(Guid id)
        {
            var entity = await _uow.MainRepository.FindById(id);

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

            var model = new UrlEditModel
            {
                LongUrl = entity.LongUrl,
                Date    = entity.Date
            };

            return(View(model));
        }
예제 #3
0
        public async Task <IActionResult> EditUrl(UrlEditModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var entity = await _uow.MainRepository.FindById(model.Id);

            if (entity == null)
            {
                return(NotFound());
            }
            entity.LongUrl = model.LongUrl;
            entity.Date    = model.Date;

            _uow.Commit();
            return(RedirectToAction("Index"));
        }
예제 #4
0
        public IActionResult Create(UrlEditModel model)
        {
            if (ModelState.IsValid)
            {
                var newUrl = new UrlModel
                {
                    Url      = model.Url,
                    ShortUrl = model.ShortUrl
                };

                if (newUrl.ShortUrl == null)
                {
                    var lastUrl = _urlModelData.GetLast();

                    newUrl.ShortUrl = ((lastUrl != null ? lastUrl.Id : 0) + 1).ToString();
                    if (_urlModelData.Get(newUrl.ShortUrl) != null)
                    {
                        newUrl.ShortUrl += ".html";
                    }
                }
                else
                {
                    if (_urlModelData.Get(newUrl.ShortUrl) != null)
                    {
                        ModelState.AddModelError("ShortUrl", "This custom url name is already taken.");
                        return(View(nameof(Index)));
                    }
                }

                newUrl = _urlModelData.Add(newUrl);
                return(RedirectToAction(nameof(Details), new { newUrl.Id }));
            }
            else
            {
                return(View(nameof(Index)));
            }
        }