public void AddNick(Nick nick) { if (!connectedNicks.Contains(nick)) { connectedNicks.Add(nick); } }
public static Seen Update(Server ircServer, Nick ircNick, Account ircAccount, Channel ircChannel) { Seen seen = Seen.Fetch(ircNick); if (seen == null) { seen = new Seen(); seen.FirstSeenAt = DateTime.Now; } seen.Channel = ircChannel; seen.Server = ircServer; seen.Account = ircAccount; seen.Nick = ircNick; seen.LastSeenAt = DateTime.Now; seen.Save(); if (seen.Account != null && ircNick.Account == null) { ircServer.AddAccount(seen.Account); ircNick.Account = seen.Account; seen.Account.AddNick(ircNick); } return(seen); }
public void AddNick(Nick nick, bool recurse = true) { if (!Nicks.Contains(nick)) { Nicks.Add(nick); } }
public static Seen FetchByNickId(long nickId) { Nick nick = Nick.Fetch(nickId); Account account = Account.FetchByNickId(nickId); return(new Seen(nick, account)); }
public Seen(Nick nick = null, Account account = null, Channel channel = null) { if (nick == null && account == null) { return; } if (account == null && nick.Account != null) { account = nick.Account; } if (nick == null && account.MostRecentNick != null) { nick = account.MostRecentNick; } if (channel == null) { if (nick != null && nick.ChannelLastSeenIn != null) { channel = nick.ChannelLastSeenIn; } else if (account != null && account.ChannelLastSeenIn != null) { channel = account.ChannelLastSeenIn; } } Account = account; Nick = nick; Channel = channel; Server = nick?.Server ?? account?.Server ?? channel?.Server; if (nick != null) { FirstSeenAt = nick.FirstSeenAt; if (account != null && account.FirstSeenAt < FirstSeenAt) { FirstSeenAt = account.FirstSeenAt; } } else if (account != null) { FirstSeenAt = account.FirstSeenAt; } if (nick != null) { LastSeenAt = nick.LastSeenAt; if (account != null && account.LastSeenAt < LastSeenAt) { LastSeenAt = account.LastSeenAt; } } else if (account != null) { LastSeenAt = account.LastSeenAt; } }
public static Seen FetchByAccountId(long accountId) { List <Nick> nicks = Nick.FetchByAccountId(accountId).ToList(); Account account = Account.Fetch(accountId); Nick nick = nicks.FirstOrDefault(); return(new Seen(nick, account)); }
public void RemoveNick(Nick nick, bool recurse = true) { if (ConnectedNicks.Contains(nick)) { ConnectedNicks.Remove(nick); } if (recurse) { nick.RemoveChannel(this, false); } }
public void AddNick(Nick nick, bool recurse = true) { if (!ConnectedNicks.Contains(nick)) { ConnectedNicks.Add(nick); } if (recurse) { nick.AddChannel(this, false); } }
public static Seen Fetch(Nick nick) { if (nick == null) { return(null); } Account account = Account.FetchByNickId(nick.Id); return(new Seen(nick, account)); }
public static Seen Fetch(Account account) { if (account == null) { return(null); } List <Nick> nicks = Nick.FetchByAccountId(account.Id).ToList(); Nick nick = nicks.FirstOrDefault(); return(new Seen(nick, account)); }
public static IQueryable <Ban> Fetch(Nick nick) { // string host = (nick != null && nick.UserName != null && nick.Host != null ? nick.DisplayName + "!" + nick.UserName + "@" + nick.Host : null); string accountBan = (nick.Account != null ? "$a:" + nick.Account.Name : null); return(from b in LumbricusContext.db.Bans where (/*(b.Mask != null && SqlMethods.Like(host, b.Mask)) || */(b.Mask != null && b.Mask == accountBan) || (b.Nick != null && b.Nick.Id == nick.Id) || (b.Account != null && nick.Account != null && b.Account.Id == nick.Account.Id)) select b); }
public void RemoveNick(Nick nick, bool recurse = true) { if (connectedNicks.Contains(nick)) { connectedNicks.Remove(nick); } if (recurse) { foreach (Channel channel in connectedChannels) { channel.RemoveNick(nick); } } }
public static Nick Create(string nickName, Server server) { logger.Debug("Creating new nick `" + nickName + "` to server id `" + server.Id + "`"); Nick nick = new Nick() { Name = nickName.ToLower(), DisplayName = nickName, Server = server, }; LumbricusContext.db.Nicks.Add(nick); LumbricusContext.db.SaveChanges(); return(nick); }
public static Ban Fetch(Channel channel, Nick nick) { // string host = (nick != null && nick.UserName != null && nick.Host != null ? nick.DisplayName + "!" + nick.UserName + "@" + nick.Host : null); string accountBan = (nick.Account != null ? "$a:" + nick.Account.Name : null); return((from b in LumbricusContext.db.Bans where b.Channel != null && b.Channel.Id == channel.Id && ( /*(b.Mask != null && SqlMethods.Like(host, b.Mask)) || */(b.Mask != null && b.Mask == accountBan) || (b.Nick != null && b.Nick.Id == nick.Id) || (b.Account != null && nick.Account != null && b.Account.Id == nick.Account.Id) ) select b).FirstOrDefault()); }
public static Seen Update(Server ircServer, Nick ircNick, Account ircAccount) { return(Update(ircServer, ircNick, ircAccount, null)); }
public static Seen Update(Server ircServer, Nick ircNick) { return(Update(ircServer, ircNick, null, null)); }