Exemplo n.º 1
0
        /// <summary>
        /// GetRoomからのみ呼ばれる想定です。
        /// </summary>
        /// <param name="summary"></param>
        /// <param name="messages"></param>
        private void NewMessage(Summary summary, IEnumerable <Message> messages)
        {
            foreach (var message in messages)
            {
                if (message.IsAuth && String.IsNullOrWhiteSpace(message.Name) == false)
                {
                    // アカウント情報を更新
                    var account = Model.Account.GetAccount(message.Name);
                    if (account == null)
                    {
                        account = new Model.Account {
                            AccountName = message.Name,
                        };
                        Model.Account.UpdateAccount(account);
                    }
                }

                if (String.IsNullOrWhiteSpace(message.ListenerId) == false)
                {
                    // リスナーが存在しなければ追加します。
                    var listener = Model.Listener.GetListener(message.ListenerId);
                    if (listener == null || (String.IsNullOrWhiteSpace(listener.ListenerId) == false && message.IsAuth))
                    {
                        listener = new Model.Listener {
                            ListenerId  = message.ListenerId,
                            Name        = String.IsNullOrWhiteSpace(message.Name) == false ? message.Name : null,
                            Author      = summary.Author,
                            AccountName = message.IsAuth ? message.Name : null,
                        };
                        Model.Listener.UpdateListener(listener);
                    }
                }
            }

            // DBのコメント情報を更新します。
            var dbMessage = messages.Select(message => new Model.Message {
                RoomId     = summary.RoomId,
                Number     = message.Number,
                Name       = message.Name,
                Comment    = message.Comment,
                IsAuth     = message.IsAuth,
                IsBan      = message.IsBan,
                PostTime   = message.PostTime,
                ListenerId = message.ListenerId,
            });

            Model.Message.UpdateMessage(dbMessage);
        }
Exemplo n.º 2
0
        private void NewMessage(Message message)
        {
            if (this.JoinedRoomSummary == null)
            {
                return;
            }

            var author = this.JoinedRoomSummary.Author;

            if (String.IsNullOrWhiteSpace(author) == true)
            {
                return;
            }

            if (message.IsAuth)
            {
                // アカウント情報を更新
                var account = Model.Account.GetAccount(message.Name);
                if (message.IsAuth && String.IsNullOrWhiteSpace(message.Name) == false)
                {
                    account = new Model.Account {
                        AccountName = message.Name,
                    };
                    Model.Account.UpdateAccount(account);
                }
            }

            if (String.IsNullOrWhiteSpace(message.ListenerId) == false)
            {
                // リスナーが存在しなければ追加します。
                var listener = Model.Listener.GetListener(message.ListenerId);
                if (listener == null || (String.IsNullOrWhiteSpace(listener.ListenerId) == false && message.IsAuth))
                {
                    listener = new Model.Listener {
                        ListenerId  = message.ListenerId,
                        Name        = String.IsNullOrWhiteSpace(message.Name) == false ? message.Name : null,
                        Author      = author,
                        AccountName = message.IsAuth ? message.Name : null,
                    };
                    Model.Listener.UpdateListener(listener);
                }
            }
        }
Exemplo n.º 3
0
		/// <summary>
		/// GetRoomからのみ呼ばれる想定です。
		/// </summary>
		/// <param name="summary"></param>
		/// <param name="messages"></param>
		private void NewMessage(Summary summary, IEnumerable<Message> messages) {
			foreach (var message in messages) {
				if (message.IsAuth && String.IsNullOrWhiteSpace(message.Name) == false) {
					// アカウント情報を更新
					var account = Model.Account.GetAccount(message.Name);
					if (account == null) {
						account = new Model.Account {
							AccountName = message.Name,
						};
						Model.Account.UpdateAccount(account);
					}
				}

				if (String.IsNullOrWhiteSpace(message.ListenerId) == false) {
					// リスナーが存在しなければ追加します。
					var listener = Model.Listener.GetListener(message.ListenerId);
					if (listener == null || (String.IsNullOrWhiteSpace(listener.ListenerId) == false && message.IsAuth)) {
						listener = new Model.Listener {
							ListenerId = message.ListenerId,
							Name = String.IsNullOrWhiteSpace(message.Name) == false ? message.Name : null,
							Author = summary.Author,
							AccountName = message.IsAuth ? message.Name : null,
						};
						Model.Listener.UpdateListener(listener);
					}
				}
			}

			// DBのコメント情報を更新します。
			var dbMessage = messages.Select(message => new Model.Message {
				RoomId = summary.RoomId,
				Number = message.Number,
				Name = message.Name,
				Comment = message.Comment,
				IsAuth = message.IsAuth,
				IsBan = message.IsBan,
				PostTime = message.PostTime,
				ListenerId = message.ListenerId,
			});
			Model.Message.UpdateMessage(dbMessage);
		}
Exemplo n.º 4
0
		private void NewMessage(Message message) {
			if (this.JoinedRoomSummary == null) {
				return;
			}

			var author = this.JoinedRoomSummary.Author;
			if (String.IsNullOrWhiteSpace(author) == true) {
				return;
			}

			if (message.IsAuth) {
				// アカウント情報を更新
				var account = Model.Account.GetAccount(message.Name);
				if (message.IsAuth && String.IsNullOrWhiteSpace(message.Name) == false) {
					account = new Model.Account {
						AccountName = message.Name,
					};
					Model.Account.UpdateAccount(account);
				}
			}

			if (String.IsNullOrWhiteSpace(message.ListenerId) == false) {
				// リスナーが存在しなければ追加します。
				var listener = Model.Listener.GetListener(message.ListenerId);
				if (listener == null || (String.IsNullOrWhiteSpace(listener.ListenerId) == false && message.IsAuth)) {
					listener = new Model.Listener {
						ListenerId = message.ListenerId,
						Name = String.IsNullOrWhiteSpace(message.Name) == false ? message.Name : null,
						Author = author,
						AccountName = message.IsAuth ? message.Name : null,
					};
					Model.Listener.UpdateListener(listener);
				}
			}
		}