Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JohanPetersson/6d75e563f23718374c948910b9891c32 to your computer and use it in GitHub Desktop.
Save JohanPetersson/6d75e563f23718374c948910b9891c32 to your computer and use it in GitHub Desktop.
Nice if statements
if (channel != null)
{
if (channel is EmailNotificationChannel)
{
if (status.HasFlag(NotificationChannelStatus.All))
{
query = query.Where(x =>
x.EmailChannelStatus == NotificationChannelStatus.Displayed.ToString() |
x.EmailChannelStatus == NotificationChannelStatus.New.ToString() |
x.EmailChannelStatus == NotificationChannelStatus.Read.ToString() |
x.EmailChannelStatus == NotificationChannelStatus.Sent.ToString());
}
else if (status == NotificationChannelStatus.Displayed)
{
query = query.Where(x => x.EmailChannelStatus == NotificationChannelStatus.Displayed.ToString());
}
else if (status == NotificationChannelStatus.New)
{
query = query.Where(x => x.EmailChannelStatus == NotificationChannelStatus.New.ToString());
}
else if (status == NotificationChannelStatus.Read)
{
query = query.Where(x => x.EmailChannelStatus == NotificationChannelStatus.Read.ToString());
}
else if (status == NotificationChannelStatus.Sent)
{
query = query.Where(x => x.EmailChannelStatus == NotificationChannelStatus.Sent.ToString());
}
else if (status == NotificationChannelStatus.Displayed || status == NotificationChannelStatus.New || status == NotificationChannelStatus.Read)
{
query = query.Where(x =>
x.EmailChannelStatus == NotificationChannelStatus.Displayed.ToString() |
x.EmailChannelStatus == NotificationChannelStatus.New.ToString() |
x.EmailChannelStatus == NotificationChannelStatus.Read.ToString());
}
else if (status == NotificationChannelStatus.Displayed || status == NotificationChannelStatus.New || status == NotificationChannelStatus.Sent)
{
query = query.Where(x =>
x.EmailChannelStatus == NotificationChannelStatus.Displayed.ToString() |
x.EmailChannelStatus == NotificationChannelStatus.New.ToString() |
x.EmailChannelStatus == NotificationChannelStatus.Sent.ToString());
}
else if (status == NotificationChannelStatus.Displayed || status == NotificationChannelStatus.Read || status == NotificationChannelStatus.Sent)
{
query = query.Where(x =>
x.EmailChannelStatus == NotificationChannelStatus.Displayed.ToString() |
x.EmailChannelStatus == NotificationChannelStatus.Read.ToString() |
x.EmailChannelStatus == NotificationChannelStatus.Sent.ToString());
}
else if (status == NotificationChannelStatus.Displayed || status == NotificationChannelStatus.New)
{
query = query.Where(x =>
x.EmailChannelStatus == NotificationChannelStatus.Displayed.ToString() |
x.EmailChannelStatus == NotificationChannelStatus.New.ToString());
}
else if (status == NotificationChannelStatus.Displayed || status == NotificationChannelStatus.Read)
{
query = query.Where(x =>
x.EmailChannelStatus == NotificationChannelStatus.New.ToString() |
x.EmailChannelStatus == NotificationChannelStatus.Read.ToString());
}
else if (status == NotificationChannelStatus.Displayed || status == NotificationChannelStatus.Sent)
{
query = query.Where(x =>
x.EmailChannelStatus == NotificationChannelStatus.Displayed.ToString() |
x.EmailChannelStatus == NotificationChannelStatus.Sent.ToString());
}
else if (status == NotificationChannelStatus.New || status == NotificationChannelStatus.Read || status == NotificationChannelStatus.Sent)
{
query = query.Where(x =>
x.EmailChannelStatus == NotificationChannelStatus.New.ToString() |
x.EmailChannelStatus == NotificationChannelStatus.Read.ToString() |
x.EmailChannelStatus == NotificationChannelStatus.Sent.ToString());
}
else if (status == NotificationChannelStatus.New || status == NotificationChannelStatus.Read)
{
query = query.Where(x =>
x.EmailChannelStatus == NotificationChannelStatus.New.ToString() |
x.EmailChannelStatus == NotificationChannelStatus.Read.ToString());
}
else if (status == NotificationChannelStatus.New || status == NotificationChannelStatus.Sent)
{
query = query.Where(x =>
x.EmailChannelStatus == NotificationChannelStatus.New.ToString() |
x.EmailChannelStatus == NotificationChannelStatus.Sent.ToString());
}
else if (status == NotificationChannelStatus.Read || status == NotificationChannelStatus.Sent)
{
query = query.Where(x =>
x.EmailChannelStatus == NotificationChannelStatus.Read.ToString() |
x.EmailChannelStatus == NotificationChannelStatus.Sent.ToString());
}
}
if (channel is WebNotificationChannel)
{
if (status.HasFlag(NotificationChannelStatus.All))
{
query = query.Where(x =>
x.WebChannelStatus == NotificationChannelStatus.Displayed.ToString() |
x.WebChannelStatus == NotificationChannelStatus.New.ToString() |
x.WebChannelStatus == NotificationChannelStatus.Read.ToString() |
x.WebChannelStatus == NotificationChannelStatus.Sent.ToString());
}
else if (status == NotificationChannelStatus.Displayed)
{
query = query.Where(x => x.WebChannelStatus == NotificationChannelStatus.Displayed.ToString());
}
else if (status == NotificationChannelStatus.New)
{
query = query.Where(x => x.WebChannelStatus == NotificationChannelStatus.New.ToString());
}
else if (status == NotificationChannelStatus.Read)
{
query = query.Where(x => x.WebChannelStatus == NotificationChannelStatus.Read.ToString());
}
else if (status == NotificationChannelStatus.Sent)
{
query = query.Where(x => x.WebChannelStatus == NotificationChannelStatus.Sent.ToString());
}
else if (status == NotificationChannelStatus.Displayed || status == NotificationChannelStatus.New || status == NotificationChannelStatus.Read)
{
query = query.Where(x =>
x.WebChannelStatus == NotificationChannelStatus.Displayed.ToString() |
x.WebChannelStatus == NotificationChannelStatus.New.ToString() |
x.WebChannelStatus == NotificationChannelStatus.Read.ToString());
}
else if (status == NotificationChannelStatus.Displayed || status == NotificationChannelStatus.New || status == NotificationChannelStatus.Sent)
{
query = query.Where(x =>
x.WebChannelStatus == NotificationChannelStatus.Displayed.ToString() |
x.WebChannelStatus == NotificationChannelStatus.New.ToString() |
x.WebChannelStatus == NotificationChannelStatus.Sent.ToString());
}
else if (status == NotificationChannelStatus.Displayed || status == NotificationChannelStatus.Read || status == NotificationChannelStatus.Sent)
{
query = query.Where(x =>
x.WebChannelStatus == NotificationChannelStatus.Displayed.ToString() |
x.WebChannelStatus == NotificationChannelStatus.Read.ToString() |
x.WebChannelStatus == NotificationChannelStatus.Sent.ToString());
}
else if (status == NotificationChannelStatus.Displayed || status == NotificationChannelStatus.New)
{
query = query.Where(x =>
x.WebChannelStatus == NotificationChannelStatus.Displayed.ToString() |
x.WebChannelStatus == NotificationChannelStatus.New.ToString());
}
else if (status == NotificationChannelStatus.Displayed || status == NotificationChannelStatus.Read)
{
query = query.Where(x =>
x.WebChannelStatus == NotificationChannelStatus.New.ToString() |
x.WebChannelStatus == NotificationChannelStatus.Read.ToString());
}
else if (status == NotificationChannelStatus.Displayed || status == NotificationChannelStatus.Sent)
{
query = query.Where(x =>
x.WebChannelStatus == NotificationChannelStatus.Displayed.ToString() |
x.WebChannelStatus == NotificationChannelStatus.Sent.ToString());
}
else if (status == NotificationChannelStatus.New || status == NotificationChannelStatus.Read || status == NotificationChannelStatus.Sent)
{
query = query.Where(x =>
x.WebChannelStatus == NotificationChannelStatus.New.ToString() |
x.WebChannelStatus == NotificationChannelStatus.Read.ToString() |
x.WebChannelStatus == NotificationChannelStatus.Sent.ToString());
}
else if (status == NotificationChannelStatus.New || status == NotificationChannelStatus.Read)
{
query = query.Where(x =>
x.WebChannelStatus == NotificationChannelStatus.New.ToString() |
x.WebChannelStatus == NotificationChannelStatus.Read.ToString());
}
else if (status == NotificationChannelStatus.New || status == NotificationChannelStatus.Sent)
{
query = query.Where(x =>
x.WebChannelStatus == NotificationChannelStatus.New.ToString() |
x.WebChannelStatus == NotificationChannelStatus.Sent.ToString());
}
else if (status == NotificationChannelStatus.Read || status == NotificationChannelStatus.Sent)
{
query = query.Where(x =>
x.WebChannelStatus == NotificationChannelStatus.Read.ToString() |
x.WebChannelStatus == NotificationChannelStatus.Sent.ToString());
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment