void NewSeen(string network, string nick, string ident, string text) { SeenInfo i = FindIdent(network, ident, l); if (i == null) { i = new SeenInfo(); i.Date = DateTime.Now; i.Ident = ident; i.Names = new List <string>(); i.Network = network; i.Text = text; l.Add(i); } else { i.Date = DateTime.Now; i.Text = text; } if (!i.Names.Contains(nick)) { i.Names.Add(nick); } SaveToFile <List <SeenInfo> >(l, "Seen"); }
public ActionResult PersonMonitor(int eventId, int userId) { var eventt = EventCommand.Get(eventId); var user = UserCommand.Get(userId); var seenInfo = AreYouOkCommand.GetSeenInfo(eventId, userId); if (seenInfo == null) { seenInfo = new SeenInfo(); } if (LoggedUserIs(RoleEnum.EventAdministrator) && eventt.Organizer.Id != GetLoggedUser().Id) { return(RedirectToAction("Monitor", "EventMonitor", new { id = eventId })); } var status = IAmOkEnum.WithoutAnswer; var statusRow = AreYouOkEvents.Where(x => x.Target == user && x.Event == eventt).FirstOrDefault(); if (statusRow?.ReplyDatetime != null) { status = statusRow.IAmOk ? IAmOkEnum.Ok : IAmOkEnum.NotOk; } var eventPersonMonitorModel = new EventPersonMonitorModel() { Username = user.Username, Image = user.Image, EventId = eventId, UserId = userId, EventLatitude = eventt.Latitude, EventLongitude = eventt.Longitude, EventName = eventt.Name, Status = status, Seen = seenInfo.Seen, SeenOk = seenInfo.SeenOk, SeenNotOk = seenInfo.SeenNotOk, SeenWithoutAnswer = seenInfo.SeenWithoutAnswer }; return(View(eventPersonMonitorModel)); }
void Bot_OnMessage(Network network, Irc.IrcEventArgs e) { if (IsMatch("^seen \\?$", e.Data.Message)) { AnswerWithNotice(network, e, FormatBold("Use of Seen plugin:")); AnswerWithNotice(network, e, FormatItalic("seen <nick>") + " - Displays information when the Bot last saw <nick>."); } else if (IsMatch("^seen (?<nick>.*)$", e.Data.Message)) { SeenInfo i = FindName(network.Name, Matches["nick"].ToString(), l); if (i == null) { Answer(network, e, "I never saw " + Matches["nick"].ToString() + " before."); } else if (i.Ident == e.Data.Ident) { Answer(network, e, "Looking for yourself, eh?"); } else { string hour = "hours"; string minute = "minutes"; TimeSpan t = (TimeSpan)(DateTime.Now - i.Date); if (t.TotalHours == 1) { hour = "hour"; } if (t.Minutes == 1) { minute = "minute"; } Answer(network, e, "I saw " + Matches["nick"].ToString() + " " + Convert.ToInt16(t.TotalHours).ToString() + " " + hour + " and " + t.Minutes.ToString() + " " + minute + " ago, " + i.Text + "."); } } NewSeen(network.Name, e.Data.Nick, e.Data.Ident, "on " + e.Data.Channel + ", saying " + e.Data.Message); }
void NewSeen(string network, string nick, string ident, string text) { SeenInfo i = FindIdent(network, ident, l); if (i == null) { i = new SeenInfo(); i.Date = DateTime.Now; i.Ident = ident; i.Names = new List<string>(); i.Network = network; i.Text = text; l.Add(i); } else { i.Date = DateTime.Now; i.Text = text; } if (!i.Names.Contains(nick)) i.Names.Add(nick); Save(l); }