예제 #1
0
        public ActionResult SubmitLikeDislike(int videoId, bool isLike)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(Json(new { message = "redirect" }, JsonRequestBehavior.AllowGet));
            }


            using (treca_aplikacija_model db = new treca_aplikacija_model())
            {
                UserViewModel user = ApplicationUtils.FindUserByUsername(User.Identity.GetApplicationUserUsername());
                try
                {
                    ApplicationUtils.RemoveLikeDislike(true, videoId, user.users_id);
                }
                catch (Exception)
                {
                    return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
                }

                video_like_dislike newVld = new video_like_dislike();
                newVld.users_id = (byte)user.users_id;
                newVld.video_id = (byte)videoId;
                newVld.is_like  = isLike == true ? true : false;
                db.video_like_dislike.Add(newVld);
                db.SaveChanges();
            }
            return(Json(new { Success = true }, JsonRequestBehavior.AllowGet));
        }
        public ActionResult Create(string Content, int videoId)
        {
            if (User.Identity.IsAuthenticated == false)
            {
                return(Json(new { message = "redirect" }, JsonRequestBehavior.AllowGet));
            }

            treca_aplikacija_model db = new treca_aplikacija_model();
            comment comment           = new comment();

            comment.comment_video_id = (byte)videoId;

            string LoggedInUserName = User.Identity.GetApplicationUserUsername();

            foreach (var x in db.users)
            {
                if (x.user_username.Equals(LoggedInUserName))
                {
                    comment.comment_user_id = x.users_id;
                }
            }

            comment.comment_created = DateTime.Now;
            comment.comment_content = Content;

            db.comments.Add(comment);
            db.SaveChanges();
            //?


            UserViewModel    CommentOwner = ApplicationUtils.CreateUserViewModelDTO(db.users.Find(comment.comment_user_id));
            CommentViewModel Comment      = ApplicationUtils.CreateCommentViewModelDTO(db.comments.Find(comment.comment_id));

            return(Json(new { User = CommentOwner, Comment = Comment }, JsonRequestBehavior.AllowGet));
        }
예제 #3
0
        public ActionResult Create()
        {
            treca_aplikacija_model db = new treca_aplikacija_model();

            ViewBag.video_user_id = new SelectList(db.users, "users_id", "user_username");
            return(View());
        }
