public void ShareActivity(ShareActivity model, Controller ctrl) { List <PlayerDailyActivityCSV> ListOfActivitiesCSV = CreateListOfActivities(model, ctrl); //Get Player Details PlayersRepository playerRepo = new PlayersRepository(); var player = playerRepo.ReadOne(model.PlayerID); var leagueName = (string.IsNullOrEmpty(player.SelectedLeagueName) == false ? player.SelectedLeagueName : "No League Selected"); string FileName = "DailyActivity_" + player.FullName.Replace(" ", string.Empty) + "_" + DateTime.Now.ToString("ddMMyyyyHHmmss") + ".csv"; //Now Create CSV string fullFilePath = CreateCSV(ListOfActivitiesCSV, FileName, player.FullName, player.EmailAddress, leagueName, ctrl); //Now Send Email SystemSettingsRepository sysRepo = new SystemSettingsRepository(); var sys = sysRepo.GetSystemSettings(); PlayerDashboardRepository pdRepo = new PlayerDashboardRepository(); var playerDashboard = pdRepo.ReadOne(model.PlayerID); EmailsRepository emailRepo = new EmailsRepository(); string Body = "Hi," + "<br/><br/> I would like to share my Daily Activity Data with you " + "<br/><br/> Personal Message: " + model.MsgBody; Guid guid = Guid.NewGuid(); EmailThread = new Thread(() => emailRepo.SendEmailWithAttachment(playerDashboard.PlayerEmailAddress, model.EmailAddress, "Daily Activity Data - " + playerDashboard.PlayerFullName, Body, fullFilePath, EmailThread, ctrl, sys.SupportEmailAddress, null, false)); EmailThread.Name = "DailyActivityData_" + guid.ToString(); EmailThread.Start(); }
public PlayerImagesExt ReadOne(string FileName) { SystemSettingsRepository sysRepo = new SystemSettingsRepository(); var CurrentDomain = sysRepo.GetSystemSettings().CurrentDomain; var model = db.PlayerImages.Include("Players").Where(m => m.FileName == FileName).FirstOrDefault(); return(Map(model, CurrentDomain)); }
public List <PlayerImagesExt> ReadAll_ProgressGallery(string PlayerEmailAddress) { SystemSettingsRepository sysRepo = new SystemSettingsRepository(); var CurrentDomain = sysRepo.GetSystemSettings().CurrentDomain; var result = db.PlayerImages.Include("Players").Where(m => m.Players.EmailAddress == PlayerEmailAddress && m.MarkForDeletion == false && m.Display == true).ToList().Select(m => Map(m, CurrentDomain)).OrderByDescending(m => m.UploadDateTime).ToList(); return(result); }
public string Delete(long PlayerImageID, ref string Msg, ref bool status, Controller ctrl) { string FileName = ""; try { //TODO: Get Current Object from DB var ItemToDelete = db.PlayerImages.FirstOrDefault(m => m.PlayerImageID == PlayerImageID); if (ItemToDelete != null) { if (ItemToDelete.DefaultImage) { status = false; Msg = "You cannot Delete Default Image, Please mark any other image as default in order to Delete this Image."; } else { SystemSettingsRepository sysRepo = new SystemSettingsRepository(); var CurrentDomain = sysRepo.GetSystemSettings().CurrentDomain; FileName = ItemToDelete.FileName; long PlayerID = ItemToDelete.PlayerID; var ForAudiLog = Map(ItemToDelete, CurrentDomain); //TODO: Check if it is not null, then Remove from DB db.PlayerImages.Remove(ItemToDelete); db.SaveChanges(); //Add To Log AuditLog(ctrl, AuditAction.Delete, null, ForAudiLog); //Now Delete the Physical Image string PlayerImagesFolder = Path.Combine(ctrl.Server.MapPath("~" + SecurityUtils.Players_ImagePath + ""), PlayerID.ToString()); string FullFilePath = Path.Combine(PlayerImagesFolder, FileName); if (System.IO.File.Exists(FullFilePath)) { // The files are not actually removed in this demo System.IO.File.Delete(FullFilePath); } } } } catch (Exception ex) { Msg = ErrorHandling.HandleException(ex); status = false; } return(FileName); }
public List <PlayerImagesExt> ReadAll(bool?OnlyAnimated) { SystemSettingsRepository sysRepo = new SystemSettingsRepository(); var CurrentDomain = sysRepo.GetSystemSettings().CurrentDomain; var pImages = db.PlayerImages.Include("Players").ToList().Select(m => Map(m, CurrentDomain)).ToList(); var Filtered_pImages = (from pimg in pImages where (OnlyAnimated.HasValue == false || pimg.IsAnimated == OnlyAnimated) select pimg).ToList(); return(Filtered_pImages); }
public List <PlayerImagesExt> ReadAll(long PlayerID, bool?OnlyAnimated, bool All) { SystemSettingsRepository sysRepo = new SystemSettingsRepository(); var CurrentDomain = sysRepo.GetSystemSettings().CurrentDomain; var pImages = db.PlayerImages.Include("Players").Where(m => m.PlayerID == PlayerID).ToList().Select(m => Map(m, CurrentDomain)); var Filtered_pImages = (from pimg in pImages where pimg.PlayerID == PlayerID && (OnlyAnimated.HasValue == false || pimg.IsAnimated == OnlyAnimated) && (All == true || pimg.MarkForDeletion == false) //if it is calling from backend then return all pics but if from Player Progress Image page then only which are not marked as Deletetion select pimg); return(Filtered_pImages.OrderByDescending(m => m.UploadDateTime).ToList()); }
public List <PlayerImagesExt> GetPlayerProgressImages(long PlayerID, long LeagueFixtureID) { SystemSettingsRepository sysRepo = new SystemSettingsRepository(); var CurrentDomain = sysRepo.GetSystemSettings().CurrentDomain; var model = db.SelectPlayerProgressImages(PlayerID, LeagueFixtureID).ToList(); if (model.Count != 0) { return(model.Select(m => MapProgressImages(m, CurrentDomain)).ToList()); } else { return(new List <PlayerImagesExt>()); } }
public long CreateOrUpdate(ref PlayerImagesExt model, ref string Msg, ref bool status, Controller ctrl) { long PlayerImageID = model.PlayerImageID; try { if (model.PlayerImageID == 0) { model.UploadDateTime = DateTime.Now; //Create New Record //TODO: Map to DB Object var dbmodel = Map(model); //TODO: Save DB Changes and Set the Return Primary Key ID db.PlayerImages.Add(dbmodel); db.SaveChanges(); PlayerImageID = dbmodel.PlayerID; Msg = "New Player Image Created Successfully"; //TOD: Add to Audit Log AuditLog(ctrl, AuditAction.Create, ReadOne(dbmodel.PlayerImageID), null); } else { SystemSettingsRepository sysRepo = new SystemSettingsRepository(); var CurrentDomain = sysRepo.GetSystemSettings().CurrentDomain; //Update Existing Record var dbmodel = db.PlayerImages.FirstOrDefault(p => p.PlayerImageID == PlayerImageID); var ForAuditLog = Map(dbmodel, CurrentDomain); //TODO: Map to DB Object MapUpdate(ref dbmodel, model); //TODO: Update DB Changes db.SaveChanges(); PlayerImageID = dbmodel.PlayerImageID; Msg = "Player Image Updated Successfully"; //TOD: Add to Audit Log AuditLog(ctrl, AuditAction.Update, ForAuditLog, ReadOne(dbmodel.PlayerImageID)); } } catch (Exception ex) { Msg = ErrorHandling.HandleException(ex); status = false; } return(PlayerImageID); }
public RegistrationExt NewRegistration(Controller ctrl, RegistrationExt RegExt) { model = RegExt; if (model == null) { model = new RegistrationExt(); } SystemSettingsRepository sysRepo = new SystemSettingsRepository(); var sys = sysRepo.GetSystemSettings(); bool?RegSuccess = null; if (ctrl.Request.QueryString["Reg"] != null) { RegSuccess = true; //When Registration Success then Delete the Cookie and Remove all Sessions ctrl.Session.RemoveAll(); ctrl.Session.Clear(); } else { #region Initialize Viewmodels ctrl.ViewBag.Heights = DropDownLists.GetHeights(model.HeightID); ctrl.ViewBag.HowActives = DropDownLists.GetHowActives(model.HowActiveID); ctrl.ViewBag.Advertisements = DropDownLists.GetAdvertisements(model.AdvertisementID); #endregion } ctrl.ViewBag.RegSuccess = RegSuccess; return(model); }
public bool Delete(string FileName, ref string Msg, Controller ctrl) { bool status = true; try { //TODO: Get Current Object from DB var ItemToDelete = db.PlayerImages.FirstOrDefault(m => m.FileName == FileName); if (ItemToDelete != null) { if (ItemToDelete.DefaultImage) { status = false; Msg = "You cannot Delete Default Image, Please mark any other image as default in order to Delete this Image."; } else { SystemSettingsRepository sysRepo = new SystemSettingsRepository(); var CurrentDomain = sysRepo.GetSystemSettings().CurrentDomain; var ForAudiLog = Map(ItemToDelete, CurrentDomain); //TODO: Check if it is not null, then Remove from DB db.PlayerImages.Remove(ItemToDelete); db.SaveChanges(); //Add To Log AuditLog(ctrl, AuditAction.Delete, null, ForAudiLog); } } } catch (Exception ex) { Msg = ErrorHandling.HandleException(ex); status = false; } return(status); }
public Boolean SendEmail_WithCC(string From, string To, string Subject, string Body, string CC = null, string BCC = null) { // SecurityUtils.AddAuditLog("Inside SendEmail", "From = " + From + " To = " + To + "Subject =" +Subject+ " Body = "+ Body); SystemSettingsRepository sysRepo = new SystemSettingsRepository(); var sys = sysRepo.GetSystemSettings(); //SecurityUtils.AddAuditLog("GetSystemSettings", "sys.EmailsEnabled = " + sys.EmailsEnabled.ToString() + " sys.TempEmailAddress = " + sys.TempEmailAddress); bool status = true; try { // using (SmtpClient smtp = new SmtpClient("mail.manvfatfootball.org", 587)) using (SmtpClient smtp = new SmtpClient()) { // smtp.Credentials = new NetworkCredential("*****@*****.**", "Email@manvfat123"); smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.EnableSsl = false; if (sys.EmailsEnabled) { if (!string.IsNullOrEmpty(To)) { MailMessage mm; MailAddress from = new MailAddress(From, "MANvFAT Football"); //(1) Create the MailMessage instance if (sys.SendTempEmail) { mm = new MailMessage(From, sys.TempEmailAddress, Subject, Body); mm.IsBodyHtml = true; } else { mm = new MailMessage(); mm.IsBodyHtml = true; mm.From = from; mm.Subject = Subject; mm.Body = Body; } mm.To.Add(To); if (!string.IsNullOrEmpty(BCC)) { string[] EmailAddresses_BCC = BCC.Replace(" ", string.Empty).Split(';'); foreach (var item_BCC in EmailAddresses_BCC) { if (!string.IsNullOrEmpty(item_BCC)) { mm.Bcc.Add(item_BCC); } } } if (!string.IsNullOrEmpty(CC)) { string[] EmailAddresses_CC = CC.Replace(" ", string.Empty).Split(';'); foreach (var item_CC in EmailAddresses_CC) { if (!string.IsNullOrEmpty(item_CC)) { mm.CC.Add(item_CC); } } } //Now Send Email smtp.Send(mm); } } } } catch (Exception ex) { SecurityUtils.AddAuditLog("EmailErrorMsg", ex.Message); status = false; EmailErrorMsg = ex.Message;// + " - " + ex.InnerException != null ? ex.InnerException.Message : ""; SecurityUtils.AddAuditLog("Failed to send Email", "Email Send Failed with Error = " + EmailErrorMsg + "<br/> Stack Trace:<br/>" + ex.StackTrace); } return(status); }
public Boolean SendEmailWithAttachment(string From, string To, string Subject, string Body, string filePath, Thread thread, Controller ctrl, string BCC = null, string CC = null, bool DeleteAttchedFile = false) { SystemSettingsRepository sysRepo = new SystemSettingsRepository(); var sys = sysRepo.GetSystemSettings(); string[] EmailAddresses = To.Replace(" ", string.Empty).Split(';'); bool status = true; try { // using (SmtpClient smtp = new SmtpClient("mail.manvfatfootball.org", 587)) using (SmtpClient smtp = new SmtpClient()) { // smtp.Credentials = new NetworkCredential("*****@*****.**", "Email@manvfat123"); smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.EnableSsl = false; if (sys.EmailsEnabled) { foreach (var item in EmailAddresses) { if (item != "") { MailMessage mm; MailAddress from = new MailAddress(From); //(1) Create the MailMessage instance if (sys.SendTempEmail) { mm = new MailMessage(From, sys.TempEmailAddress, Subject, Body); mm.IsBodyHtml = true; } else { mm = new MailMessage(); mm.IsBodyHtml = true; mm.From = from; mm.Subject = Subject; mm.Body = Body; } mm.To.Add(item); if (!string.IsNullOrEmpty(BCC)) { string[] EmailAddresses_BCC = BCC.Replace(" ", string.Empty).Split(';'); foreach (var item_BCC in EmailAddresses_BCC) { if (!string.IsNullOrEmpty(item_BCC)) { mm.Bcc.Add(item_BCC); } } } if (!string.IsNullOrEmpty(CC)) { string[] EmailAddresses_CC = CC.Replace(" ", string.Empty).Split(';'); foreach (var item_CC in EmailAddresses_CC) { if (!string.IsNullOrEmpty(item_CC)) { mm.CC.Add(item_CC); } } } System.Net.Mail.Attachment attachment; attachment = new System.Net.Mail.Attachment(filePath); mm.Attachments.Add(attachment); smtp.Send(mm); } } } thread.Join(0); } } catch (ThreadAbortException e) { SecurityUtils.AddAuditLog("The Email Thread Aborted Successfully", "Email Subject \"" + Subject + "\" has been Sent to " + To); } catch (Exception ex) { status = false; EmailErrorMsg = ex.Message + " - " + ex.InnerException != null ? ex.InnerException.Message : ""; SecurityUtils.AddAuditLog("Failed to send Email", "Email Send Failed with Error = " + EmailErrorMsg + "<br/> Stack Trace:<br/>" + ex.StackTrace); } finally { SecurityUtils.AddAuditLog("The Email Thread Completed Successfully", "Email Subject \"" + Subject + "\" has been Sent to " + To); //If Deleted tru then Delete the file after sending Email. if (DeleteAttchedFile) { if (System.IO.File.Exists(filePath)) { System.IO.File.Delete(filePath); } } } return(status); }
public Boolean SendEmail(string From, string To, string Subject, string Body, Thread thread) { SystemSettingsRepository sysRepo = new SystemSettingsRepository(); var sys = sysRepo.GetSystemSettings(); string[] EmailAddresses = To.Replace(" ", string.Empty).Split(';'); bool status = true; try { // using (SmtpClient smtp = new SmtpClient("mail.manvfatfootball.org", 587)) using (SmtpClient smtp = new SmtpClient()) { // smtp.Credentials = new NetworkCredential("*****@*****.**", "Email@manvfat123"); smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.EnableSsl = false; if (sys.EmailsEnabled) { foreach (var item in EmailAddresses) { if (item != "") { MailMessage mm; MailAddress from = new MailAddress(From); //(1) Create the MailMessage instance if (sys.SendTempEmail) { mm = new MailMessage(From, sys.TempEmailAddress, Subject, Body); mm.IsBodyHtml = true; } else { mm = new MailMessage(); mm.IsBodyHtml = true; mm.From = from; mm.Subject = Subject; mm.Body = Body; } mm.To.Add(item); smtp.Send(mm); } } } thread.Join(0); } } catch (ThreadAbortException e) { SecurityUtils.AddAuditLog("The Email Thread Aborted Successfully", "Email Subject \"" + Subject + "\" has been Sent to " + To); } catch (Exception ex) { status = false; EmailErrorMsg = ex.Message + " - " + ex.InnerException != null ? ex.InnerException.Message : ""; SecurityUtils.AddAuditLog("Failed to send Email", "Email Send Failed with Error = " + EmailErrorMsg + "<br/> Stack Trace:<br/>" + ex.StackTrace); } finally { SecurityUtils.AddAuditLog("The Email Thread Completed Successfully", "Email Subject \"" + Subject + "\" has been Sent to " + To); } return(status); }
/* * public bool SendActivationEMail(out string errorMsg) * { * string activationLink = "http://usmanchohan.co.uk"; * //HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority) + "/Register/Activation.aspx?id=" + ts.Id; * * //send-template(string key, string template_name, array template_content, struct message) * dynamic sendParams = new ExpandoObject(); * sendParams.key = "Z46-URL8pJppuh8Hv5Ff3A"; * sendParams.template_name = "Secret Project Trial Activation"; * * sendParams.template_content = new List<dynamic>(); * * sendParams.message = new ExpandoObject(); * sendParams.message.subject = "Here's your Secret Project activation email"; * sendParams.message.from_email = "*****@*****.**"; * sendParams.message.from_name = "Secret Project"; * * sendParams.message.to = new List<dynamic>(); * sendParams.message.to.Add(new ExpandoObject()); * sendParams.message.to[0].email = "*****@*****.**"; * sendParams.message.to[0].name = "Usman Akram"; * * sendParams.message.track_opens = true; * //sendParams.message.track_clicks = true; * * sendParams.message.global_merge_vars = new List<dynamic>(); * sendParams.message.global_merge_vars.Add(new ExpandoObject()); * sendParams.message.global_merge_vars[0].name = "NAME"; * sendParams.message.global_merge_vars[0].content = "Chohan"; * * sendParams.message.global_merge_vars.Add(new ExpandoObject()); * sendParams.message.global_merge_vars[1].name = "LINK"; * sendParams.message.global_merge_vars[1].content = activationLink; * * errorMsg = string.Empty; * * MandrillError merr = SendMessage(sendParams); * * switch (merr) * { * case MandrillError.OK: * return true; * * case MandrillError.WebException: * case MandrillError.HttpNotOk: * errorMsg = "There was an issue sending your activation e-mail. Please try again later or call us directly."; * break; * * case MandrillError.Invalid: * errorMsg = "Your email address appears to be invalid. Please try again with a valid address, or call us directly."; * break; * * case MandrillError.Rejected: * errorMsg = "Your activation email was rejected. Please try again with a valid address, or call us directly."; * break; * * case MandrillError.Unknown: * errorMsg = "There was an unknown problem sending your activation email. Please try again, or call us directly."; * break; * } * return false; * } */ #endregion Testing Template public bool SendRegistrationEmail(PlayersExt model, Controller ctrl) { SystemSettingsRepository sysRepo = new SystemSettingsRepository(); var sys = sysRepo.GetSystemSettings(); //Add this Postfix if it is a TESTING Site. string TestSitePostfix = (sys.CurrentDomain.Contains("test") || sys.CurrentDomain.Contains("localhost")) ? "_TestSite" : ""; dynamic sendParams = new ExpandoObject(); sendParams.template_name = "tmpRegistration_PlannedLeagueCOPY" + TestSitePostfix; // string LeagueHomePage = sys.CurrentDomain + "/" + league.NewsTag; string ReferralPageLink = sys.CurrentDomain + "/Refer/" + model.ReferralCode; string ReferralLink = sys.CurrentDomain + "/refercode/" + model.ReferralCode; sendParams.template_content = new List <dynamic>(); sendParams.message = new ExpandoObject(); sendParams.message.subject = "Welcome to MAN v FAT Football"; sendParams.message.to = new List <dynamic>(); sendParams.message.to.Add(new ExpandoObject()); sendParams.message.to[0].email = model.EmailAddress; sendParams.message.to[0].name = model.FullName; //sendParams.message.track_opens = true; //sendParams.message.track_clicks = true; sendParams.message.global_merge_vars = new List <dynamic>(); sendParams.message.global_merge_vars.Add(new ExpandoObject()); sendParams.message.global_merge_vars[0].name = "BMI"; sendParams.message.global_merge_vars[0].content = model.BMI.HasValue ? model.BMI.Value.ToString("N2") : ""; sendParams.message.global_merge_vars.Add(new ExpandoObject()); sendParams.message.global_merge_vars[1].name = "BODYFAT"; sendParams.message.global_merge_vars[1].content = model.BodyFat.HasValue ? model.BodyFat.Value.ToString("N2") : ""; sendParams.message.global_merge_vars.Add(new ExpandoObject()); sendParams.message.global_merge_vars[2].name = "LEAGUEHOMEPAGE"; sendParams.message.global_merge_vars[2].content = //LeagueHomePage; sendParams.message.global_merge_vars.Add(new ExpandoObject()); sendParams.message.global_merge_vars[3].name = "WHATSAPPGROUP"; sendParams.message.global_merge_vars[3].content = //WhatsAppGroupLink; sendParams.message.global_merge_vars.Add(new ExpandoObject()); sendParams.message.global_merge_vars[4].name = "MSGNOEMERGENCYDETAILS"; sendParams.message.global_merge_vars[4].content = GenerateHtml_EmergencyContactDetails(sys, model); sendParams.message.global_merge_vars.Add(new ExpandoObject()); sendParams.message.global_merge_vars[5].name = "REFERRALPAGELINK"; sendParams.message.global_merge_vars[5].content = ReferralPageLink; sendParams.message.global_merge_vars.Add(new ExpandoObject()); sendParams.message.global_merge_vars[6].name = "REFERRALLINK"; sendParams.message.global_merge_vars[6].content = ReferralLink; sendParams.message.global_merge_vars.Add(new ExpandoObject()); sendParams.message.global_merge_vars[7].name = "REFERRALCODE"; sendParams.message.global_merge_vars[7].content = model.ReferralCode; ////Get Premium Dashboard Payment Link //PlayerPaymentsRepository playerPaymentsRepo = new PlayerPaymentsRepository(); //var payment = playerPaymentsRepo.GetPremiumDashboardPayment(model.PlayerID, ctrl); //sendParams.message.global_merge_vars.Add(new ExpandoObject()); //sendParams.message.global_merge_vars[5].name = "PAYLINKDASHBOARD"; //sendParams.message.global_merge_vars[5].content = payment != null ? SecurityUtils.GeneratePayLinkURL(payment.PaylinkID) : ""; MandrillError merr = SendMessage(sendParams, sys); string errorMsg = ""; switch (merr) { case MandrillError.OK: SecurityUtils.AddAuditLog("Mandrill Email Success", "\"Registration Email\" Email Sent To PlayerID: " + model.PlayerID + " Email = " + model.EmailAddress); return(true); case MandrillError.WebException: case MandrillError.HttpNotOk: errorMsg = "There was an issue sending your activation e-mail. Please try again later or call us directly."; SecurityUtils.AddAuditLog("Mandrill Email Error", "\"Registration Email\" Attempt to Send Email To = PlayerID: " + model.PlayerID + " Email = " + model.EmailAddress + " - HttpNotOK: " + errorMsg); break; case MandrillError.Invalid: errorMsg = "Your email address appears to be invalid. Please try again with a valid address, or call us directly."; SecurityUtils.AddAuditLog("Mandrill Email Error", "\"Registration Email\" Invalid: " + errorMsg); break; case MandrillError.Rejected: errorMsg = "Your activation email was rejected. Please try again with a valid address, or call us directly."; SecurityUtils.AddAuditLog("Mandrill Email Error", "\"Registration Email\" Rejected: " + errorMsg); break; case MandrillError.Unknown: errorMsg = "There was an unknown problem sending your activation email. Please try again, or call us directly."; SecurityUtils.AddAuditLog("Mandrill Email Error", "\"Registration Email\" Unknown: " + errorMsg); break; } return(false); }
public bool SendForgottenPassword_Email(PlayersExt model, string ResetPasswordLink) { // SystemSettingsRepository sysRepo = new SystemSettingsRepository(); var sys = sysRepo.GetSystemSettings(); //Add this Postfix if it is a TESTING Site. string TestSitePostfix = (sys.CurrentDomain.Contains("test") || sys.CurrentDomain.Contains("localhost")) ? "_TestSite" : ""; dynamic sendParams = new ExpandoObject(); sendParams.template_name = "ForgottenPassword" + TestSitePostfix; sendParams.template_content = new List <dynamic>(); sendParams.message = new ExpandoObject(); sendParams.message.subject = "MANvFAT Football Forgotten Password"; sendParams.message.to = new List <dynamic>(); sendParams.message.to.Add(new ExpandoObject()); sendParams.message.to[0].email = model.EmailAddress; sendParams.message.to[0].name = model.FullName; //sendParams.message.track_opens = true; //sendParams.message.track_clicks = true; sendParams.message.global_merge_vars = new List <dynamic>(); sendParams.message.global_merge_vars.Add(new ExpandoObject()); sendParams.message.global_merge_vars[0].name = "RESETPASSWORDLINK"; sendParams.message.global_merge_vars[0].content = ResetPasswordLink; MandrillError merr = SendMessage(sendParams, sys); string errorMsg = ""; switch (merr) { case MandrillError.OK: SecurityUtils.AddAuditLog("Mandrill Email Success", "\"Forgotten Password Email\" Email Sent To PlayerID: " + model.PlayerID + " Email = " + model.EmailAddress); return(true); case MandrillError.WebException: case MandrillError.HttpNotOk: errorMsg = "There was an issue sending your activation e-mail. Please try again later or call us directly."; SecurityUtils.AddAuditLog("Mandrill Email Error", " \"Forgotten Password Email\" Attempt to Send Email To = PlayerID: " + model.PlayerID + " Email = " + model.EmailAddress + " - HttpNotOK: " + errorMsg); break; case MandrillError.Invalid: errorMsg = "Your email address appears to be invalid. Please try again with a valid address, or call us directly."; SecurityUtils.AddAuditLog("Mandrill Email Error", "\"Forgotten Password Email\" Invalid: " + errorMsg); break; case MandrillError.Rejected: errorMsg = "Your activation email was rejected. Please try again with a valid address, or call us directly."; SecurityUtils.AddAuditLog("Mandrill Email Error", "\"Forgotten Password Email\" Rejected: " + errorMsg); break; case MandrillError.Unknown: errorMsg = "There was an unknown problem sending your activation email. Please try again, or call us directly."; SecurityUtils.AddAuditLog("Mandrill Email Error", "\"Forgotten Password Email\" Unknown: " + errorMsg); break; } return(false); }