示例#1
0
 public ActionResult Edit(VideoViewModel video)
 {
     ViewBag.SelectedPage = Navigator.Items.VIDEOS;
     if (ModelState.IsValid)
     {
         video.URL = URLValidator.CleanURL(video.URL);
         if (!URLValidator.IsValidURLPart(video.URL))
         {
             TempData["ErrorMessage"] = "Video Failed To Add, URL Not Valid";
         }
         else if (servicesManager.VideoService.IsVideoURLExist(video.URL, video.VideoId))
         {
             TempData["ErrorMessage"] = "Video Failed To Add, URL already exist";
         }
         else
         {
             int new_id = servicesManager.VideoService.UpdateVideo(video);
             if (new_id > 0)
             {
                 TempData["SuccessMessage"] = "Video Updated Successfully";
                 return(RedirectToAction("Edit", video.VideoId));
             }
             else
             {
                 TempData["ErrorMessage"] = "Video Failed To Update";
             }
         }
     }
     //FillArticleCategories(article.CategoryId);
     FillVideoAuthor(video.AuthorId);
     FillVideoCategories(video.CategoryId);
     FillAvailableTags();
     return(View(video));
 }
示例#2
0
        public async Task <IActionResult> CreateHashIDPostedJson([FromBody] Models.UrlString longUrl)
        {
            if (ModelState.IsValid && URLValidator.IsUrlValid(longUrl.url))
            {
                Models.ShortLink hashIDItem = await HashIDDBRepository.CreateHashIDItemIfNotExistsAsync(longUrl.url);

                Models.PublicShortLink response = new Models.PublicShortLink
                {
                    Url         = hashIDItem.Url,
                    HashID      = hashIDItem.HashID,
                    CreatedTime = hashIDItem.CreatedTime
                };
                // Determine if hashID exists in cache.
                // Move hashID to front if hashID exists in cache.
                if (ReadUrlCache.Get(response.HashID) == null)
                {
                    // Add new hashID to cache.
                    ReadUrlCache.Add(response.HashID, response.Url);
                }
                return(Ok(response));
            }
            else
            {
                Models.ErrorResponse invalidURLResponse = new Models.ErrorResponse
                {
                    Details = "Enter a valid URL."
                };
                return(BadRequest(invalidURLResponse));
            }
        }
示例#3
0
        public ActionResult Edit(CategoryViewModel category)
        {
            ViewBag.SelectedPage = Navigator.Items.VIDEOCATEGORIES;
            if (ModelState.IsValid)
            {
                category.URL = category.URL.Trim().Replace(" ", "-");
                if (!URLValidator.IsValidURLPart(category.URL))
                {
                    TempData["ErrorMessage"] = "Category Failed To Add, URL Not Valid";
                }
                else if (servicesManager.VideoService.IsCategoryURLExist(category.URL, category.CategoryId))
                {
                    TempData["ErrorMessage"] = "Category Failed To Add, URL already exist";
                }
                else
                {
                    int new_id = servicesManager.VideoService.UpdateCategory(category);
                    if (new_id > 0)
                    {
                        TempData["SuccessMessage"] = "Category Updated Successfully";
                    }
                    else
                    {
                        TempData["ErrorMessage"] = "Category Failed To Update";
                    }
                }
            }

            return(RedirectToAction("Edit", new { id = category.CategoryId }));
        }
 public ActionResult Edit(ArticleViewModel article)
 {
     ViewBag.SelectedPage = Navigator.Items.ARTICLES;
     if (ModelState.IsValid)
     {
         article.URL = URLValidator.CleanURL(article.URL);
         if (!URLValidator.IsValidURLPart(article.URL))
         {
             TempData["ErrorMessage"] = "Article Failed To Add, URL Not Valid";
         }
         else if (servicesManager.ArticleService.IsArticleURLExist(article.URL, article.ArticleId))
         {
             TempData["ErrorMessage"] = "Article Failed To Add, URL already exist";
         }
         else
         {
             int new_id = servicesManager.ArticleService.UpdateArticle(article);
             if (new_id > 0)
             {
                 TempData["SuccessMessage"] = "Article Updated Successfully";
                 return(RedirectToAction("Edit", article.ArticleId));
             }
             else
             {
                 TempData["ErrorMessage"] = "Article Failed To Update";
             }
         }
     }
     FillArticleCategories(article.CategoryId);
     FillArticleAuthor(article.AuthorId);
     FillAvailableTags();
     return(View(article));
 }