예제 #4
0
        public ActionResult DeleteConfirmed(byte id)
        {
            using (treca_aplikacija_model db = new treca_aplikacija_model())
            {
                video video = db.videos.Find(id);
                List <video_like_dislike> vld = db.video_like_dislike.Where(x => x.video_id == id).ToList();
                foreach (var x in vld)
                {
                    db.video_like_dislike.Remove(x);
                    db.SaveChanges();
                }

                List <comment> vc = db.comments.Where(x => x.comment_video_id == id).ToList();
                foreach (var x in vc)
                {
                    db.comments.Remove(x);
                    db.SaveChanges();
                }


                db.videos.Remove(video);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
        }
예제 #5
0
        public ActionResult Edit(string username)
        {
            if (!User.Identity.GetApplicationUserUsername().Equals(username) || User.IsInRole("Admin"))
            {
                return(RedirectToAction("Unauthorized", "Account"));
            }

            using (treca_aplikacija_model db = new treca_aplikacija_model())
            {
                //string loggedInUser = User.Identity.GetApplicationUserUsername();
                foreach (var x in db.users.ToList())
                {
                    if (x.user_username.Equals(username))
                    {
                        EditAccoutViewModel eavm = new EditAccoutViewModel();
                        var user = UserManager.FindByEmail(x.user_email);
                        eavm.Id              = user.Id;
                        eavm.Username        = x.user_username;
                        eavm.Password        = x.user_password;
                        eavm.ConfirmPassword = x.user_password;
                        eavm.OldPassword     = x.user_password;
                        eavm.Email           = x.user_email;

                        return(View(eavm));
                    }
                }
            }
            return(View());
        }
예제 #6
0
 public static void RemoveLikeDislike(bool isVideo, int entityId, int userId)
 {
     using (treca_aplikacija_model db = new treca_aplikacija_model())
     {
         if (isVideo)
         {
             foreach (var vid in db.video_like_dislike.ToList())
             {
                 if (vid.video_id == entityId && vid.users_id == userId)
                 {
                     db.video_like_dislike.Remove(vid);
                     db.SaveChanges();
                 }
             }
         }
         else
         {
             foreach (var com in db.comment_like_dislike.ToList())
             {
                 if (com.comment_id == entityId && com.users_id == userId)
                 {
                     db.comment_like_dislike.Remove(com);
                     db.SaveChanges();
                 }
             }
         }
     }
 }
예제 #7
0
        public ActionResult DeleteConfirmed(string username)
        {
            //Delete applicationUser

            //Delete databaserUser
            Debug.WriteLine(username);
            int    userId = ApplicationUtils.FindUserByUsername(username).users_id;
            string loggedInUserUsername = User.Identity.GetApplicationUserUsername();

            if (loggedInUserUsername.Equals(username))
            {
                AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
                UserManager.Delete(UserManager.FindByEmail((ApplicationUtils.FindUserByUsername(username)).user_email));
            }



            using (treca_aplikacija_model db = new treca_aplikacija_model())
            {
                db.Database.ExecuteSqlCommand("DELETE FROM comment_like_dislike WHERE users_id = {0}", userId);
                db.Database.ExecuteSqlCommand("DELETE FROM video_like_dislike WHERE users_id = {0}", userId);
                db.Database.ExecuteSqlCommand("DELETE FROM users_role WHERE users_id = {0}", userId);
                db.Database.ExecuteSqlCommand("DELETE FROM users_following WHERE user_following = {0} or user_followed = {1}", userId, userId);
                db.Database.ExecuteSqlCommand("DELETE FROM comment WHERE comment_user_id = {0}", userId);
                db.Database.ExecuteSqlCommand("DELETE FROM comment WHERE comment_video_id IN (SELECT video_id FROM video WHERE video_user_id = {0})", userId);
                //db.Database.ExecuteSqlCommand("DELETE FROM comment WHERE video_id = SELEC", userId);
                db.Database.ExecuteSqlCommand("DELETE FROM video WHERE video_user_id = {0}", userId);
                db.Database.ExecuteSqlCommand("DELETE FROM users WHERE users_id = {0}", userId);
            }
            return(RedirectToAction("Index", "Video"));
        }
예제 #8
0
 public ActionResult Unban(int id)
 {
     using (treca_aplikacija_model db = new treca_aplikacija_model())
     {
         video v = db.videos.Find(id);
         v.video_banned = false;
         db.SaveChanges();
         return(Json(new { message = "success" }, JsonRequestBehavior.AllowGet));
     }
 }
예제 #9
0
 public ActionResult AddView(int id)
 {
     using (treca_aplikacija_model db = new treca_aplikacija_model())
     {
         video v = db.videos.Find(id);
         v.video_views = (byte)((int)v.video_views + 1);
         db.SaveChanges();
         return(Json(new { message = "success" }, JsonRequestBehavior.AllowGet));
     }
 }
예제 #10
0
        public ActionResult BanConfirmed(int id)
        {
            using (treca_aplikacija_model db = new treca_aplikacija_model())
            {
                video v = db.videos.Find(id);

                v.video_banned = true;
                db.SaveChanges();
                return(RedirectToAction("Index", "Video"));
            }
        }
예제 #11
0
        public ActionResult Create(video videoModel)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(RedirectToAction("Login", "Account"));
            }

            using (treca_aplikacija_model db = new treca_aplikacija_model())
            {
                int NewVideoId = db.videos.Count() > 0 ? db.videos.ToList().Last().video_id + 1 : 0;

                string Extension = Path.GetExtension(videoModel.ImageFile.FileName);
                string FileName  = NewVideoId.ToString() + Extension;

                //Spliting embed tag
                string[] UrlStrings = videoModel.video_url.Split(' ');
                foreach (string s in UrlStrings)
                {
                    Debug.WriteLine("Url string " + s);
                    if (s.Contains("src"))
                    {
                        videoModel.video_url = s.Substring(5, s.Length - 6);
                    }
                }

                //Assigning video icon
                videoModel.video_icon = FileName;

                //Saving video thumbnail
                FileName = Path.Combine(Server.MapPath("~/Content/VideoImages/"), FileName);
                videoModel.ImageFile.SaveAs(FileName);

                //Asigning user
                string LoggedInUserName = User.Identity.GetApplicationUserUsername();
                foreach (var x in db.users)
                {
                    if (x.user_username.Equals(LoggedInUserName))
                    {
                        videoModel.video_user_id = x.users_id;
                    }
                }

                //Assigning 'created'
                videoModel.video_created = DateTime.Now;



                db.videos.Add(videoModel);
                db.SaveChanges();
            }

            ModelState.Clear();
            return(RedirectToAction("Index", "Video"));
        }
