Edit: There was a question in regards to how it would normally be done in this application. Here was the evolution of the usage statement
First Implementation
if (storedIndividual.Status == (int)IndividualStatus.InProgress &&
(individual.StatusModel.Id == (int)IndividualStatus.Submitted ||
individual.StatusModel.Id == (int)IndividualStatus.Disqualified))
{
SetFinishedIndividualFormValues(ref individual);
if (individual.StatusModel.Id == (int)IndividualStatus.Submitted)
{
SendSubmittedFileEmail(individual);
}
}
else if (individual.StatusModel.Id != (int)IndividualStatus.Disqualified)
{
SendStatusChange(individual);
}
Revised Implementation
private void HandleStatusChanges(Models.Database.Individual storedIndividual, ref Models.Domain.IndividualDm individual)
{
if (storedIndividual.Status == (int)IndividualStatus.InProgress &&
(individual.Status == IndividualStatus.Submitted ||
individual.Status == IndividualStatus.Disqualified))
{
SetFinishedIndividualFormValues(ref individual);
if (individual.Status == IndividualStatus.Submitted)
{
SendSubmittedFileEmail(individual);
}
}
else if (individual.Status != IndividualStatus.Disqualified)
{
SendStatusChange(individual);
}
}