示例#5
0
        public ActionResult New(VideoViewModel video, IEnumerable <HttpPostedFileBase> Images)
        {
            ViewBag.SelectedPage = Navigator.Items.NEWVIDEO;
            FillVideoCategories(video.CategoryId);
            FillVideoAuthor(video.AuthorId);
            FillAvailableTags();

            if (ModelState.IsValid)
            {
                video.URL = URLValidator.CleanURL(video.URL);
                if (Images != null && Images.Count() > 0 && !ImageService.IsValid(Images))
                {
                    TempData["ErrorMessage"] = "Video Failed To Add, Invalid Image File";
                }
                else if (!URLValidator.IsValidURLPart(video.URL))
                {
                    TempData["ErrorMessage"] = "Video Failed To Add, URL Not Valid";
                }
                else if (servicesManager.VideoService.IsVideoURLExist(video.URL))
                {
                    TempData["ErrorMessage"] = "Video Failed To Add, URL already exist";
                }
                else
                {
                    int new_id = servicesManager.VideoService.AddNewVideo(video, Images);

                    if (new_id > 0)
                    {
                        TempData["SuccessMessage"] = "Video Added Successfully";
                        return(RedirectToAction("Edit", new { id = new_id }));
                    }
                    else
                    {
                        TempData["ErrorMessage"] = "Video Failed To Add";
                    }
                }
            }

            return(View(video));
        }
        public ActionResult New(ArticleViewModel article, IEnumerable <HttpPostedFileBase> Images)
        {
            ViewBag.SelectedPage = Navigator.Items.NEWARTICLE;
            FillArticleCategories(article.CategoryId);
            FillArticleAuthor(article.AuthorId);
            FillAvailableTags();

            if (ModelState.IsValid)
            {
                article.URL = URLValidator.CleanURL(article.URL);
                if (Images != null && Images.Count() > 0 && !ImageService.IsValid(Images))
                {
                    TempData["ErrorMessage"] = "Article Failed To Add, Invalid Image File";
                }
                else if (!URLValidator.IsValidURLPart(article.URL))
                {
                    TempData["ErrorMessage"] = "Article Failed To Add, URL Not Valid";
                }
                else if (servicesManager.ArticleService.IsArticleURLExist(article.URL))
                {
                    TempData["ErrorMessage"] = "Article Failed To Add, URL already exist";
                }
                else
                {
                    int new_id = servicesManager.ArticleService.AddNewArticle(article, Images);

                    if (new_id > 0)
                    {
                        TempData["SuccessMessage"] = "Article Added Successfully";
                        return(RedirectToAction("Edit", new { id = new_id }));
                    }
                    else
                    {
                        TempData["ErrorMessage"] = "Article Failed To Add";
                    }
                }
            }

            return(View(article));
        }
示例#7
0
        public ActionResult New(CategoryViewModel category, HttpPostedFileBase Images)
        {
            ViewBag.SelectedPage = Navigator.Items.NEWVIDEOCATEGORY;

            if (ModelState.IsValid)
            {
                category.URL = category.URL.Trim().Replace(" ", "-");
                if (Images != null && !ImageService.IsValid(Images))
                {
                    TempData["ErrorMessage"] = "Category Failed To Add, Invalid Image File";
                }
                else if (!URLValidator.IsValidURLPart(category.URL))
                {
                    TempData["ErrorMessage"] = "Category Failed To Add, URL Not Valid";
                }
                else if (servicesManager.VideoService.IsCategoryURLExist(category.URL))
                {
                    TempData["ErrorMessage"] = "Category Failed To Add, URL already exist";
                }
                else
                {
                    int new_id = servicesManager.VideoService.AddNewCategroy(category, Images);

                    if (new_id > 0)
                    {
                        TempData["SuccessMessage"] = "Category Added Successfully";
                        return(RedirectToAction("Edit", new { id = new_id }));
                    }
                    else
                    {
                        TempData["ErrorMessage"] = "Category Failed To Add";
                    }
                }
            }

            return(View(category));
        }
示例#8
0
        public async Task <IActionResult> Add([FromBody] InputData inputData)
        {
            ApiResponse <string> apiResponse = null;

            if (string.IsNullOrEmpty(inputData.URL))
            {
                apiResponse = new ApiResponse <string>
                {
                    Data   = string.Empty,
                    Errors = new List <ErrorInfo> {
                        new ErrorInfo {
                            Key           = "UrlEmpty"
                            , Description = "URL is empty"
                        }
                    },
                    Message    = "request failed",
                    StatusCode = "404"
                };
            }
            else if (!URLValidator.UrlIsValid(inputData.URL))
            {
                apiResponse = new ApiResponse <string>
                {
                    Data   = string.Empty,
                    Errors = new List <ErrorInfo> {
                        new ErrorInfo {
                            Key           = "URL is not valid"
                            , Description = "you only can send http or https url"
                        }
                    },
                    Message    = "request failed",
                    StatusCode = "404"
                };
            }
            else
            {
                try
                {
                    string generatedURL = await urlShortenerService.AddURL(inputData.URL);

                    apiResponse = new ApiResponse <string> {
                        Data = generatedURL, Errors = null, Message = "URL shortener work successfully", StatusCode = "200"
                    };
                }
                catch (Exception ex)
                {
                    apiResponse = new ApiResponse <string>
                    {
                        Data   = string.Empty,
                        Errors = new List <ErrorInfo>
                        {
                            new ErrorInfo
                            {
                                Key           = "Unknown Exception"
                                , Description = ex.Message
                            }
                        },
                        Message    = "request failed",
                        StatusCode = "500"
                    };
                }
            }
            return(Ok(apiResponse));
        }
示例#9
0
            public void Validate(string input, string field, bool url)
            {
                URLValidator urlValidator = new URLValidator();

                urlValidator.Validate(input, field);
            }