예제 #12
0
 protected override void Dispose(bool disposing)
 {
     using (treca_aplikacija_model db = new treca_aplikacija_model())
     {
         if (disposing)
         {
             db.Dispose();
         }
         base.Dispose(disposing);
     }
 }
예제 #13
0
        //[Authorize(Roles = "Admin")]
        public ActionResult Ban(int id)
        {
            if (User.IsInRole("Regular"))
            {
                return(RedirectToAction("Unauthorized", "Account"));
            }

            using (treca_aplikacija_model db = new treca_aplikacija_model())
            {
                return(View(ApplicationUtils.CreateVideoViewModel(db.videos.Find(id))));
            }
        }
예제 #14
0
 public static UserViewModel FindUserByUsername(string username)
 {
     using (treca_aplikacija_model db = new treca_aplikacija_model())
     {
         foreach (var user in db.users)
         {
             if (user.user_username.Equals(username))
             {
                 return(CreateUserViewModelDTO(user));
             }
         }
     }
     return(null);
 }
예제 #15
0
 public ActionResult Unban(string userName)
 {
     using (treca_aplikacija_model db = new treca_aplikacija_model())
     {
         foreach (var x in db.users.ToList())
         {
             if (x.user_username.Equals(userName))
             {
                 x.user_banned = false;
                 db.SaveChanges();
                 return(Json(new { message = "success" }, JsonRequestBehavior.AllowGet));
             }
         }
         return(null);
     }
 }
예제 #16
0
 public ActionResult Delete(byte?id)
 {
     using (treca_aplikacija_model db = new treca_aplikacija_model())
     {
         if (id == null)
         {
             return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
         }
         video video = db.videos.Find(id);
         if (video == null)
         {
             return(HttpNotFound());
         }
         return(View(ApplicationUtils.CreateVideoViewModel(video)));
     }
 }
예제 #17
0
 public ActionResult BanConfirmed(string userName)
 {
     using (treca_aplikacija_model db = new treca_aplikacija_model())
     {
         foreach (var x in db.users.ToList())
         {
             if (x.user_username.Equals(userName))
             {
                 x.user_banned = true;
                 db.SaveChanges();
                 return(RedirectToAction("Index", "Video"));
             }
         }
         return(View());
     }
 }
예제 #18
0
        //private treca_aplikacija_model db = new treca_aplikacija_model();

        // GET: Video
        public ActionResult Index(string SearchParam)
        {
            using (treca_aplikacija_model db = new treca_aplikacija_model())
            {
                if (SearchParam == null)
                {
                    var videos = db.videos.Include(v => v.user).Include(v => v.comments);
                    return(View(ApplicationUtils.CreateVideoViewModels(videos.ToList())));
                }
                else
                {
                    var videos = db.videos.Include(v => v.user).Include(v => v.comments).Where(x => x.video_name.Contains(SearchParam));
                    return(View(ApplicationUtils.CreateVideoViewModels(videos.ToList())));
                }
            }
        }
예제 #19
0
 public ActionResult RemoveLikeDislike(int videoId)
 {
     using (treca_aplikacija_model db = new treca_aplikacija_model())
     {
         UserViewModel user = ApplicationUtils.FindUserByUsername(User.Identity.GetApplicationUserUsername());
         try
         {
             ApplicationUtils.RemoveLikeDislike(true, videoId, user.users_id);
         }
         catch (Exception)
         {
             return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
         }
     }
     return(Json(new { Success = true }, JsonRequestBehavior.AllowGet));
 }
예제 #20
0
 public ActionResult Edit(byte?id)
 {
     using (treca_aplikacija_model db = new treca_aplikacija_model())
     {
         if (id == null)
         {
             return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
         }
         video video = db.videos.Find(id);
         if (video == null)
         {
             return(HttpNotFound());
         }
         ViewBag.video_user_id = new SelectList(db.users, "users_id", "user_username", video.video_user_id);
         return(View(video));
     }
 }
예제 #21
0
        public ActionResult Delete(string username)
        {
            if (!User.IsInRole("Admin"))
            {
                return(RedirectToAction("Unauthorized", "Account"));
            }

            using (treca_aplikacija_model db = new treca_aplikacija_model())
            {
                foreach (var x in db.users.ToList())
                {
                    if (x.user_username.Equals(username))
                    {
                        return(View(ApplicationUtils.CreateUserViewModelDTO(x)));
                    }
                }
            }
            return(null);
        }
예제 #22
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                //Model 3
                treca_aplikacija_model db = new treca_aplikacija_model();
                var newUser = new user();
                newUser.user_email    = model.Email;
                newUser.user_username = model.Username;
                newUser.user_password = model.Password;
                newUser.user_created  = DateTime.Now;
                newUser.user_icon     = "Avatar.png";
                db.users.Add(newUser);
                db.SaveChanges();


                //Model 3 auth
                var user = new ApplicationUser {
                    UserName = model.Email, Email = model.Email, ApplicationUserUsername = model.Username
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                if (result.Succeeded)
                {
                    var user1       = User.Identity;
                    var userManager = new UserManager <ApplicationUser>(new UserStore <ApplicationUser>(new ApplicationDbContext()));
                    userManager.AddToRole(user.Id, "Regular");

                    //userManager.AddToRole(user1.GetUserId(), "Admin");


                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    return(RedirectToAction("Index", "Video"));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
예제 #23
0
        public ActionResult Administrator(string query, bool isUser)
        {
            List <Object> retVal = new List <Object>();

            using (treca_aplikacija_model db = new treca_aplikacija_model())
            {
                if (isUser)
                {
                    foreach (var x in db.users.Where(x => x.user_username.Contains(query)).ToList())
                    {
                        retVal.Add(ApplicationUtils.CreateUserViewModelDTO(x));
                    }
                }
                else
                {
                    foreach (var x in db.videos.Where(x => x.video_name.Contains(query)).ToList())
                    {
                        retVal.Add(ApplicationUtils.CreateVideoViewModel(x));
                    }
                }

                return(Json(new { returnValues = retVal }, JsonRequestBehavior.AllowGet));
            }
        }
예제 #24
0
        public ActionResult Edit(video videoViewModel)
        {
            using (treca_aplikacija_model db = new treca_aplikacija_model())
            {
                video oldVideo = db.videos.Find(videoViewModel.video_id);
                if (videoViewModel.video_url != null)
                {
                    //Spliting embed tag
                    string[] UrlStrings = videoViewModel.video_url.Split(' ');
                    foreach (string s in UrlStrings)
                    {
                        Debug.WriteLine("Url string " + s);
                        if (s.Contains("src"))
                        {
                            oldVideo.video_url = s.Substring(5, s.Length - 6);
                        }
                    }
                }


                if (videoViewModel.ImageFile != null)
                {
                    string Extension = Path.GetExtension(videoViewModel.ImageFile.FileName);
                    string FileName  = videoViewModel.video_id.ToString() + Extension;

                    string rootPath = Server.MapPath("~");
                    Debug.WriteLine("Root path" + rootPath);
                    System.IO.File.Delete(rootPath + "/Content/VideoImages/" + oldVideo.video_icon);


                    //Assigning video icon
                    oldVideo.video_icon = FileName;
                    //Saving video thumbnail
                    FileName = Path.Combine(Server.MapPath("~/Content/VideoImages/"), FileName);
                    videoViewModel.ImageFile.SaveAs(FileName);
                }
                if (videoViewModel.video_name != null)
                {
                    oldVideo.video_name = videoViewModel.video_name;
                }

                if (videoViewModel.video_description != null)
                {
                    oldVideo.video_description = videoViewModel.video_description;
                }

                if (videoViewModel.video_comments_allowed)
                {
                    oldVideo.video_comments_allowed = true;
                }
                else
                {
                    oldVideo.video_comments_allowed = false;
                }


                if (ModelState.IsValid)
                {
                    db.Entry(oldVideo).State = EntityState.Modified;
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }
                ViewBag.video_user_id = new SelectList(db.users, "users_id", "user_username", videoViewModel.video_user_id);
                return(View(videoViewModel));
            }
        }
예제 #25
0
        public ActionResult Edit(EditAccoutViewModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            //ApplicationUser
            var user = UserManager.FindById(model.Id);

            Debug.WriteLine("Korisnik" + user.ToString());
            //for database user
            var oldUsername = user.ApplicationUserUsername;

            Debug.WriteLine("Staro korisnicko : " + oldUsername);

            //Database user
            using (treca_aplikacija_model db = new treca_aplikacija_model())
            {
                foreach (var x in db.users.ToList())
                {
                    if (x.user_username.Equals(oldUsername))
                    {
                        x.user_username = model.Username;
                        x.user_email    = model.Email;
                        x.user_password = model.Password;

                        //Image sex
                        if (model.ImageFile != null)
                        {
                            string Extension = Path.GetExtension(model.ImageFile.FileName);
                            string FileName  = x.users_id.ToString() + Extension;

                            string rootPath = Server.MapPath("~");
                            if (x.user_icon != null)
                            {
                                System.IO.File.Delete(rootPath + "/Content/UserPhotos/" + x.user_icon);
                            }

                            //Assigning video icon
                            x.user_icon = FileName;
                            //Saving video thumbnail
                            FileName = Path.Combine(Server.MapPath("~/Content/UserPhotos/"), FileName);
                            model.ImageFile.SaveAs(FileName);
                        }
                    }
                }
                db.SaveChanges();
            }



            //Applicationuser
            user.ApplicationUserUsername = model.Username;
            UserManager.SetEmail(model.Id, model.Email);
            user.UserName = model.Email;
            UserManager.ChangePassword(model.Id, model.OldPassword, model.Password);
            if (model.Role != null)
            {
                if (model.Role.Equals("Admin"))
                {
                    UserManager.AddToRole(model.Id, "Admin");
                }
                else
                {
                    UserManager.RemoveFromRole(model.Id, "Admin");
                }
            }
            else
            {
                UserManager.AddToRole(model.Id, "Regular");
            }


            UserManager.Update(user);


            if (User.Identity.GetUserId().Equals(model.Id))
            {
                AuthenticationManager.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
                return(RedirectToAction("Login", "Account", new { returnUrl = "/Video/Index" }));
            }
            else
            {
                return(View());
            }
        }
예제 #26
0
        // GET: Video/Details/5
        // GET: Video/Details/5?page=x&sort=y
        public ActionResult Details(byte?id, int?page = 1, string sort = "Created", bool initial = true)
        {
            if (!initial)
            {
                ViewBag.Scroll = true;
            }
            else
            {
                ViewBag.Scroll = false;
            }

            ViewBag.CurrentCommentPage      = page;
            ViewBag.CurrentCommentSortParam = sort;

            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            treca_aplikacija_model db = new treca_aplikacija_model();
            video video = db.videos.Find(id);

            if (video == null)
            {
                return(HttpNotFound());
            }
            UserViewModel user = ApplicationUtils.FindUserByUsername(User.Identity.GetApplicationUserUsername());

            if (user != null)
            {
                foreach (var x in db.video_like_dislike)
                {
                    if (x.users_id == user.users_id && x.video_id == video.video_id)
                    {
                        ViewBag.LikeDislikeEntity = x;
                    }
                }


                ViewBag.UserCommentLikeDislike = db.comment_like_dislike.Where(x => x.users_id == user.users_id && x.comment.comment_video_id == id).ToList();
            }

            //Initial pagination
            int numOfComments    = video.comments.Count();
            int paginationNumber = 0;

            if (numOfComments > 5)
            {
                paginationNumber = (numOfComments / 5) + 1;
            }
            else
            {
                paginationNumber = 1;
            }
            ViewBag.CommentPagination = paginationNumber;



            //Pagination and sort param
            List <comment> comments = new List <comment>();

            if (sort.Equals("Created"))
            {
                comments = video.comments.OrderByDescending(x => x.comment_created).ToList();
            }
            else
            {
                foreach (var x in video.comments)
                {
                    x.comment_rating = x.comment_like_dislike.Where(z => z.is_like).Count() - x.comment_like_dislike.Where(z => !z.is_like).Count();
                    Debug.WriteLine("Comment content:" + x.comment_content + "Assigned rating: " + x.comment_rating);
                }

                comments = video.comments.OrderByDescending(x => x.comment_rating).ToList();
            }
            if (page == 1)
            {
                try
                {
                    comments = comments.GetRange(0, 5);
                } catch
                {
                    comments = comments.GetRange(0, comments.Count());
                }
            }
            else
            {
                try
                {
                    //
                    comments = comments.GetRange((((int)page - 1) * 5), 5);
                } catch (ArgumentException)
                {
                    Debug.WriteLine(video.comments.ToList().Count());
                    comments = comments.GetRange((((int)page - 1) * 5), comments.Count() / 5);
                }
            }

            video.comments = comments;
            return(View(ApplicationUtils.CreateVideoViewModel(video)));
        }
예제 #27
0
        public ActionResult Filter(string userFilter, string lowDateFilter, string highDateFilter)
        {
            Debug.WriteLine("UserF: " + userFilter);
            Debug.WriteLine("LowDF: " + lowDateFilter);
            Debug.WriteLine("HighF: " + highDateFilter);
            treca_aplikacija_model db = new treca_aplikacija_model();

            List <VideoViewModel> videosDTO = new List <VideoViewModel>();

            if (userFilter == null && lowDateFilter == null & highDateFilter == null)
            {
                return(Json(new { message = "Everyting is null" }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                List <VideoViewModel> videos = new List <VideoViewModel>();

                if (userFilter != null)
                {
                    foreach (var x in db.videos.Include(v => v.user).Where(x => x.user.user_username.Equals(userFilter)).ToList())
                    {
                        videos.Add(ApplicationUtils.CreateVideoViewModel(x));
                    }
                    //videos += db.videos.Include(v => v.user).Include(v => v.comments).Where(x => x.user.user_username.Contains(userFilter)).ToList();
                }
                if (lowDateFilter != null && highDateFilter != null)
                {
                    foreach (var x in db.videos.Include(v => v.user).ToList())
                    {
                        if (x.video_created > DateTime.Parse(lowDateFilter) && x.video_created < DateTime.Parse(highDateFilter))
                        {
                            videos.Add(ApplicationUtils.CreateVideoViewModel(x));
                        }
                    }
                    //videos += db.videos.Include(v => v.user).Include(v => v.comments).Where(x => x.video_created > Convert.ToDateTime(lowDateFilter) && x.video_created < Convert.ToDateTime(highDateFilter) ).ToList();
                }
                else
                {
                    if (lowDateFilter != null)
                    {
                        foreach (var x in db.videos.Include(v => v.user).ToList())
                        {
                            if (x.video_created > DateTime.Parse(lowDateFilter))
                            {
                                videos.Add(ApplicationUtils.CreateVideoViewModel(x));
                            }
                        }
                        //List<video> videos = db.videos.Include(v => v.user).Include(v => v.comments).Where(x => x.video_created > Convert.ToDateTime(lowDateFilter)).ToList();
                    }
                    else if (highDateFilter != null)
                    {
                        foreach (var x in db.videos.Include(v => v.user).ToList())
                        {
                            if (x.video_created < DateTime.Parse(highDateFilter))
                            {
                                videos.Add(ApplicationUtils.CreateVideoViewModel(x));
                            }
                        }
                        //List<video> videos = db.videos.Include(v => v.user).Include(v => v.comments).Where(x => x.video_created > Convert.ToDateTime(lowDateFilter)).ToList();
                    }
                }
                return(Json(new { Videos = videos.Distinct().ToList() }, JsonRequestBehavior.AllowGet));
            }
        }