EmailMessages improvements
This commit is contained in:
parent
db3dc17767
commit
f54a84aefd
|
|
@ -11,24 +11,53 @@ public static class AcEmailMessageDbSetExtension
|
||||||
public static IQueryable<TEmailMessage> GetEmailMessagesByContextId<TEmailMessage>(this IAcEmailMessageDbSet<TEmailMessage> ctx, Guid contextId) where TEmailMessage : class, IAcEmailMessageBase
|
public static IQueryable<TEmailMessage> GetEmailMessagesByContextId<TEmailMessage>(this IAcEmailMessageDbSet<TEmailMessage> ctx, Guid contextId) where TEmailMessage : class, IAcEmailMessageBase
|
||||||
=> ctx.EmailMessages.Where(x => x.ContextId == contextId);
|
=> ctx.EmailMessages.Where(x => x.ContextId == contextId);
|
||||||
|
|
||||||
public static IQueryable<TEmailMessage> GetEmailMessagesBySenderId<TEmailMessage>(this IAcEmailMessageDbSet<TEmailMessage> ctx, Guid senderId) where TEmailMessage : class, IAcEmailMessageBase
|
|
||||||
=> ctx.EmailMessages.Where(x => x.SenderId == senderId);
|
|
||||||
|
|
||||||
public static IQueryable<TEmailMessage> GetEmailMessagesBySenderEmailAddress<TEmailMessage>(this IAcEmailMessageDbSet<TEmailMessage> ctx, string senderEmailAddress) where TEmailMessage : class, IAcEmailMessageBase
|
public static IQueryable<TEmailMessage> GetEmailMessagesBySenderEmailAddress<TEmailMessage>(this IAcEmailMessageDbSet<TEmailMessage> ctx, string senderEmailAddress) where TEmailMessage : class, IAcEmailMessageBase
|
||||||
=> ctx.EmailMessages.Where(x => x.EmailAddress == senderEmailAddress);
|
=> ctx.EmailMessages.Where(x => x.EmailAddress == senderEmailAddress);
|
||||||
|
|
||||||
private static IQueryable<TEmailMessage> GetEmailMessages<TEmailMessage, TEmailRecipient>(this IQueryable<TEmailMessage> queryableEmails, Guid userId, Guid userProductMappingId)
|
public static IQueryable<TEmailMessage> GetEmailMessagesBySenderId<TEmailMessage>(this IAcEmailMessageDbSet<TEmailMessage> ctx, Guid senderId) where TEmailMessage : class, IAcEmailMessageBase
|
||||||
|
=> ctx.EmailMessages.Where(x => x.SenderId == senderId);
|
||||||
|
|
||||||
|
public static IQueryable<TEmailMessage> GetEmailMessagesByRecipientId<TEmailMessage, TEmailRecipient>(this IAcEmailMessageDbSet<TEmailMessage> ctx, Guid recipientId)
|
||||||
|
where TEmailMessage : class, IAcEmailMessageBase, IAcEmailRecipientsRelation<TEmailRecipient>
|
||||||
|
where TEmailRecipient : IAcEmailRecipientBase
|
||||||
|
{
|
||||||
|
return ctx.EmailMessages.Where(x => x.Recipients.Any(recipient => recipient.RecipientId == recipientId));
|
||||||
|
}
|
||||||
|
|
||||||
|
private static IQueryable<TEmailMessage> GetEmailMessagesBySenderIdOrRecipientId<TEmailMessage, TEmailRecipient>(this IQueryable<TEmailMessage> queryableEmails, Guid senderIdOrRecipientId)
|
||||||
|
where TEmailMessage : class, IAcEmailMessageBase, IAcEmailRecipientsRelation<TEmailRecipient>
|
||||||
|
where TEmailRecipient : IAcEmailRecipientBase
|
||||||
|
{
|
||||||
|
return queryableEmails.Where(x => x.SenderId == senderIdOrRecipientId || x.Recipients.Any(recipient => recipient.RecipientId == senderIdOrRecipientId));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static IQueryable<TEmailMessage> GetEmailMessages<TEmailMessage, TEmailRecipient>(this IAcEmailMessageDbSet<TEmailMessage> ctx, Guid senderIdOrRecipientId)
|
||||||
|
where TEmailMessage : class, IAcEmailMessageBase, IAcEmailRecipientsRelation<TEmailRecipient>
|
||||||
|
where TEmailRecipient : IAcEmailRecipientBase
|
||||||
|
{
|
||||||
|
return ctx.EmailMessages.GetEmailMessagesBySenderIdOrRecipientId<TEmailMessage, TEmailRecipient>(senderIdOrRecipientId);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static IQueryable<TEmailMessage> GetEmailMessages<TEmailMessage, TEmailRecipient>(this IAcEmailMessageDbSet<TEmailMessage> ctx, Guid contextId, Guid senderIdOrRecipientId)
|
||||||
|
where TEmailMessage : class, IAcEmailMessageBase, IAcEmailRecipientsRelation<TEmailRecipient>
|
||||||
|
where TEmailRecipient : IAcEmailRecipientBase
|
||||||
|
{
|
||||||
|
return ctx.EmailMessages.Where(x => x.ContextId == contextId).GetEmailMessagesBySenderIdOrRecipientId<TEmailMessage, TEmailRecipient>(senderIdOrRecipientId);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private static IQueryable<TEmailMessage> GetEmailMessagesByUserIdOrUpmId<TEmailMessage, TEmailRecipient>(this IQueryable<TEmailMessage> queryableEmails, Guid userId, Guid userProductMappingId)
|
||||||
where TEmailMessage : class, IAcEmailMessageBase, IAcEmailRecipientsRelation<TEmailRecipient>
|
where TEmailMessage : class, IAcEmailMessageBase, IAcEmailRecipientsRelation<TEmailRecipient>
|
||||||
where TEmailRecipient : IAcEmailRecipientBase
|
where TEmailRecipient : IAcEmailRecipientBase
|
||||||
{
|
{
|
||||||
return queryableEmails.Where(x => x.SenderId == userId || x.SenderId == userProductMappingId || x.Recipients.Any(recipient => recipient.RecipientId == userId || recipient.RecipientId == userProductMappingId));
|
return queryableEmails.Where(x => x.SenderId == userId || x.SenderId == userProductMappingId || x.Recipients.Any(recipient => recipient.RecipientId == userId || recipient.RecipientId == userProductMappingId));
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IQueryable<TEmailMessage> GetEmailMessages<TEmailMessage, TEmailRecipient>(this IAcEmailMessageDbSet<TEmailMessage> ctx, Guid userId, Guid userProductMappingId)
|
public static IQueryable<TEmailMessage> GetEmailMessagesByUserIdOrUpmId<TEmailMessage, TEmailRecipient>(this IAcEmailMessageDbSet<TEmailMessage> ctx, Guid userId, Guid userProductMappingId)
|
||||||
where TEmailMessage : class, IAcEmailMessageBase, IAcEmailRecipientsRelation<TEmailRecipient>
|
where TEmailMessage : class, IAcEmailMessageBase, IAcEmailRecipientsRelation<TEmailRecipient>
|
||||||
where TEmailRecipient : IAcEmailRecipientBase
|
where TEmailRecipient : IAcEmailRecipientBase
|
||||||
{
|
{
|
||||||
return ctx.EmailMessages.GetEmailMessages<TEmailMessage, TEmailRecipient>(userId, userProductMappingId);
|
return ctx.EmailMessages.GetEmailMessagesByUserIdOrUpmId<TEmailMessage, TEmailRecipient>(userId, userProductMappingId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IQueryable<TEmailMessage> GetAllEmailMessages<TEmailMessage, TEmailRecipient>(this IAcEmailMessageDbSet<TEmailMessage> ctx)
|
public static IQueryable<TEmailMessage> GetAllEmailMessages<TEmailMessage, TEmailRecipient>(this IAcEmailMessageDbSet<TEmailMessage> ctx)
|
||||||
|
|
@ -42,7 +71,7 @@ public static class AcEmailMessageDbSetExtension
|
||||||
where TEmailMessage : class, IAcEmailMessageBase, IAcEmailRecipientsRelation<TEmailRecipient>
|
where TEmailMessage : class, IAcEmailMessageBase, IAcEmailRecipientsRelation<TEmailRecipient>
|
||||||
where TEmailRecipient : IAcEmailRecipientBase
|
where TEmailRecipient : IAcEmailRecipientBase
|
||||||
{
|
{
|
||||||
return ctx.GetEmailMessagesByContextId(contextId).GetEmailMessages<TEmailMessage, TEmailRecipient>(userId, userProductMappingId);
|
return ctx.GetEmailMessagesByContextId(contextId).GetEmailMessagesByUserIdOrUpmId<TEmailMessage, TEmailRecipient>(userId, userProductMappingId);
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Add, Update, Remove
|
#region Add, Update, Remove
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue