/// <summary> /// Converts <see cref="MeetingNotificationItemEntity"/> to a <see cref="MeetingNotificationItemTableEntity"/>. /// </summary> /// <param name="meetingNotificationItemEntity"> meetingNotificationItemEntity. </param> /// <returns><see cref="MeetingNotificationItemTableEntity"/>.</returns> public static MeetingNotificationItemTableEntity ConvertToMeetingNotificationItemTableEntity(this MeetingNotificationItemEntity meetingNotificationItemEntity) { if (meetingNotificationItemEntity is null) { return(null); } MeetingNotificationItemTableEntity meetingNotificationItemTableEntity = new MeetingNotificationItemTableEntity(); meetingNotificationItemTableEntity.PartitionKey = meetingNotificationItemEntity.Application; meetingNotificationItemTableEntity.RowKey = meetingNotificationItemEntity.NotificationId; meetingNotificationItemTableEntity.Application = meetingNotificationItemEntity.Application; meetingNotificationItemTableEntity.RequiredAttendees = meetingNotificationItemEntity.RequiredAttendees; meetingNotificationItemTableEntity.OptionalAttendees = meetingNotificationItemEntity.OptionalAttendees; meetingNotificationItemTableEntity.Application = meetingNotificationItemEntity.Application; meetingNotificationItemTableEntity.ErrorMessage = meetingNotificationItemEntity.ErrorMessage; meetingNotificationItemTableEntity.DayofMonth = meetingNotificationItemEntity.DayofMonth ?? default; meetingNotificationItemTableEntity.DayOfWeekByMonth = meetingNotificationItemEntity.DayOfWeekByMonth; meetingNotificationItemTableEntity.DaysOfWeek = meetingNotificationItemEntity.DaysOfWeek; meetingNotificationItemTableEntity.EndDate = meetingNotificationItemEntity.EndDate; meetingNotificationItemTableEntity.IsAllDayEvent = meetingNotificationItemEntity.IsAllDayEvent; meetingNotificationItemTableEntity.From = meetingNotificationItemEntity.From; meetingNotificationItemTableEntity.IsCancel = meetingNotificationItemEntity.IsCancel; meetingNotificationItemTableEntity.IsOnlineMeeting = meetingNotificationItemEntity.IsOnlineMeeting; meetingNotificationItemTableEntity.NotificationId = meetingNotificationItemEntity.NotificationId; meetingNotificationItemTableEntity.Priority = meetingNotificationItemEntity.Priority.ToString(); meetingNotificationItemTableEntity.IsPrivate = meetingNotificationItemEntity.IsPrivate; meetingNotificationItemTableEntity.IsResponseRequested = meetingNotificationItemEntity.IsResponseRequested; meetingNotificationItemTableEntity.Status = meetingNotificationItemEntity.Status.ToString(); meetingNotificationItemTableEntity.Subject = meetingNotificationItemEntity.Subject; meetingNotificationItemTableEntity.Location = meetingNotificationItemEntity.Location; meetingNotificationItemTableEntity.Timestamp = meetingNotificationItemEntity.Timestamp; meetingNotificationItemTableEntity.MonthOfYear = meetingNotificationItemEntity.MonthOfYear; meetingNotificationItemTableEntity.TrackingId = meetingNotificationItemEntity.TrackingId; meetingNotificationItemTableEntity.TryCount = meetingNotificationItemEntity.TryCount; meetingNotificationItemTableEntity.ETag = meetingNotificationItemEntity.ETag; meetingNotificationItemTableEntity.OccurrenceId = meetingNotificationItemEntity.OccurrenceId; meetingNotificationItemTableEntity.Ocurrences = meetingNotificationItemEntity.Ocurrences ?? default; meetingNotificationItemTableEntity.RecurrencePattern = meetingNotificationItemEntity.RecurrencePattern.ToString(); meetingNotificationItemTableEntity.ReminderMinutesBeforeStart = meetingNotificationItemEntity.ReminderMinutesBeforeStart; meetingNotificationItemTableEntity.TemplateId = meetingNotificationItemEntity.TemplateId; meetingNotificationItemTableEntity.End = meetingNotificationItemEntity.End; meetingNotificationItemTableEntity.Start = meetingNotificationItemEntity.Start; meetingNotificationItemTableEntity.SequenceNumber = meetingNotificationItemEntity.SequenceNumber ?? default; meetingNotificationItemTableEntity.SendOnUtcDate = meetingNotificationItemEntity.SendOnUtcDate; meetingNotificationItemTableEntity.TrackingId = meetingNotificationItemEntity.TrackingId; meetingNotificationItemTableEntity.TryCount = meetingNotificationItemEntity.TryCount; meetingNotificationItemTableEntity.Timestamp = meetingNotificationItemEntity.Timestamp; meetingNotificationItemTableEntity.RowKey = meetingNotificationItemEntity.NotificationId; meetingNotificationItemTableEntity.PartitionKey = meetingNotificationItemEntity.Application; meetingNotificationItemTableEntity.Interval = meetingNotificationItemEntity.Interval; meetingNotificationItemTableEntity.ICalUid = meetingNotificationItemEntity.ICalUid; meetingNotificationItemTableEntity.ShowAs = meetingNotificationItemEntity.ShowAs; meetingNotificationItemTableEntity.AttachmentReference = meetingNotificationItemEntity.AttachmentReference; meetingNotificationItemTableEntity.EmailAccountUsed = meetingNotificationItemEntity.EmailAccountUsed; meetingNotificationItemTableEntity.EventId = meetingNotificationItemEntity.EventId; meetingNotificationItemTableEntity.ShowAs = meetingNotificationItemEntity.ShowAs; return(meetingNotificationItemTableEntity); }
private MeetingNotificationItemEntity ConvertToMeetingNotificationItemEntity(MeetingNotificationItemTableEntity meetingNotificationItemTableEntity) { MeetingNotificationItemEntity meetingNotificationItemEntity = new MeetingNotificationItemEntity(); meetingNotificationItemEntity.Application = meetingNotificationItemTableEntity.Application; meetingNotificationItemEntity.NotificationId = meetingNotificationItemTableEntity.NotificationId; meetingNotificationItemEntity.RequiredAttendees = meetingNotificationItemTableEntity.RequiredAttendees; meetingNotificationItemEntity.OptionalAttendees = meetingNotificationItemTableEntity.OptionalAttendees; meetingNotificationItemEntity.Application = meetingNotificationItemTableEntity.Application; meetingNotificationItemEntity.ErrorMessage = meetingNotificationItemTableEntity.ErrorMessage; meetingNotificationItemEntity.DayofMonth = meetingNotificationItemTableEntity.DayofMonth; meetingNotificationItemEntity.DayOfWeekByMonth = meetingNotificationItemTableEntity.DayOfWeekByMonth; meetingNotificationItemEntity.DaysOfWeek = meetingNotificationItemTableEntity.DaysOfWeek; meetingNotificationItemEntity.IsAllDayEvent = meetingNotificationItemTableEntity.IsAllDayEvent; meetingNotificationItemEntity.From = meetingNotificationItemTableEntity.From; meetingNotificationItemEntity.IsCancel = meetingNotificationItemTableEntity.IsCancel; meetingNotificationItemEntity.IsOnlineMeeting = meetingNotificationItemTableEntity.IsOnlineMeeting; meetingNotificationItemEntity.NotificationId = meetingNotificationItemTableEntity.NotificationId; meetingNotificationItemEntity.Priority = meetingNotificationItemTableEntity.Priority == null ? NotificationPriority.Low : (NotificationPriority)Enum.Parse(typeof(NotificationPriority), meetingNotificationItemTableEntity.Priority); meetingNotificationItemEntity.IsPrivate = meetingNotificationItemTableEntity.IsPrivate; meetingNotificationItemEntity.IsResponseRequested = meetingNotificationItemTableEntity.IsResponseRequested; meetingNotificationItemEntity.Status = meetingNotificationItemTableEntity.Status == null ? NotificationItemStatus.Queued : (NotificationItemStatus)Enum.Parse(typeof(NotificationItemStatus), meetingNotificationItemTableEntity.Status); meetingNotificationItemEntity.Subject = meetingNotificationItemTableEntity.Subject; meetingNotificationItemEntity.Location = meetingNotificationItemTableEntity.Location; meetingNotificationItemEntity.Timestamp = meetingNotificationItemTableEntity.Timestamp; meetingNotificationItemEntity.MonthOfYear = meetingNotificationItemTableEntity.MonthOfYear; meetingNotificationItemEntity.TrackingId = meetingNotificationItemTableEntity.TrackingId; meetingNotificationItemEntity.TryCount = meetingNotificationItemTableEntity.TryCount; meetingNotificationItemEntity.ETag = meetingNotificationItemTableEntity.ETag; meetingNotificationItemEntity.OccurrenceId = meetingNotificationItemTableEntity.OccurrenceId; meetingNotificationItemEntity.Ocurrences = meetingNotificationItemTableEntity.Ocurrences; meetingNotificationItemEntity.RecurrencePattern = meetingNotificationItemTableEntity.RecurrencePattern == null ? MeetingRecurrencePattern.None : (MeetingRecurrencePattern)Enum.Parse(typeof(MeetingRecurrencePattern), meetingNotificationItemTableEntity.RecurrencePattern); meetingNotificationItemEntity.ReminderMinutesBeforeStart = meetingNotificationItemTableEntity.ReminderMinutesBeforeStart; meetingNotificationItemEntity.TemplateId = meetingNotificationItemTableEntity.TemplateId; meetingNotificationItemEntity.End = meetingNotificationItemTableEntity.End; meetingNotificationItemEntity.Start = meetingNotificationItemTableEntity.Start; meetingNotificationItemEntity.EndDate = meetingNotificationItemTableEntity.EndDate; meetingNotificationItemEntity.SequenceNumber = meetingNotificationItemTableEntity.SequenceNumber; meetingNotificationItemEntity.SendOnUtcDate = meetingNotificationItemTableEntity.SendOnUtcDate; meetingNotificationItemEntity.TrackingId = meetingNotificationItemTableEntity.TrackingId; meetingNotificationItemEntity.TryCount = meetingNotificationItemTableEntity.TryCount; meetingNotificationItemEntity.Timestamp = meetingNotificationItemTableEntity.Timestamp; meetingNotificationItemEntity.RowKey = meetingNotificationItemTableEntity.NotificationId; meetingNotificationItemEntity.PartitionKey = meetingNotificationItemTableEntity.Application; meetingNotificationItemEntity.Interval = meetingNotificationItemTableEntity.Interval; meetingNotificationItemEntity.ICalUid = meetingNotificationItemTableEntity.ICalUid; meetingNotificationItemEntity.AttachmentReference = meetingNotificationItemTableEntity.AttachmentReference; meetingNotificationItemEntity.EventId = meetingNotificationItemTableEntity.EventId; meetingNotificationItemEntity.EmailAccountUsed = meetingNotificationItemTableEntity.EmailAccountUsed; meetingNotificationItemEntity.Action = meetingNotificationItemTableEntity.Action; return(meetingNotificationItemEntity); }
public async Task GetMeetingNotificationItemEntitiesBetweenDatesTests() { var statusList = new List <NotificationItemStatus>() { NotificationItemStatus.Failed }; var meetingNotificationItemEntity = new MeetingNotificationItemTableEntity() { Application = this.applicationName, NotificationId = Guid.NewGuid().ToString(), }; var notificationList = new List <MeetingNotificationItemTableEntity>() { meetingNotificationItemEntity }; var meetingHistoryTable = new Mock <CloudTable>(new Uri("http://unittests.localhost.com/FakeTable"), (TableClientConfiguration)null); _ = this.cloudStorageClient.Setup(x => x.GetCloudTable("MeetingHistory")).Returns(meetingHistoryTable.Object); _ = meetingHistoryTable.Setup(x => x.ExecuteQuery(It.IsAny <TableQuery <MeetingNotificationItemTableEntity> >(), It.IsAny <TableRequestOptions>(), It.IsAny <OperationContext>())).Returns(notificationList); IOptions <StorageAccountSetting> options = Options.Create <StorageAccountSetting>(new StorageAccountSetting { BlobContainerName = "Test", ConnectionString = "Test Con", MailTemplateTableName = "MailTemplate", EmailHistoryTableName = "EmailHistory", MeetingHistoryTableName = "MeetingHistory", NotificationQueueName = "test-queue" }); var classUnderTest = new TableStorageEmailRepository(options, this.cloudStorageClient.Object, this.logger.Object, this.mailAttachmentRepository.Object); // dateRange is Null. _ = Assert.ThrowsAsync <ArgumentNullException>(async() => await classUnderTest.GetPendingOrFailedMeetingNotificationsByDateRange(null, this.applicationName, statusList)); // applicationname is Null var result = await classUnderTest.GetPendingOrFailedMeetingNotificationsByDateRange(this.dateRange, null, statusList); Assert.IsNotNull(result); Assert.AreEqual(result.FirstOrDefault().NotificationId, meetingNotificationItemEntity.NotificationId); // NotificationStatusList is null result = await classUnderTest.GetPendingOrFailedMeetingNotificationsByDateRange(this.dateRange, this.applicationName, null); Assert.IsNotNull(result); Assert.AreEqual(result.FirstOrDefault().NotificationId, meetingNotificationItemEntity.NotificationId); // Fetched records are null notificationList = null; _ = meetingHistoryTable.Setup(x => x.ExecuteQuery(It.IsAny <TableQuery <MeetingNotificationItemTableEntity> >(), It.IsAny <TableRequestOptions>(), It.IsAny <OperationContext>())).Returns(notificationList); classUnderTest = new TableStorageEmailRepository(options, this.cloudStorageClient.Object, this.logger.Object, this.mailAttachmentRepository.Object); result = await classUnderTest.GetPendingOrFailedMeetingNotificationsByDateRange(this.dateRange, this.applicationName, null); Assert.IsNull(result); }