Skip to content

Commit

Permalink
Replace codeunit with table for filters
Browse files Browse the repository at this point in the history
  • Loading branch information
darjoo committed Oct 29, 2024
1 parent 6ad815e commit 59bda14
Show file tree
Hide file tree
Showing 6 changed files with 69 additions and 114 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ codeunit 8998 "Default Email Connector v2" implements "Email Connector v3"
end;
#endif

procedure RetrieveEmails(AccountId: Guid; var EmailInbox: Record "Email Inbox"; Filters: Codeunit "Email Retrieval Filters")
procedure RetrieveEmails(AccountId: Guid; var EmailInbox: Record "Email Inbox"; var Filters: Record "Email Retrieval Filters" temporary)
begin

end;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ interface "Email Connector v3" extends "Email Connector"
/// <param name="AccountId">The email account ID which is used to send out the email.</param>
/// <param name="EmailInbox">The email inbox record that will store the emails.</param>
/// <param name="Filters">Filters to be used when retrieving emails.</param>
procedure RetrieveEmails(AccountId: Guid; var EmailInbox: Record "Email Inbox"; Filters: Codeunit "Email Retrieval Filters");
procedure RetrieveEmails(AccountId: Guid; var EmailInbox: Record "Email Inbox"; var Filters: Record "Email Retrieval Filters" temporary);

/// <summary>
/// Mark an e-mail as read in the provided account.
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ codeunit 8901 Email
/// <param name="EmailConnector">The email connector to use for sending the email.</param>
/// <param name="EmailInbox">The return record of all new emails that were retrieved.</param>
/// <param name="Filters">Filters to be used when retrieving emails.</param>
procedure RetrieveEmails(EmailAccountId: Guid; EmailConnector: Enum "Email Connector"; var EmailInbox: Record "Email Inbox"; Filters: Codeunit "Email Retrieval Filters")
procedure RetrieveEmails(EmailAccountId: Guid; EmailConnector: Enum "Email Connector"; var EmailInbox: Record "Email Inbox"; var Filters: Record "Email Retrieval Filters" temporary)
begin
EmailImpl.RetrieveEmails(EmailAccountId, EmailConnector, EmailInbox, Filters);
end;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -199,12 +199,13 @@ codeunit 8900 "Email Impl"

procedure RetrieveEmails(EmailAccountId: Guid; Connector: Enum "Email Connector"; var EmailInbox: Record "Email Inbox")
var
Filters: Codeunit "Email Retrieval Filters";
Filters: Record "Email Retrieval Filters";
begin
Filters.Insert();
RetrieveEmails(EmailAccountId, Connector, EmailInbox, Filters);
end;

procedure RetrieveEmails(EmailAccountId: Guid; Connector: Enum "Email Connector"; var EmailInbox: Record "Email Inbox"; Filters: Codeunit "Email Retrieval Filters")
procedure RetrieveEmails(EmailAccountId: Guid; Connector: Enum "Email Connector"; var EmailInbox: Record "Email Inbox"; var Filters: Record "Email Retrieval Filters" temporary)
var
#if not CLEAN26
#pragma warning disable AL0432
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------

namespace System.Email;

/// <summary>Holds information about the filters for retrieving emails.</summary>
table 8885 "Email Retrieval Filters"
{
Access = Public;
TableType = Temporary;

fields
{
field(1; Id; Integer)
{
DataClassification = SystemMetadata;
AutoIncrement = true;
}

field(2; "Load Attachments"; Boolean)
{
DataClassification = SystemMetadata;
}

field(3; "Unread Emails"; Boolean)
{
DataClassification = SystemMetadata;
}

field(4; "Draft Emails"; Boolean)
{
DataClassification = SystemMetadata;
}

field(5; "Max No. of Emails"; Integer)
{
DataClassification = SystemMetadata;
InitValue = 20;
}

field(6; "Body Type"; Option)
{
OptionMembers = "HTML","Text";
DataClassification = SystemMetadata;
InitValue = "HTML";
}

field(7; "Earliest Email"; DateTime)
{
DataClassification = SystemMetadata;
}
}

keys
{
key(PK; Id)
{
Clustered = true;
}
}
}

0 comments on commit 59bda14

Please sign in to comment.