//Реализация(изменение(Edit) Url моделя)
        public RepositoryResult <bool> Edit(UrlMdl model)
        {
            try
            {
                db.Configuration.LazyLoadingEnabled = false;
                string https      = "https://";
                string www        = "www.";
                string newUrltext = model.FullUrl.Replace(https, string.Empty);
                string UrlText    = newUrltext.Replace(www, string.Empty);
                Url    result     = db.Urls
                                    .Where(u => u.Id == model.Id)
                                    .Include(m => m.ShortUrl)
                                    .SingleOrDefault();
                result.FullUrl      = UrlText;
                result.ShortUrlPath = string.Format("{0}://{1}/{2}", accessor.Request.Url.Scheme,
                                                    accessor.Request.Url.Authority, "redirect/" + model.ShortUrl);
                result.ShortUrl.ShortUrlPath = model.ShortUrl;

                if (result is null)
                {
                    return(new RepositoryResult <bool>(value: false, success: false, message: "не удалось изменить Url"));
                }

                db.Entry(result).State = EntityState.Modified;
                db.SaveChanges();
                return(new RepositoryResult <bool>(value: true, success: true, message: "Данные успешно изменилось"));
            }
            catch
            {
                return(new RepositoryResult <bool>(value: false, success: false, message: "не удалось изменить Url"));
            }
        }
        public ActionResult Edit(UrlMdl model)
        {
            var result = urlMdl.Edit(model);

            if (result.Success == false)
            {
                return(View(model));
            }
            return(RedirectToAction("Index"));
        }
        //Реализация(Добавляет в таблицу Url моделя)(нужен модель UrlMdl)
        public RepositoryResult <UrlVmMdl> Insert(UrlMdl model)
        {
            string https = "https://";
            string www   = "www.";

            try
            {
                if (model is null)
                {
                    return(new RepositoryResult <UrlVmMdl>(message: "не верно заполнили данные, проверьте еще раз", success: false));
                }

                string newUrltext = model.FullUrl.Replace(https, string.Empty);
                string UrlText    = newUrltext.Replace(www, string.Empty);

                var dbisNull = db.Urls.Where(u => u.FullUrl == UrlText).FirstOrDefault();
                if (dbisNull != null)
                {
                    db.Urls.Remove(dbisNull);
                    db.SaveChanges();
                }
                var RandomiText = Randomizer.GetRandomAlphanumericString((UrlText.Length / 2));
                var shortUrl    = string.Format("{0}://{1}/{2}", accessor.Request.Url.Scheme,
                                                accessor.Request.Url.Authority, "redirect/" + RandomiText);
                db.Urls.Add(new Url
                {
                    ShortUrlPath = shortUrl,
                    FullUrl      = UrlText,
                    ClickCount   = 0,
                    CreateDate   = System.DateTime.Now,
                    ShortUrl     = new ShortUrl
                    {
                        ShortUrlPath = RandomiText,
                    }
                });
                db.SaveChanges();
                return(new RepositoryResult <UrlVmMdl>(true,
                                                       message: "Успешно  добавленно",
                                                       value: new UrlVmMdl
                {
                    FullUrl = model.FullUrl,
                    ShortUrl = shortUrl,
                }));
            }
            catch
            {
                return(new RepositoryResult <UrlVmMdl>(message: "не удалось сохнарить данные", success: false));
            }
        }