public void SendMessage(ClimberProfile receiver, string subject, string message) { UserMessage msg = new UserMessageDA().Insert( new UserMessage { ID = Guid.NewGuid(), ReceivingUserID = receiver.ID, SendingUserID = CurrentClimber.ID, Subject = subject, SentDateTime = DateTime.Now, Message = message }); MailMan.SendUserMessageEmail(CurrentClimber, receiver, subject, message, msg.ID); }
/// <summary> /// /// </summary> /// <param name="message"></param> public void ProcessMessageWorkItem(MessageAlertWorkItem message) { var settings = GetUserSiteSettings(message.ToID); if (settings.MessagesAlertFeed || settings.MessagesEmailRealTime || settings.MessagesMobileRealTime) { var excerpt = message.Content; if (excerpt.Length > 30) { excerpt = excerpt.Substring(0, 30); } var from = CfPerfCache.GetClimber(message.FromID); var msg = string.Format("<a href='/climber/{0}'>{1}</a> sent you a <a href='/message/{0}'>Message</a><i> \"{2}...\"</i></a>", from.ID, from.DisplayName, excerpt); //-- Not sure why PostID is neccessary.... hmmmmmm var a = new Alert() { ID = Guid.NewGuid(), Utc = DateTime.UtcNow, TypeID = (byte)AlertType.Message, UserID = message.ToID, Message = msg }; if (settings.MessagesAlertFeed) { a.ByFeed = true; } if (settings.MessagesEmailRealTime) { a.ByEmail = true; MailMan.SendUserMessageEmail(CfPerfCache.GetClimber(message.ToID), from, message.Content); } if (settings.MessagesMobileRealTime && !string.IsNullOrEmpty(settings.DeviceTypeRegistered)) { a.ByMobile = true; MobilePush_MessageAlert(from.DisplayName, CfPerfCache.GetClimber(message.ToID).Email, settings.DeviceTypeRegistered); } new AlertRepository().Create(a); } }