I have a condition in my code where I need to put a lot of nested else if
statements. However, I have managed to reduce some if
cases by applying ternary operator, so that code looks nice and is readable. But still I am not satisfied with the result. I would like to remove rest of the If cases too and make code better.
if (!string.IsNullOrEmpty(SessionValues.AccessToken))
{
eventstatuscode = "logged";
EventStatus eventStatus = rb.GetEventStatus();
if (eventStatus != null)
{
if (!string.IsNullOrEmpty(eventStatus.cancelDate))
{
eventstatuscode = DateTime.Parse(eventDetails.signUpDeadline) < DateTime.Now ? "expired": eventstatuscode;
}
else if (string.IsNullOrEmpty(eventStatus.cancelDate))
{
eventstatuscode = eventStatus.onWaitingList ? "waitinglist" : eventstatuscode;
eventstatuscode = eventStatus.onWaitingList == false ? "accepted" : eventstatuscode;
}
}
else
{
eventstatuscode = DateTime.Parse(eventDetails.signUpDeadline) < DateTime.Now ? "expired" : eventstatuscode;
}
}
Can anyone suggest more optimization in this code block?