public ActionResult ForgottenPassword(ForgottenPasswordModel model) { bool status = true; string exMsg = ""; if (ModelState.IsValid) { using (DBEntities db = new DBEntities()) { var playerDashboard = db.PlayerDashboard.FirstOrDefault(u => u.DashboardURL == model.DashboardURLId); PlayersRepository playerRepo = new PlayersRepository(); var player = playerRepo.ReadOne_ByEmailAddress(model.Email, true); if (playerDashboard != null && player != null) { //Now Send an Email to User for Username and Password! // if (sys.EmailsEnabled) { try { SystemSettingsRepository sysRepo = new SystemSettingsRepository(); var sys = sysRepo.GetSystemSettings(); //Random rndm = new Random(); //var RandomNum = rndm.Next(10001, int.MaxValue); Guid guid = Guid.NewGuid(); string EncryptedRandomNum = guid.ToString(); SecurityUtils.CheckforInvalidFileNameChar(ref EncryptedRandomNum); //it will remove any unsupported characters playerDashboard.PasswordResetCode = EncryptedRandomNum; playerDashboard.ResetCodeExpiry = DateTime.Now.AddHours(24); db.SaveChanges(); status = SendEmail(player, EncryptedRandomNum, sys.CurrentDomain); } catch (Exception ex) { model.Reason = "Failed to send an Email. Please contact your Site Administrator" + ex.Message; model.AlertType = "danger"; exMsg = ex.Message; } if (status) { //Add To Log SecurityUtils.AddAuditLog("Requested for Forgotten Password", "User \"" + player.FullName + "\" requested for Forgotten Password , Email Sent to: \"" + player.EmailAddress + "\"", this); model.Reason = "Your Login Details has been sent to above email address. <a style='color:black' href='/Member/Login/" + model.DashboardURLId + "'> Log In </a>"; model.AlertType = "success"; } else { model.Reason = "Failed to send an Email. Please contact your Site Administrator." + exMsg + " - " + EmailsRepository.EmailErrorMsg; model.AlertType = "danger"; } } } else { model.Reason = "Your provided email address is not valid. Please contact us at [email protected]"; model.AlertType = "danger"; } } } ViewBag.ModelIsLogin = true; return(View(model)); }
/// <summary> /// Save Player Progress Image /// </summary> /// <param name="PlayerProgressImages">List of Uploaded Images</param> /// <param name="PlayerEmailAddress">Player Email Address to match and save against Player record in DB</param> /// <param name="LeagueID">League ID from current League Home Page</param> /// <param name="IsFront">IsFront</param> /// <param name="IsSide">IsSide</param> /// <returns></returns> public ActionResult SavePlayerProgressImages(IEnumerable <HttpPostedFileBase> PlayerProgressImages_Front, IEnumerable <HttpPostedFileBase> PlayerProgressImages_Side, string PlayerEmailAddress, long LeagueID, bool IsFront, bool IsSide) { IEnumerable <HttpPostedFileBase> PlayerProgressImages = null; List <PlayerImagesExt> ListOfPlayerImages = new List <PlayerImagesExt>(); if (PlayerProgressImages_Front != null) { PlayerProgressImages = PlayerProgressImages_Front; } else if (PlayerProgressImages_Side != null) { PlayerProgressImages = PlayerProgressImages_Side; } PlayersRepository playerRepo = new PlayersRepository(); var player = playerRepo.ReadOne_ByEmailAddress(PlayerEmailAddress); PlayerImagesRepository modelRepo = new PlayerImagesRepository(); if (player != null) { ListOfPlayerImages = modelRepo.ReadAll(player.PlayerID, false, false); } var ErrorMsg = ValidatePlayer_ForProgressImage(player, ListOfPlayerImages, LeagueID, IsFront, IsSide); if (!string.IsNullOrEmpty(ErrorMsg)) { return(Content(ErrorMsg)); } else { var ParamPlayerID = player.PlayerID; string FinalFileName = ""; // The Name of the Upload component is "files" if (PlayerProgressImages != null) { string PlayerImagesFolder = Path.Combine(Server.MapPath("~" + SecurityUtils.Players_ImagePath + ""), ParamPlayerID.ToString()); foreach (var file in PlayerProgressImages) { 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); // ImageWaterMark imgWaterMark = new ImageWaterMark(); 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); //imgWaterMark.GenerateWaterMarkOnImage(PlayerImagesFolder, FinalFileName, false, true, WaterMarkImagePath, null, false, false, true, false, false); //Clear the Object imgCombine = null; PlayerImagesExt PlayerImg = new PlayerImagesExt() { PlayerID = ParamPlayerID, FileName = FinalFileName_WaterMarked, IsAnimated = false, Display = true, DefaultImage = false, IsFront = IsFront, IsSide = IsSide, 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); } } } // Return an empty string to signify success return(Content("")); } }