public RoomieCalendarEvent([NotNull] IUser organizer, [NotNull] ICalendarEventOccurence occurence, [CanBeNull] IChatInfo chatInfo) { this._organizer = organizer; this._occurence = occurence; this.ChatInfo = chatInfo; }
public async Task <string> GetChatMessageAsync(IUser user, ICalendarEventOccurence occurence) { var room = await _roomAccessor.GetCurrentRoomAsync(); // TODO DEV-3 make this localizable with https://tracker.seitenbau.net/browse/DEV-3 const string messageTemplate = "Hi {0}, es geht um den Termin am {1} um {2} im Raum \"{3}\"."; var message = string.Format(messageTemplate, user.FirstName, occurence.From.ToShortDateString(), occurence.From.ToShortTimeString(), room.NiceName); return(message); }
public async Task <IChatInfo> GetChatInfoAsync(IUser user, ICalendarEventOccurence occurence) { if (string.IsNullOrEmpty(user.UserName)) { return(null); } var link = $"https://go.rocket.chat/room?host={_rocketChatConfiguration.Value.Host}&rid={user.UserName}&path=direct/{user.UserName}"; var message = await _chatMessageService.GetChatMessageAsync(user, occurence); var hint = await _chatMessageService.GetChatHintAsync(user); return(new ChatInfo(link, message, hint)); }