Sending email for allotment Requirement: 

If the bookshop manager field changes from A to B, I need to email the person B saying that the new Bookshop has been allotted to him and he has to do certain activities. 

private void SendEmailToAllottedManager()
{
   EmailExpress mEmailExpress = new EmailExpress();
   mEmailExpress.SendEmail(Shop.Bookstore.BookstoreName, Subject);
}


In the method where I am calling SendEmailToAllottedManager, I am checking if the Manager has indeed changed or not as below:

if (OriginalManager != CurrentManager)
{
    SendEmailToAllottedManager();
}


During code review, a colleague suggested that I move the check from outside the function SendEmailToAllottedManager() to inside it:

Proposed Code

private void SendEmailToAllottedManager()
{
    if (OriginalManager != CurrentManager)
    {
          EmailExpress mEmailExpress = new EmailExpress();
          mEmailExpress.SendEmail(Shop.Bookstore.BookstoreName, Subject);
    }

}


I maintain my stand that the function SendEmailToAllottedManager is only about emailing and not about performing the checks, etc.

What do you think?
I would say, that actually sending the email is part of the process of changing the store manager. It's part of the business logic (AFAIK), that when a store changes it's manager, the new manager should be notified, among other things.

Thats why the check if the manager changes is not a job for the email sender at all. The email sender should be a utility, which can be reused.