public ActionResult CreateGif(long[] PlayerImageIDs)
        {
            string Msg                       = "";
            bool   status                    = true;
            long   ParamPlayerID             = 0;
            PlayerImagesRepository modelRepo = new PlayerImagesRepository();
            // var Selected_PlayerImgs = modelRepo.ReadAll(false).Where(m => PlayerImageIDs.Contains(m.PlayerImageID)).ToList();
            List <string> ListOfImagePaths = new List <string>();

            foreach (var item in PlayerImageIDs)
            {
                var    Selected_PlayerImgs = modelRepo.ReadOne(item);
                string FullPath            = Server.MapPath(Selected_PlayerImgs.ImageLink);
                ListOfImagePaths.Add(FullPath);
                ParamPlayerID = Selected_PlayerImgs.PlayerID;
            }

            string PlayerImagesFolder = Path.Combine(Server.MapPath("~" + SecurityUtils.Players_ImagePath + ""), ParamPlayerID.ToString());

            modelRepo.CreateGif(ListOfImagePaths, PlayerImagesFolder, ParamPlayerID, ref Msg, ref status, this);

            //String[] imageFilePaths = new String[] { "D:\\temp\\01.png", "D:\\temp\\02.png", "D:\\temp\\03.png" };
            //String outputFilePath = "D:\\temp\\test.gif";
            //AnimatedGifEncoder e = new AnimatedGifEncoder();
            //e.Start(outputFilePath);
            //e.SetDelay(1000);
            ////-1:no repeat,0:always repeat
            //e.SetRepeat(0);
            //for (int i = 0, count = imageFilePaths.Length; i < count; i++)
            //{
            //    e.AddFrame(Image.FromFile(imageFilePaths[i]));
            //}
            //e.Finish();
            ///* extract Gif */
            //string outputPath = "D:\\temp";
            //GifDecoder gifDecoder = new GifDecoder();
            //gifDecoder.Read("D:\\temp\\Finalsss.gif");
            //for (int i = 0, count = gifDecoder.GetFrameCount(); i < count; i++)
            //{
            //    Image frame = gifDecoder.GetFrame(i);  // frame i
            //    frame.Save(outputPath + Guid.NewGuid().ToString() + ".png", ImageFormat.Png);
            //}

            if (status && SecurityUtils.Enable_PremiumDashboard)
            {
                AchievementsRepository achRepo = new AchievementsRepository();

                Guid guid = Guid.NewGuid();
                AchievementThread      = new Thread(() => achRepo.ImageGallery_AchievementPoints(ParamPlayerID, AchievementThread));
                AchievementThread.Name = "ImageGallery_BeforeAfterImageCreated_AchievementPoints_" + guid.ToString();
                AchievementThread.Start();
            }

            return(new JsonResult {
                Data = new { status = status, Msg = Msg }
            });
        }
        public ActionResult DownloadImage(long id)
        {
            PlayerImagesRepository modelRepo = new PlayerImagesRepository();
            var playerimg = modelRepo.ReadOne(id);

            var filename = DateTime.Now.ToString("ddMMyyyy_HHmmss") + ".gif";

            var imgPath = Server.MapPath(playerimg.ImageLink);

            Response.AddHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");
            Response.WriteFile(imgPath);
            Response.End();
            return(null);
        }