Ejemplo n.º 1
0
        public Exp GetExpression()
        {
            var exp = Exp.Eq(ChainTable.Columns.Tenant, Tenant);

            if (!string.IsNullOrEmpty(User))
            {
                exp &= Exp.Eq(ChainTable.Columns.User, User);
            }

            if (FoldersIds != null && FoldersIds.Any())
            {
                exp &= Exp.In(ChainTable.Columns.Folder, FoldersIds.ToArray());
            }

            if (Folder.HasValue)
            {
                exp &= Exp.Eq(ChainTable.Columns.Folder, Folder.Value);
            }

            if (ChainIds != null && ChainIds.Any())
            {
                exp &= Exp.In(ChainTable.Columns.Id, ChainIds);
            }

            if (MailboxId.HasValue)
            {
                exp &= Exp.Eq(ChainTable.Columns.MailboxId, MailboxId.Value);
            }

            if (!string.IsNullOrEmpty(ChainId))
            {
                exp &= Exp.Eq(ChainTable.Columns.Id, ChainId);
            }

            if (Unread.HasValue)
            {
                exp &= Exp.Eq(ChainTable.Columns.Unread, Unread.Value);
            }

            return(exp);
        }
Ejemplo n.º 2
0
        public Exp GetExpression()
        {
            var exp = Exp.Eq(MailTable.Columns.Tenant.Prefix(MM_ALIAS), Tenant);

            if (!string.IsNullOrEmpty(User))
            {
                exp &= Exp.Eq(MailTable.Columns.User.Prefix(MM_ALIAS), User);
            }

            if (MessageId.HasValue)
            {
                exp &= Exp.Eq(MailTable.Columns.Id.Prefix(MM_ALIAS), MessageId.Value);
            }

            if (MessageIds != null)
            {
                exp &= Exp.In(MailTable.Columns.Id.Prefix(MM_ALIAS), MessageIds);
            }

            if (ChainIds != null)
            {
                exp &= Exp.In(MailTable.Columns.ChainId.Prefix(MM_ALIAS), ChainIds);
            }

            if (Folder.HasValue)
            {
                exp &= Exp.Eq(MailTable.Columns.Folder.Prefix(MM_ALIAS), Folder.Value);
            }

            if (IsRemoved.HasValue)
            {
                exp &= Exp.Eq(MailTable.Columns.IsRemoved.Prefix(MM_ALIAS), IsRemoved.Value);
            }

            if (MailboxId.HasValue)
            {
                exp &= Exp.Eq(MailTable.Columns.MailboxId.Prefix(MM_ALIAS), MailboxId.Value);
            }

            if (!string.IsNullOrEmpty(Md5))
            {
                exp &= Exp.Eq(MailTable.Columns.Md5.Prefix(MM_ALIAS), Md5);
            }

            if (!string.IsNullOrEmpty(MimeMessageId))
            {
                exp &= Exp.Eq(MailTable.Columns.MimeMessageId.Prefix(MM_ALIAS), MimeMessageId);
            }

            if (!string.IsNullOrEmpty(ChainId))
            {
                exp &= Exp.Eq(MailTable.Columns.ChainId.Prefix(MM_ALIAS), ChainId);
            }

            if (FoldersIds != null && FoldersIds.Any())
            {
                exp &= Exp.In(MailTable.Columns.Folder.Prefix(MM_ALIAS), FoldersIds.ToArray());
            }

            if (Unread.HasValue)
            {
                exp &= Exp.Eq(MailTable.Columns.Unread.Prefix(MM_ALIAS), Unread.Value);
            }

            if (Exp != null)
            {
                exp &= Exp;
            }

            return(exp);
        }