} // End private coroutine mehtod playComment public static void raiseEvent(CommentEvent myEvent) { if (observer != null) { observer.OnNotify(myEvent); } } // End public static method raiseEvent
public IHttpActionResult AddComment(AddCommentDTO comment) { int CurrenUser = 0; using (var db = new UserDAL()) { CurrenUser = db.GetUserByUserNameOrEmail(User.Identity.Name).UserID; } var newComment = new CommentEvent { UserId = CurrenUser, EventId = comment.ThreadId, Content = comment.CommentContent, Status = true, CommentDate = DateTime.Now }; using (var db = new EventDAL()) { newComment = db.AddNewComment(newComment); } return(Ok(new HTTPMessageDTO { Status = WsConstant.HttpMessageType.SUCCESS, Data = newComment })); }
private void CommentSubscriber(CommentEvent param) { switch (param.Type) { case CommentEventType.Reply: ReplyCommentId = param.Comment.id; IsReplingTo = true; ReplyTip = string.Format(StringUtil.GetString("ReplyTip"), param.Comment.author); break; case CommentEventType.Delete: if (CommentList.Count > 1) { var comment = CommentList[0].SingleOrDefault(o => o.id == param.Comment.id); if (comment != null) { CommentList[0].Remove(comment); return; } comment = CommentList[1].SingleOrDefault(o => o.id == param.Comment.id); if (comment != null) { CommentList[1].Remove(comment); return; } } break; } }
public PartialViewResult ChildrenEventComment(CommentEvent childCom) { ApplicationUser user = null; string id = GetUserId(); if (id != string.Empty && id != null) { user = context.Users.Where(a => a.Id == id).First(); } CurrentCommentGameEventViewModel vm = new CurrentCommentGameEventViewModel { LoggedUser = user, Com = childCom }; if (vm.Com.Children != null && vm.Com.Children.Count > 1) { vm.Com.Children = vm.Com.Children.OrderBy(a => a.DateOfInsert).ToList(); } return(PartialView("_ChildrenComments", vm)); }
public object Serdes(object existing, AssetInfo config, AssetMapping mapping, ISerializer s) { if (s == null) { throw new ArgumentNullException(nameof(s)); } var events = new List <IEvent>(); foreach (var line in ReadLines(s)) { IEvent e; if (string.IsNullOrEmpty(line)) { e = new CommentEvent(null); } else if (line.StartsWith(";", StringComparison.Ordinal)) { e = new CommentEvent(line.Substring(1)); } else { e = Event.Parse(line); } if (e == null) { ApiUtil.Assert($"Script line \"{line}\" could not be parsed to an event"); e = new UnparsableEvent(line); } events.Add(e); } return(events); }
public CommentEvent AddNewComment(CommentEvent comment) { using (var db = new Ws_DataContext()) { var newComment = db.CommentEvents.Add(comment); db.SaveChanges(); return(newComment); } }
public PartialViewResult AddChildCommentEvent(int idOfParentId, string content) { if (SpamDetector.IsContentSpam(content)) { return(null); } var parentComment = context.CommentEvents.Find(idOfParentId); GamingEvent gameEvent = context.GamingEvents.Where(a => a.GamingEventId == parentComment.GamingEventId).First(); ApplicationUser user = null; string id = User.Identity.GetUserId(); if (id != string.Empty && id != null) { user = context.Users.Where(a => a.Id == id).First(); } CommentEvent commentEvent = new CommentEvent() { Body = content, DateOfInsert = DateTime.Now, GamingEventId = gameEvent.GamingEventId, UserId = User.Identity.GetUserId(), User = user, ParentCommentEventId = parentComment.CommentEventId, Parent = parentComment }; var sentimentalInt = new SentimentalInterpreter(); var isContentHappy = sentimentalInt.IsHappy(commentEvent.Body); if (isContentHappy) { commentEvent.IsHappy = true; } parentComment.Children.Add(commentEvent); context.CommentEvents.Add(commentEvent); context.SaveChanges(); CurrentCommentGameEventViewModel vm = new CurrentCommentGameEventViewModel { LoggedUser = user, Com = parentComment }; if (vm.Com.Children != null && vm.Com.Children.Count > 1) { vm.Com.Children = vm.Com.Children.OrderBy(a => a.DateOfInsert).ToList(); } return(PartialView("~/Views/GamingEvent/_ChildrenComments.cshtml", vm)); }
} // End Unity method Start // Additional methods private void OnNotify(CommentEvent myEvent) { if (library == null || (int)myEvent >= library.Length || source == null) { return; } bool volumeChange = (myEvent == CommentEvent.CommentsTurnedUp || myEvent == CommentEvent.CommentsTurnedDown); StartCoroutine(playComment(library[(int)myEvent], volumeChange)); if (source != null && source.isPlaying && volumeChange) { source.volume = Game.getCommentVolume(); } } // End private method OnNotify
public async Task NotifyCommentPublished( CommentEvent message, ILogger log, CancellationToken ct) { try { var url = (await settings.GetSettings())?.WebHookCommentPublished ?? ""; await InvokeWebHook(url, message, "comment published", ct, log); } catch (Exception ex) { log.LogError(ex, "Failed to invoke webhook for comment published"); } }
public PartialViewResult AddComment(int gamingEventId, string content) { if (SpamDetector.IsContentSpam(content)) { return(null); } var gameEvent = context.GamingEvents.Where(a => a.GamingEventId == gamingEventId).First(); ApplicationUser user = null; string id = User.Identity.GetUserId(); if (id != string.Empty && id != null) { user = context.Users.Where(a => a.Id == id).First(); } CommentEvent commentEvent = new CommentEvent() { Body = content, DateOfInsert = DateTime.Now, GamingEventId = gameEvent.GamingEventId, UserId = User.Identity.GetUserId(), User = user }; var sentimentalInt = new SentimentalInterpreter(); var isContentHappy = sentimentalInt.IsHappy(commentEvent.Body); if (isContentHappy) { commentEvent.IsHappy = true; } context.CommentEvents.Add(commentEvent); context.SaveChanges(); gameEvent.Comments.Add(commentEvent); CurrentGameEventUserViewModel vm = new CurrentGameEventUserViewModel { LoggedUser = user, GamingEvent = gameEvent }; vm.GamingEvent.Comments = vm.GamingEvent.Comments.OrderBy(a => a.DateOfInsert).ToList(); return(PartialView("_ListOfComments", vm)); }
private async Task InvokeWebHook(string url, CommentEvent message, string eventName, CancellationToken ct, ILogger log) { if (string.IsNullOrWhiteSpace(url)) { log.LogInformation("No webhook configured for {event}.", eventName); return; } if (!TryParseUri(url, out var webhookUri)) { log.LogWarning("Webhook for {event} is invalid: '{url}'", eventName, url); throw new InvalidOperationException($"Webhook URI for {eventName} is invalid."); } try { var json = System.Text.Json.JsonSerializer.Serialize(message, serializationOptions); using var client = new HttpClient(); var httpRequest = new HttpRequestMessage(HttpMethod.Post, webhookUri) { Content = new StringContent(json, Encoding.UTF8, "application/json") }; log.LogDebug("Invoking {event} webhook at '{url}' with body {body}", eventName, url, json); var response = await client.SendAsync(httpRequest, ct); if (!response.IsSuccessStatusCode) { log.LogError("Webhook for {event} failed: {status} {reason}", eventName, response.StatusCode, response.ReasonPhrase); throw new InvalidOperationException($"Failed to invoke {eventName} web hook: {response.StatusCode} {response.ReasonPhrase}"); } else { log.LogInformation("Webhook {event} at '{url}' completed with status {status} {reason}", eventName, url, response.StatusCode, response.ReasonPhrase); } } catch (Exception ex) { log.LogError(ex, "Webhook for {event} failed.", eventName); throw new InvalidOperationException($"Failed to invoke {eventName} web hook.", ex); } }
public Script Serdes(Script script, AssetInfo info, AssetMapping mapping, ISerializer s, IJsonUtil jsonUtil) { if (s == null) { throw new ArgumentNullException(nameof(s)); } if (s.IsReading()) { script = new Script(); foreach (var line in ReadLines(s)) { IEvent e; if (string.IsNullOrEmpty(line)) { e = new CommentEvent(null); } else if (line.StartsWith(";", StringComparison.Ordinal)) { e = new CommentEvent(line[1..]);
private void Subscriber(CommentEvent param) { var commentId = param.Comment.id.ToString(); switch (param.Type) { case CommentEventType.Delete: DataRequester.DeleteComment(commentId); break; case CommentEventType.Like: if (param.IsLike) { DataRequester.LikeComment(commentId); } else { DataRequester.UnlikeComment(commentId); } break; } }
public void GenerateEventComments() { var repository = DependencyResolver.Current.GetService <IRepository>(); var users = repository.Users.ToList(); var events = repository.Events.ToList(); foreach (var @event in events) { var countNew = rand.Next(3) + 2; for (int i = 0; i < countNew; i++) { var user = users.OrderBy(p => Guid.NewGuid()).FirstOrDefault(); var comment = new Comment() { UserID = user.ID, Text = Textarium.GetRandomText(1 + rand.Next(2)), }; repository.CreateComment(comment); var eventComment = new CommentEvent() { CommentID = comment.ID, EventID = @event.ID }; repository.CreateCommentEvent(eventComment); if (eventComment.Event.UserID != user.ID) { var feed = new Feed() { ActionType = (int)Feed.ActionTypeEnum.AddEventComment, EventID = eventComment.EventID, CommentID = comment.ID, UserID = eventComment.Event.UserID, ActorID = user.ID, IsNew = true, }; repository.CreateFeed(feed); } Console.WriteLine(string.Format("{0} написал комментарий в блоге {1}", user.FirstName, comment.Text.Teaser(50))); if (rand.Next(100) % 2 == 0) { var user2 = users.OrderBy(p => Guid.NewGuid()).FirstOrDefault(); var replyComment = new Comment() { ParentID = comment.ID, UserID = user2.ID, Text = Textarium.GetRandomText(1 + rand.Next(2)), }; repository.CreateComment(replyComment); var replyEventComment = new CommentEvent() { CommentID = replyComment.ID, EventID = @event.ID }; repository.CreateCommentEvent(replyEventComment); if (replyEventComment.Event.UserID != user.ID) { var feed = new Feed() { ActionType = (int)Feed.ActionTypeEnum.AddEventComment, EventID = replyEventComment.EventID, CommentID = comment.ID, UserID = replyEventComment.Event.UserID, ActorID = user.ID, IsNew = true, }; repository.CreateFeed(feed); } Console.WriteLine(string.Format("{0} ответил комментарием в блоге {1}", user2.FirstName, replyComment.Text.Teaser(50))); } } } }
public void CommentTL_Click(object sender, EventArgs e) { CommentEvent.Invoke(sender, e); }