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 }
            });
        }
示例#2
0
 public UnitOfWork(ApplicationDbContext context)
 {
     _context     = context;
     Workouts     = new WorkoutRepository(context);
     Exercises    = new ExerciseRepository(context);
     Cardios      = new CardioRepository(context);
     Achievements = new AchievementsRepository(context);
     Users        = new ApplicationUserRepository(context);
     DailyMenus   = new DailyMenuRepository(context);
     Foods        = new FoodsRepository(context);
     Measurements = new MeasurementsRepository(context);
 }
示例#3
0
        public ActionResult DashboardAchievements(string secret)
        {
            if (secret == "M@nvF@t@123")
            {
                if (SecurityUtils.Enable_PremiumDashboard)
                {
                    AchievementsRepository modelRepo = new AchievementsRepository();
                    modelRepo.AutoTrigger_AchievementPoints();
                }
                return(Json("DashboardAchievements DONE", JsonRequestBehavior.AllowGet));
            }

            return(Json("Wrong Password", JsonRequestBehavior.AllowGet));
        }
        public ActionResult Combine_BeforeAfterImage(long PlayerID, string FirstImagePath, string SecondImagePath)
        {
            PlayerImagesRepository modelRepo = new PlayerImagesRepository();

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

            FirstImagePath  = FirstImagePath.Replace("/Content/Data/PlayerImages/" + PlayerID + "/", "");
            SecondImagePath = SecondImagePath.Replace("/Content/Data/PlayerImages/" + PlayerID + "/", "");

            string FirstImageServerPath  = Path.Combine(Server.MapPath("~" + SecurityUtils.Players_ImagePath + "/" + PlayerID.ToString()), FirstImagePath);
            string SecondImageServerPath = Path.Combine(Server.MapPath("~" + SecurityUtils.Players_ImagePath + "/" + PlayerID.ToString()), SecondImagePath);

            Image_Combine imgCombine        = new Image_Combine();
            string        CombinedImageName = imgCombine.CombineBitmap_BeforeAfter(PlayerImagesFolder, FirstImageServerPath, SecondImageServerPath);

            //Clear the Object
            imgCombine = null;

            string Msg    = "";
            bool   status = true;

            PlayerImagesExt PlayerImg = new PlayerImagesExt()
            {
                PlayerID       = PlayerID,
                FileName       = CombinedImageName,
                IsAnimated     = false,
                Display        = true,
                DefaultImage   = false,
                UploadDateTime = DateTime.Now,
                IsBeforeAfter  = true
            };

            modelRepo.CreateOrUpdate(ref PlayerImg, ref Msg, ref status, this);

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

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

            return(new JsonResult {
                Data = status
            });
        }
示例#5
0
 public UnitOfWork(DataContext context)
 {
     _context      = context;
     Users         = new UsersRepository(_context);
     Photos        = new PhotosRepository(_context);
     Groups        = new GroupsRepository(_context);
     Memberships   = new MembershipsRepository(_context);
     Auths         = new AuthRepository(_context);
     Comments      = new CommentsRepository(_context);
     Achievements  = new AchievementsRepository(_context);
     Cities        = new CitiesRepository(_context);
     Countries     = new CountriesRepository(_context);
     Locations     = new LocationsRepository(_context);
     Matchdays     = new MatchdaysRepository(_context);
     MatchStatuses = new MatchStatusesRepository(_context);
     Friends       = new FriendsRepository(_context);
     Messages      = new MessagesRepository(_context);
     Chats         = new ChatsRepository(_context);
 }
