public DirectMessageItem(DirectMessage target, bool sentByMe) { this.Dm = target; if (sentByMe) { this.UserData = target.Recipient; } else { this.UserData = target.Sender; } this.ScreenName = this.UserData.ScreenName; this.Name = this.UserData.Name; this.IconUrl = this.UserData.ProfileImageUrl; this.IsLockedUser = this.UserData.IsProtected; this.Time = target.CreatedAt.LocalDateTime; this.Text = WebUtility.HtmlDecode(target.Text); if (target.Entities.Media != null) { foreach (MediaEntity me in target.Entities.Media) { ContentsItem ci = new ContentsItem(me.MediaUrl); this.contentsItemList.Add(ci); } } }
public void Put(int id, [FromBody] DirectMessage value) { _context.SaveChanges(); _context.DirectMessages.Remove(_context.DirectMessages.FirstOrDefault(fr => fr.Id == id)); _context.DirectMessages.Add(value); _context.SaveChanges(); }
public void DirectMessage_Constructor_Parses_Json() { var dmJson = JsonMapper.ToObject(DirectMessagesResponse); var dm = new DirectMessage(dmJson); Assert.AreEqual(new DateTimeOffset(2012, 7, 22, 18, 38, 09, new TimeSpan(0L)).DateTime, dm.CreatedAt); Assert.AreEqual(15411837ul, dm.SenderID); Assert.AreEqual("JoeMayo", dm.SenderScreenName); Assert.IsNotNull(dm.Sender); Assert.AreEqual(16761255ul, dm.RecipientID); Assert.AreEqual("Linq2Tweeter", dm.RecipientScreenName); Assert.IsNotNull(dm.Recipient); Assert.AreEqual(227110300510461952ul, dm.IDResponse); Assert.AreEqual("227110300510461952", dm.IDString); Assert.AreEqual("Testing entities from @JoeMayo : http://t.co/Q1CQHi2 #entitytest", dm.Text); Entities entities = dm.Entities; Assert.IsNotNull(entities); List <UserMentionEntity> userMentions = entities.UserMentionEntities; Assert.IsNotNull(userMentions); Assert.IsTrue(userMentions.Any()); UserMentionEntity usrMention = userMentions.FirstOrDefault(); Assert.IsNotNull(usrMention); Assert.AreEqual("Joe Mayo", usrMention.Name); }
public DirectMessageViewModel(DirectMessage directMessage, long userId) { Model = directMessage; BackgroundBrush = "Default"; if (directMessage.Recipient.Id == userId) { BackgroundBrush = "Mention"; } else if (directMessage.Sender.Id == userId) { BackgroundBrush = "MyTweet"; } CreatedAt = directMessage.CreatedAt.ToLocalTime().ToString(CultureInfo.CurrentCulture); Text = directMessage.Text; ScreenName = directMessage.Sender.ScreenName; Name = directMessage.Sender.Name; ProfileImageUrl = string.IsNullOrWhiteSpace(directMessage.Sender.ProfileImageUrl) ? "http://localhost/" : directMessage.Sender.ProfileImageUrl; Id = directMessage.Id; Entities = directMessage.Entities; MediaVisibility = directMessage.Entities.Media.Count != 0; MediaEntities = new List <MediaEntityViewModel>(); foreach (var mediaEntity in directMessage.Entities.Media) { MediaEntities.Add(new MediaEntityViewModel(mediaEntity, directMessage.PossiblySensitive)); } EntitiesList = new List <EntityViewModel>(); if (directMessage.Entities.Urls != null && directMessage.Entities.HashTags != null && directMessage.Entities.UserMentions != null) { foreach (var urlEntity in directMessage.Entities.Urls) { EntitiesList.Add(new EntityViewModel(urlEntity)); } foreach (var hashTagEntity in directMessage.Entities.HashTags) { EntitiesList.Add(new EntityViewModel(hashTagEntity)); } foreach (var userMentionEntity in directMessage.Entities.UserMentions) { EntitiesList.Add(new EntityViewModel(userMentionEntity)); } } RecipientName = directMessage.Recipient.Name; RecipientProfileImageUrl = string.IsNullOrWhiteSpace(directMessage.Recipient.ProfileImageUrl) ? "http://localhost/" : directMessage.Recipient.ProfileImageUrl; RecipientScreenName = directMessage.Recipient.ScreenName; IsMyTweet = directMessage.Sender.Id == userId; Notice = Notice.Instance; Setting = SettingService.Setting; }
// This function sets the current DM user public void setUser(User user) { // Populate the user's profile picture StartCoroutine(setDMUserProfilePic(Utilities.cleanProfileImageURLForUser(user))); DMUsername.text = "@" + user.ScreenName; DMName.text = user.Name; string otherUser = user.ScreenName; // Load all of the DMs between the current user and the selected user List <DirectMessage> dms = authHandler.makeTwitterAPICall( () => authHandler.Interactor.buildDMConversation(otherUser)); // Get the newest message DirectMessage latestMessage = dms.OrderByDescending((arg) => arg.CreatedAt).First(); LastMessageText.text = latestMessage.Sender.ScreenName + " - (" + Utilities.ElapsedTime(latestMessage.CreatedAt.DateTime) + ") - " + latestMessage.Text; // Populate the previous and next buttons with the number of users in each direction LastDMUser.GetComponentInChildren <Text>().text = "< (" + authHandler.makeTwitterAPICall(() => authHandler.Interactor.getDmUsersNavigatable().getNumNewerObjects()) + ") newer"; NextDMUser.GetComponentInChildren <Text>().text = "(" + authHandler.makeTwitterAPICall(() => authHandler.Interactor.getDmUsersNavigatable().getNumOlderObjects()) + ") older >"; // Determine if there are any newer users. If there aren't, disable the button Boolean lastButtonEnabled = authHandler.makeTwitterAPICall(() => authHandler.Interactor.getDmUsersNavigatable().hasNewerObject()); LastDMUser.enabled = lastButtonEnabled; // Disable the button for clicking LastDMUser.interactable = lastButtonEnabled; // Disable the button for highlighting // Determine if there are any older users. If there aren't, disable the button Boolean nextButtonEnabled = authHandler.makeTwitterAPICall(() => authHandler.Interactor.getDmUsersNavigatable().hasOlderObject()); NextDMUser.enabled = nextButtonEnabled; // Disable the button for clicking NextDMUser.interactable = nextButtonEnabled; // Disable the button for highlighting }
protected async Task <MessageViewModel> CreateViewModel(DirectMessage m) { var vm = new MessageViewModel(m, Context, Configuration, ViewServiceRepository); await vm.LoadDataAsync(); return(vm); }
/// <summary> /// Messageリストビューに DirectMessage を追加する /// </summary> /// <param name="addStatus">表示するダイレクトメッセージ</param> private void AddMessageToListView(DirectMessage message) { string date = string.Empty; if (DateTime.Today <= message.CreatedAt) { TimeSpan span = DateTime.Now.Subtract(message.CreatedAt); if (0 <= span.Minutes && span.Minutes < 1 && span.Hours == 0) { date = string.Format(stringResource.GetString("SecAgo"), span.Seconds.ToString()); } else if (0 <= span.Hours && span.Hours < 1 && span.Days == 0) { date = string.Format(stringResource.GetString("MinAgo"), span.Minutes.ToString()); } else { date = string.Format(stringResource.GetString("HourAgo"), span.Hours.ToString()); } } else { date = message.CreatedAt.ToString("d", null); } string[] str = { message.SenderScreenName, message.Text, date }; ListViewItem item = new ListViewItem(str); item.Tag = message; messageTwitterListView.Items.Add(item); }
public ActionResult <ApiResponse <DirectMessageModel> > NewMessageAdd([FromBody] CreateDirectMessageModel model) { try { var onlineId = this._userService.GetOnlineUser(this.HttpContext); if (onlineId == null) { return(Json(ApiResponse.WithError("Not Authority"))); } DirectMessageModel result = null; var newMessage = new DirectMessage(); newMessage.Message = model.Message; newMessage.SenderId = model.SenderId; newMessage.ReceiverId = model.ReceiverId; newMessage.IsDeleted = 0; this._directMessageService.AddNewMessage(newMessage); result = this._directMessageService.GetById(newMessage.Id); return(Json(ApiResponse <DirectMessageModel> .WithSuccess(result))); } catch (Exception exp) { return(Json(ApiResponse <DirectMessageModel> .WithError(exp.ToString()))); } }
public StreamingMessage(CoreTweet.Streaming.StreamingMessage m) { switch (m.Type) { case CoreTweet.Streaming.MessageType.Create: var tweet = m as CoreTweet.Streaming.StatusMessage; Type = MessageType.Create; Status = new Status(tweet.Status); break; case CoreTweet.Streaming.MessageType.DirectMesssage: var directMessage = m as CoreTweet.Streaming.DirectMessageMessage; Type = MessageType.DirectMesssage; DirectMessage = new DirectMessage(directMessage.DirectMessage); break; case CoreTweet.Streaming.MessageType.Event: var eventMessage = m as CoreTweet.Streaming.EventMessage; Type = MessageType.Event; EventMessage = new EventMessage(eventMessage); break; case CoreTweet.Streaming.MessageType.DeleteStatus: var deleteStatus = m as CoreTweet.Streaming.DeleteMessage; Type = MessageType.DeleteStatus; DeletedStatusId = deleteStatus.Id; break; case CoreTweet.Streaming.MessageType.DeleteDirectMessage: var deleteDirectMessage = m as CoreTweet.Streaming.DeleteMessage; Type = MessageType.DeleteDirectMessage; DeletedDirectMessageId = deleteDirectMessage.Id; break; } }
public async Task <IEnumerable <MessageDto> > GetDirectMessagesAsync(string userId, string chatId, string last, int count = 20) { var chat = _directChatGR.GetDbSet().Where(x => x.Id == chatId && (x.User1Id == userId || x.User2Id == userId)).FirstOrDefault(); if (chat == null) { throw new ClientException("inc-chatid"); } DirectMessage message = null; if (last != null) { message = await _directMessageGR.GetDbSet().Where(x => x.Id == last && x.ChatId == chatId).FirstOrDefaultAsync(); if (message == null) { throw new ClientException("inc-message-id", last); } } return(_mapper.Map <IEnumerable <DirectMessage>, IEnumerable <MessageDto> >( await _directMessageGR.GetDbSet() .Where((x) => x.ChatId == chatId && (message == null || x.Date < message.Date)) .OrderByDescending((x) => x.Date) .Take(count) .ToArrayAsync() ).Select(x => { x.Sender = _userService.GetShortDto(x.Sender.Id); return x; })); }
private void HandleDirectMessage(DirectMessageDto directMessageDto) { if (!AuthService.IsLoggedIn(_user)) { Communication.SendError(_webSocket, "You must be logged in to send direct message"); Log.Warning("Not logged in user tried to send direct message"); return; } var receiver = AuthService.GetUserFromUsername(directMessageDto.Receiver); var directMessage = new DirectMessage { CreatedAt = DateTimeOffset.Now, Sender = _user.UserId, Receiver = receiver.UserId, Text = directMessageDto.Text }; // Tries to save the direct message in the database if (MessageService.SaveDirectMessage(directMessage)) { // Check if the user is currently connected to the server if (_connectedClient.ContainsKey(receiver)) { MessageService.SendDirectMessage( directMessage, _connectedClient[receiver] ); } Communication.SendSuccess(_webSocket); } }
static async Task NewLongDirectMessageAsync(TwitterContext twitterCtx) { string messageOver140Characters = string.Join("-", Enumerable.Repeat("XXXX", 35)) + " - " + DateTime.Now; DirectMessage message = await twitterCtx.NewDirectMessageAsync("Linq2Twitr", messageOver140Characters); DirectMessage dmResponse = await (from dm in twitterCtx.DirectMessage where dm.Type == DirectMessageType.Show && dm.ID == message.IDResponse && dm.FullText == true // required for full text, otherwise text truncates to 140 select dm) .SingleOrDefaultAsync(); if (dmResponse != null && dmResponse.Recipient != null && dmResponse.Sender != null) { Console.WriteLine( "From: {0}\nTo: {1}\nMessage: {2}", dmResponse.Sender.Name, dmResponse.Recipient.Name, dmResponse.Text); } }
public MessageCacheEntry(DirectMessage message) { Data = JsonConvert.SerializeObject(message); Sender = message.SenderID; Recipient = message.RecipientID; Id = message.GetMessageId(); }
public void ProcessResults_Replaces_Input_Params_For_SentBy_And_SentTo() { const ulong SinceID = 1; const ulong MaxID = 2; const int Page = 3; const int Count = 4; const ulong ID = 5; const bool SkipStatus = true; var dmReqProc = new DirectMessageRequestProcessor <DirectMessage> { BaseUrl = "https://api.twitter.com/1/", Type = DirectMessageType.SentBy, SinceID = SinceID, MaxID = MaxID, Page = Page, Count = Count, ID = ID, SkipStatus = SkipStatus }; List <DirectMessage> dms = dmReqProc.ProcessResults(TestQueryResponse); DirectMessage dm = dms.First(); Assert.AreEqual(SinceID, dm.SinceID); Assert.AreEqual(MaxID, dm.MaxID); Assert.AreEqual(Page, dm.Page); Assert.AreEqual(Count, dm.Count); Assert.AreEqual(ID, dm.ID); Assert.AreEqual(SkipStatus, SkipStatus); }
public async Task <Message> SendToFriendAsync(Guid friendshipId, string message) { var senderId = identityService.GetCurrentUserId(); var friendship = await context.Friendships .Include(x => x.User1) .Include(x => x.User2) .CustomSingleAsync(f => f.Id == friendshipId); if (friendship.User1Id != senderId && friendship.User2Id != senderId) { throw new UnauthorizedAccessException("You are not a member of this friendship."); } var directMessage = new DirectMessage { Id = Guid.NewGuid(), Sender = senderId == friendship.User1Id ? friendship.User1 : friendship.User2, Friendship = friendship, Text = message, Timestamp = DateTime.UtcNow }; context.DirectMessages.Add(directMessage); await context.SaveChangesAsync(); var sentMessage = mapper.Map <Message>(directMessage); await notificationService.NotifyAsync(friendship.User1Id == senderId?friendship.User2.UserName : friendship.User1.UserName, client => client.ReceiveDirectMessage(friendship.Id, sentMessage)); return(sentMessage); }
public TweetEventArgs(DirectMessage directMessage, long userId, List <string> parameter, bool streaming = false) { Type = TypeEnum.DirectMessage; DirectMessage = directMessage; UserId = userId; Parameter = parameter; Streaming = streaming; }
public DirectMessageModel(DirectMessage directMessage) { this.Id = directMessage.Id; this.Message = directMessage.Message; this.SenderId = directMessage.SenderId; this.ReceiverId = directMessage.ReceiverId; this.IsDeleted = directMessage.IsDeleted; }
public void Insert(DirectMessage message) { using (IDbConnection dbConnection = this.OpenConnection()) { dbConnection.Execute("INSERT INTO DirectMessage (Message, SenderId, ReceiverId, IsDeleted) VALUES(@Message, @SenderId, @ReceiverId, @IsDeleted)", message); message.Id = dbConnection.ExecuteScalar <int>("SELECT last_insert_rowid()"); } }
private void messagesDirectMessageMenuItem_Click(object sender, EventArgs e) { if (messageTwitterListView.SelectedIndices.Count > 0 && messageTwitterListView.Items[messageTwitterListView.SelectedIndices[0]].Tag is DirectMessage) { DirectMessage message = (DirectMessage)messageTwitterListView.Items[messageTwitterListView.SelectedIndices[0]].Tag; doingTextBox.Text = string.Format("D {0} {1}", message.SenderScreenName, doingTextBox.Text); } }
public async Task DestroyDirectMessageAsync_Returns_Deleted_DM() { const ulong Id = 1; var ctx = InitializeTwitterContext(); DirectMessage actual = await ctx.DestroyDirectMessageAsync(Id, true); Assert.AreEqual(189086715040903168ul, actual.IDResponse); }
public void DestroyDirectMessage_Returns_Deleted_DM() { const string Id = "1"; var ctx = InitializeTwitterContext(); DirectMessage actual = ctx.DestroyDirectMessage(Id, true); Assert.Equal(189086715040903168ul, actual.IDResponse); }
// test helpers private void AssertSingleDirectMessage(DirectMessage message) { Assert.AreEqual(23456, message.ID); Assert.AreEqual("Back at ya", message.Text); Assert.AreEqual(14718006, message.Sender.ID); Assert.AreEqual("kdonald", message.Sender.ScreenName); Assert.AreEqual(255126476, message.Recipient.ID); Assert.AreEqual("Rclarkson", message.Recipient.ScreenName); }
public void NewDirectMessage_Returns_Created_DM() { const string UserID = "1"; const string Text = "Hi"; var ctx = InitializeTwitterContext(); DirectMessage actual = ctx.NewDirectMessage(UserID, Text); Assert.Equal(189086715040903168ul, actual.IDResponse); }
public void DirectMessage_Can_Serialize() { var dm = new DirectMessage(); var stringBuilder = new StringBuilder(); var writer = XmlWriter.Create(stringBuilder); var xmlSerializer = new XmlSerializer(typeof(DirectMessage)); xmlSerializer.Serialize(writer, dm); }
public async Task NewDirectMessageAsync_WithScreenName_ReturnsCreated_DM() { const string ScreenName = "JoeMayo"; const string Text = "Hi"; var ctx = InitializeTwitterContext(); DirectMessage actual = await ctx.NewDirectMessageAsync(ScreenName, Text); Assert.AreEqual(189086715040903168ul, actual.IDResponse); }
public async Task NewDirectMessageAsync_Returns_Created_DM() { const string UserID = "1"; const string Text = "Hi"; var ctx = InitializeTwitterContext(); DirectMessage actual = await ctx.NewDirectMessageAsync(UserID, Text); Assert.AreEqual(189086715040903168ul, actual.IDResponse); }
/// <summary> /// Creates a new instance of the <see cref="DirectMessageViewModel"/> class from a direct message entity. /// </summary> /// <param name="entity">The direct message entity.</param> /// <returns>The view model.</returns> public static DirectMessageViewModel FromEntity(DirectMessage entity) { return(new DirectMessageViewModel { Id = entity.Id, From = ApplicationUserViewModel.FromEntity(entity.From), To = ApplicationUserViewModel.FromEntity(entity.To), Read = entity.Read, Text = entity.Text }); }
public IActionResult PostNotification([FromBody] DirectMessageViewModel directMessageInfo) { List <BL.Models.ErrorInfo> errorList = new List <BL.Models.ErrorInfo>(); Guid directMessageId = Guid.NewGuid(); var recipient = directMessageInfo.Recipient; Guid?toContactId = null; if (recipient != Guid.Empty) { Boolean noUsersFound = true; toContactId = _faciTechDbContext.Contact.Where(c => c.Id == recipient & c.Inactive == false).Select(c => c.Id).SingleOrDefault(); if (toContactId == null) { errorList.Add(new BL.Models.ErrorInfo { Description = "User not found - " + recipient }); return(new ValidationErrorResult(new BL.Models.ApiResponse(BL.Models.ApiStatus.Error, null, errorList))); } else { noUsersFound = false; var directMessage = new DirectMessage() { Id = directMessageId, FromContactId = base._contactId, ToContactId = (Guid)toContactId, Created = DateTime.UtcNow, CreatedBy = base._userId, Updated = DateTime.UtcNow, UpdatedBy = base._userId, Subject = directMessageInfo.Subject, Body = directMessageInfo.Body }; _faciTechDbContext.DirectMessage.Add(directMessage); _faciTechDbContext.SaveChanges(); return(new ObjectCreatedResult("directMessage", directMessageId)); } } else { errorList.Add(new BL.Models.ErrorInfo { Code = "ERR001", Description = "No receipients provided in the notification request.", }); return(new ValidationErrorResult(new BL.Models.ApiResponse(BL.Models.ApiStatus.Error, null, errorList))); } }
public void then_should_contain_tweets_for_direct_messages() { _tweets.Count.ShouldEqual(_directMessageCount); for (int i = 0; i < _tweets.Count; i++) { DirectMessage message = _directMessages[i]; Tweet tweet = _tweets[i]; tweet.ShouldEqual(message.ToTweet()); } }
protected override void Context() { _directMessages = new DirectMessageCollection(); for (int i = 1; i <= _directMessageCount; i++) { var directMessage = new DirectMessage { Id = i }; _directMessages.Insert(0, directMessage); } }
/// <summary> /// json 形式の文字列を Status オブジェクトに変換することを試みます。 /// </summary> /// <param name="json">変換する json 形式の文字列。</param> /// <param name="status">変換に成功した場合、変換された Status オブジェクトが格納されます。変換に失敗した場合は null が格納されます。</param> /// <returns>変換に成功した場合は true、それ以外の場合は false。</returns> internal bool TryParse(dynamic json, out DirectMessage status) { try { status = this.Parse(json); } catch (TwitterException ex) { status = null; ex.Write(); } return status != null; }
private void RequestCallback(RestRequest rrqRequest, RestResponse rrsResponse, object objUserState) { try { StreamReader srReader = new StreamReader(rrsResponse.ContentStream, Encoding.UTF8); string sCurLine; do { sCurLine = srReader.ReadLine().Trim(); } while ((sCurLine == "") && (!srReader.EndOfStream)); JsonDocument jdFinal = JsonParser.GetParser().ParseString(sCurLine); if (jdFinal != null) { if (jdFinal.Root.IsNode()) { if (jdFinal.Root.ToNode().ContainsKey("friends")) { //this is the friends list that's sent at the beginning of each userstream connection APIReturn.SynchronizeInvoke(Receive, this, jdFinal, ReceiveType.FriendsList); } else if (jdFinal.Root.ToNode().ContainsKey("retweeted")) { Status stNewStatus = new Status(jdFinal.Root.ToNode()); if (stNewStatus.IsReply && stNewStatus.ReplyNames.Contains(m_oaCredentials.ClientUsername)) APIReturn.SynchronizeInvoke(Receive, this, jdFinal, ReceiveType.Reply); else APIReturn.SynchronizeInvoke(Receive, this, jdFinal, ReceiveType.Tweet); } else if (jdFinal.Root.ToNode().ContainsKey("recipient_id") && jdFinal.Root.ToNode().ContainsKey("sender_id")) { DirectMessage dmNewMessage = new DirectMessage(jdFinal.Root.ToNode()); APIReturn.SynchronizeInvoke(Receive, this, jdFinal, ReceiveType.DirectMessage); } //also need to add OnDelete for when a tweet gets deleted } } } catch(Exception e) { MessageBox.Show("An unknown Twitter API error has occurred (user streams). " + e.Message, "API Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
public ActionResult Send() { string displayname = Request.Form["displayname"]; string msg = Request.Form["message"]; ua = new UserAccount(displayname); mu = Membership.GetUser(); if (string.IsNullOrEmpty(msg) || BootBaronLib.AppSpec.DasKlub.BOL. BlockedUser.IsBlockedUser(ua.UserAccountID, Convert.ToInt32(mu.ProviderUserKey)) ) { return RedirectToAction("Reply", new { @userName = displayname }); } DirectMessage dm = new DirectMessage(); //dm.GetMostRecentSentMessage(Convert.ToInt32(mu.ProviderUserKey)); //DateTime dbtime = Utilities.GetDataBaseTime(); //TimeSpan tsLastPst = dbtime.Subtract(dm.CreateDate); //if (tsLastPst.TotalSeconds < 5 && tsLastPst.TotalSeconds > 0) //{ // return RedirectToAction("Reply", new { @userName = displayname }); //} dm = new DirectMessage(); dm.IsRead = false; dm.FromUserAccountID = Convert.ToInt32(mu.ProviderUserKey); dm.ToUserAccountID = ua.UserAccountID; dm.Message = msg; dm.CreatedByUserID = Convert.ToInt32(mu.ProviderUserKey); dm.Create(); string language = Utilities.GetCurrentLanguageCode(); // change language for message to uad = new UserAccountDetail(); uad.GetUserAccountDeailForUser(ua.UserAccountID); Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(uad.DefaultLanguage); Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(uad.DefaultLanguage); StringBuilder sb = new StringBuilder(); sb.Append(BootBaronLib.Resources.Messages.Hello); sb.Append(","); sb.AppendLine(Environment.NewLine); sb.AppendLine(Environment.NewLine); sb.AppendFormat("{0}: ", BootBaronLib.Resources.Messages.From); sb.Append(BootBaronLib.Configs.GeneralConfigs.SiteDomain); sb.Append("/"); sb.Append(mu.UserName); sb.AppendLine(Environment.NewLine); sb.AppendFormat("{0}: ", BootBaronLib.Resources.Messages.Message); sb.AppendLine(msg); sb.AppendLine(Environment.NewLine); sb.AppendFormat("{0}: {1}", BootBaronLib.Resources.Messages.SignIn, BootBaronLib.Configs.GeneralConfigs.SiteDomain); sb.AppendLine(Environment.NewLine); if (uad.EmailMessages) { Utilities.SendMail(ua.EMail, BootBaronLib.Resources.Messages.From + ": " + mu.UserName, sb.ToString()); } Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(language); Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(language); return RedirectToAction("Reply", new { @userName = displayname }); }
/// <summary> /// Gets direct messages for the user /// </summary> /// <returns>Collection of direct messages</returns> public DirectMessageCollection RetrieveMessages(string since) { DirectMessageCollection messages = new DirectMessageCollection(); string url = DirectMessagesUrl + Format; if (!string.IsNullOrEmpty(since)) { DateTime sinceDate; DateTime.TryParse(since, out sinceDate); // Go back a minute to compensate for latency. sinceDate = sinceDate.AddMinutes(-1); string sinceDateString = sinceDate.ToString(twitterSinceDateFormat); url += "?since=" + sinceDateString; } HttpWebRequest request = CreateTwitterRequest(url); try { // Get the Response using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) { // Get the response stream StreamReader reader = new StreamReader(response.GetResponseStream()); // Load the response data into a XmlDocument XmlDocument doc = new XmlDocument(); doc.Load(reader); // Get statuses with XPath XmlNodeList nodes = doc.SelectNodes("/direct-messages/direct_message"); foreach (XmlNode node in nodes) { DirectMessage message = new DirectMessage(); message.Id = double.Parse(node.SelectSingleNode("id").InnerText); message.Text = HttpUtility.HtmlDecode(node.SelectSingleNode("text").InnerText); string dateString = node.SelectSingleNode("created_at").InnerText; if (!string.IsNullOrEmpty(dateString)) { message.DateCreated = DateTime.ParseExact( dateString, twitterCreatedAtDateFormat, CultureInfo.GetCultureInfoByIetfLanguageTag("en-us"), DateTimeStyles.AllowWhiteSpaces); } XmlNode senderNode = node.SelectSingleNode("sender"); User sender = CreateUser(senderNode); message.Sender = sender; XmlNode recipientNode = node.SelectSingleNode("recipient"); User recipient = CreateUser(recipientNode); message.Recipient = recipient; messages.Add(message); } } } catch (WebException webExcp) { ParseWebException(webExcp); } return messages; }
public ActionResult RequestApproval(int contentID) { var content = new Content(contentID) { CurrentStatus = Convert.ToChar(SiteEnums.ContentStatus.P.ToString()), UpdatedByUserID = Convert.ToInt32(_mu.ProviderUserKey) }; content.Set(); var dm = new DirectMessage { IsRead = false }; if (_mu != null) dm.FromUserAccountID = Convert.ToInt32(_mu.ProviderUserKey); var admin = new UserAccount(GeneralConfigs.AdminUserName); dm.ToUserAccountID = admin.UserAccountID; dm.Message = "Content To Approve: " + content.PreviewLink; if (_mu != null) { var currentUserId = Convert.ToInt32(_mu.ProviderUserKey); // ignore low quality users if (currentUserId == 18136) return RedirectToAction("Articles"); dm.CreatedByUserID = currentUserId; dm.Create(); } var uad = new UserAccountDetail(); uad.GetUserAccountDeailForUser(admin.UserAccountID); if (uad.EmailMessages) { _mail.SendMail( AmazonCloudConfigs.SendFromEmail, admin.EMail, string.Format("{0}: {1}", Messages.From, _mu.UserName), dm.Message); } return RedirectToAction("Articles"); }
public DirectMessageCollection RetrieveMessages(long? since) { if (!IsLoggedIn()) return null; var messages = new DirectMessageCollection(); ITwitterDirectMessagesReceived request = CreateRequest().DirectMessages().Received(); if (since.HasValue) request = request.Since(since.Value); else request = request.Take(50); foreach (TwitterDirectMessage msg in request.Request().AsDirectMessages()) { var message = new DirectMessage { Id = msg.Id, Text = msg.Text, DateCreated = msg.CreatedDate }; User sender = CreateUser(msg.Sender); message.Sender = sender; User recipient = CurrentlyLoggedInUser; message.Recipient = recipient; messages.Add(message); } ; return messages; }
private DirectMessage ParseCore(StatusId id, dynamic djson, List<Action> after) { #region DEBUG build only #if DEBUG after.Add(() => JsonMonitor.DirectMessages.Data.Add(djson.ToString())); #endif #endregion // ============================================================================================ // || このメソッド内での一切のロック操作 (またはロック操作を行うメソッドの呼び出し) を禁止します。 || // ============================================================================================ var result = new DirectMessage { Id = id, Text = djson.text, CreatedAt = Helper.ToDateTime(djson.created_at), }; // ユーザー情報なし版の json に対応する? めんどうだから後だ!! result.Recipient = TwitterClient.Current.Users.Parse(djson.recipient); result.Sender = TwitterClient.Current.Users.Parse(djson.sender); if (djson.IsDefined("entities")) { result.Entities = Entities.ParseCore(djson.entities); } this.statuses.Add(result.Id, result); after.Add(() => this.RaiseAdded(result)); return result; }
public ActionResult Send() { string displayname = Request.Form["displayname"]; string msg = Request.Form["message"]; _ua = new UserAccount(displayname); if (_mu != null && (string.IsNullOrEmpty(msg) || Lib.BOL.BlockedUser.IsBlockedUser(_ua.UserAccountID, Convert.ToInt32( _mu.ProviderUserKey))) ) { return RedirectToAction("Reply", new {@userName = displayname}); } var dm = new DirectMessage {IsRead = false}; if (_mu != null) dm.FromUserAccountID = Convert.ToInt32(_mu.ProviderUserKey); dm.ToUserAccountID = _ua.UserAccountID; dm.Message = msg; if (_mu != null) dm.CreatedByUserID = Convert.ToInt32(_mu.ProviderUserKey); dm.Create(); var language = Utilities.GetCurrentLanguageCode(); _uad = new UserAccountDetail(); _uad.GetUserAccountDeailForUser(_ua.UserAccountID); Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(_uad.DefaultLanguage); Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(_uad.DefaultLanguage); var sb = new StringBuilder(); sb.Append(Messages.Hello); sb.Append(","); sb.AppendLine(Environment.NewLine); sb.AppendLine(Environment.NewLine); sb.AppendFormat("{0}: ", Messages.From); sb.Append(GeneralConfigs.SiteDomain); sb.Append("/"); if (_mu != null) sb.Append(_mu.UserName); sb.AppendLine(Environment.NewLine); sb.AppendFormat("{0}: ", Messages.Message); sb.AppendFormat(GeneralConfigs.SiteDomain + "/account/inbox"); sb.AppendLine(Environment.NewLine); sb.AppendFormat("{0}: {1}", Messages.SignIn, GeneralConfigs.SiteDomain); sb.AppendLine(Environment.NewLine); if (_uad.EmailMessages) { if (_mu != null) _mail.SendMail( AmazonCloudConfigs.SendFromEmail, _ua.EMail, string.Format("{0}: {1}", Messages.From, _mu.UserName), sb.ToString()); } Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture(language); Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(language); return RedirectToAction("Reply", new {@userName = displayname}); }
public ActionResult Register(RegisterModel model) { if (Utilities.IsSpamIP(Request.UserHostAddress)) { ModelState.AddModelError("", Messages.Invalid + @": " + Messages.Account); return View(model); } if ( Request.Browser.Type == "IE3" || Request.Browser.Type == "IE4" || Request.Browser.Type == "IE5" || Request.Browser.Type == "IE6" || Request.Browser.Type == "IE7" || BlackIPs.IsIPBlocked(Request.UserHostAddress) ) { Response.Redirect("http://browsehappy.com/"); return View(); } if (!GeneralConfigs.EnableSameIP && UserAccount.IsAccountIPTaken(Request.UserHostAddress) && string.IsNullOrEmpty(model.RefUser)) { ModelState.AddModelError("", Messages.Invalid + @": " + Messages.Account); return View(model); } TryUpdateModel(model); if (!ModelState.IsValid) return View(model); if (!Utilities.IsEmail(model.Email)) { ModelState.AddModelError("", Messages.IncorrectFormat + @": " + Messages.EMail); return View(); } if ( model.UserName.Trim().Contains(" ") || model.UserName.Trim().Contains("?") || model.UserName.Trim().Contains("*") || model.UserName.Trim().Contains(":") || model.UserName.Trim().Contains("/") || model.UserName.Trim().Contains(@"\")) { ModelState.AddModelError("", Messages.Invalid + @": " + Messages.UserName); return View(); } if (model.YouAreID == null) { ModelState.AddModelError("", Messages.Invalid + @": " + Messages.YouAre); return View(); } DateTime dt; if (!DateTime.TryParse(model.Year + "-" + model.Month + "-" + model.Day, out dt)) { ModelState.AddModelError("", Messages.Invalid + @": " + Messages.BirthDate); return View(); } if (DateTime.TryParse(model.Year + "-" + model.Month + "-" + model.Day, out dt)) { if (Utilities.CalculateAge(dt) < GeneralConfigs.MinimumAge) { ModelState.AddModelError("", Messages.Invalid + @": " + Messages.BirthDate); return View(); } } model.UserName = model.UserName.Replace(":", string.Empty); model.UserName = model.UserName.Replace(" ", string.Empty); model.UserName = model.UserName.Replace(".", string.Empty); MembershipCreateStatus createStatus; Membership.CreateUser(model.UserName, model.NewPassword, model.Email, "Q", "A", true, out createStatus); if (createStatus == MembershipCreateStatus.Success) { FormsAuthentication.RedirectFromLoginPage(model.UserName, true); var ua = new UserAccount(model.UserName); _uad = new UserAccountDetail { UserAccountID = ua.UserAccountID, BirthDate = dt, YouAreID = model.YouAreID, DisplayAge = true, DefaultLanguage = Utilities.GetCurrentLanguageCode() }; if (!string.IsNullOrEmpty(model.RefUser)) { var refUser = new UserAccount(model.RefUser); _uad.ReferringUserID = refUser.UserAccountID; } _uad.Set(); var sb = new StringBuilder(100); sb.Append(Messages.Hello); sb.Append(Environment.NewLine); sb.Append(Messages.YourNewAccountIsReadyForUse); sb.Append(Environment.NewLine); sb.Append(Environment.NewLine); sb.AppendFormat("{0}: ", Messages.UserName); sb.Append(ua.UserName); sb.Append(Environment.NewLine); sb.Append(GeneralConfigs.SiteDomain); _mail.SendMail(AmazonCloudConfigs.SendFromEmail, ua.EMail, Messages.YourNewAccountIsReadyForUse, sb.ToString()); // see if this is the 1st user var recentUsers = new UserAccounts(); recentUsers.GetNewestUsers(); if (recentUsers.Count == 1) { var adminRole = new Role(SiteEnums.RoleTypes.admin.ToString()); UserAccountRole.AddUserToRole(ua.UserAccountID, adminRole.RoleID); } var dm = new DirectMessage {IsRead = false}; var communityManager = new UserAccount(SiteDomain.GetSiteDomainValue( SiteEnums.SiteBrandType.GRTUR, Utilities.GetCurrentLanguageCode()) .Trim()); dm.FromUserAccountID = communityManager.UserAccountID; dm.ToUserAccountID = ua.UserAccountID; sb = new StringBuilder(100); sb.Append(SiteDomain.GetSiteDomainValue( SiteEnums.SiteBrandType.GREET, Utilities.GetCurrentLanguageCode())); dm.Message = sb.ToString(); if (communityManager.UserAccountID != 0) { dm.CreatedByUserID = communityManager.UserAccountID; } dm.Create(); return RedirectToAction("Home", "Account"); } ModelState.AddModelError(string.Empty, AccountValidation.ErrorCodeToString(createStatus)); return View(model); }
internal DirectMessageAddedEventArgs(DirectMessage dm) { this.DirectMessage = dm; }
private void RaiseAdded(DirectMessage dm) { if (this.Added != null) this.Added(this, new DirectMessageAddedEventArgs(dm)); }
private bool SendClientMessage(long clientId, string messageContent) { Debug.Log("Sending to ClientId={0} message='{1}'.", clientId, messageContent); DirectMessage clientDirectMessage = new DirectMessage(); clientDirectMessage.Content = messageContent; return this.m_localClient.SendMessage(clientId, MessageType.DirectMessage, clientDirectMessage); }