示例#6
0
        public ActionResult SaveWeeklyActivityData(PlayerWeeklyActivityExt model)
        {
            string Msg    = "";
            bool   status = true;
            PlayerWeeklyActivityRepository pweeklyRepo = new PlayerWeeklyActivityRepository();

            pweeklyRepo.CreateOrUpdate(model, ref Msg, ref status, this);

            if (status)
            {
                AchievementsRepository achRepo = new AchievementsRepository();

                Guid guid = Guid.NewGuid();
                AchievementThread      = new Thread(() => achRepo.WeeklyActivity_AchievementPoints(model.PlayerID, AchievementThread));
                AchievementThread.Name = "WeeklyActivity_AchievementPoints_" + guid.ToString();
                AchievementThread.Start();
            }

            return(new JsonResult {
                Data = true
            });
        }
        public ActionResult Async_Save(IEnumerable <HttpPostedFileBase> files)
        {
            long   ParamPlayerID = 4;
            string FinalFileName = "";

            // The Name of the Upload component is "files"
            if (files != null)
            {
                PlayerImagesRepository modelRepo = new PlayerImagesRepository();

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

                foreach (var file in files)
                {
                    if (!(System.IO.Directory.Exists(PlayerImagesFolder)))
                    {
                        System.IO.Directory.CreateDirectory(PlayerImagesFolder);
                    }

                    // Some browsers send file names with full path. This needs to be stripped.
                    string IEFileName = "", FileNameWithExtension = "";

                    if (Request.Browser.Browser.ToLower().Equals("ie") || Request.Browser.Browser.ToLower().Equals("internetexplorer"))
                    {
                        IEFileName = Path.GetFileName(file.FileName);
                    }

                    if (IEFileName != "")
                    {
                        FileNameWithExtension = IEFileName;
                        SecurityUtils.CheckforInvalidFileNameChar(ref FileNameWithExtension);
                    }
                    else
                    {
                        FileNameWithExtension = file.FileName;
                        SecurityUtils.CheckforInvalidFileNameChar(ref FileNameWithExtension);
                    }

                    var fileExtension = Path.GetExtension(FileNameWithExtension);

                    //Following Code will rename the file if it is already Exists
                    int count = 1;

                    string fileNameOnly = Guid.NewGuid().ToString(); //Path.GetFileNameWithoutExtension(FileNameWithExtension);
                    string extension    = Path.GetExtension(FileNameWithExtension);
                    string newFullPath  = FileNameWithExtension;
                    newFullPath = Path.Combine(PlayerImagesFolder, fileNameOnly + extension);

                    while (System.IO.File.Exists(newFullPath))
                    {
                        string tempFileName = string.Format("{0}({1})", fileNameOnly, count++);
                        newFullPath = Path.Combine(PlayerImagesFolder, tempFileName + extension);
                    }

                    fileNameOnly = Path.GetFileNameWithoutExtension(newFullPath);

                    //Update Filename from Repository
                    string Msg    = "";
                    bool   status = true;
                    FinalFileName = fileNameOnly + extension;

                    //Save the file to the Disk
                    file.SaveAs(newFullPath);

                    string PlayerImagePath = Path.Combine(PlayerImagesFolder, FinalFileName);

                    string WaterMarkImagePath = Server.MapPath("~/Images/verticle_mvff.png");

                    Image_Combine imgCombine = new Image_Combine();

                    string FinalFileName_WaterMarked = imgCombine.CombineBitmap_WatermarkImage(PlayerImagesFolder, FinalFileName, WaterMarkImagePath);

                    //Clear the Object
                    imgCombine = null;

                    PlayerImagesExt PlayerImg = new PlayerImagesExt()
                    {
                        PlayerID       = ParamPlayerID,
                        FileName       = FinalFileName_WaterMarked,
                        IsAnimated     = false,
                        Display        = true,
                        DefaultImage   = false,
                        UploadDateTime = DateTime.Now
                    };

                    modelRepo.CreateOrUpdate(ref PlayerImg, ref Msg, ref status, this);

                    string NonWaterMarkImagePath = Path.Combine(PlayerImagesFolder, FinalFileName);

                    if (System.IO.File.Exists(NonWaterMarkImagePath))
                    {
                        System.IO.File.Delete(NonWaterMarkImagePath);
                    }

                    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 an empty string to signify success
            return(Content(""));
        }