I wonder if I should divide this class into two, since it contains two ifs with different messages. Would breaking it down be in keeping with the S of SOLID?internal class ValidDateApuration : IBusineeOfValidation<DtoFormGnre>{    public MessageValidation Validar(DtoFormGnre obj)    {        var paymentDate = Convert.ToDateTime(obj.Date);        var today = DateTime.Today.AddDays(-DateTime.Now.Day + 1);        var messageValidation = new MessageValidation { isValid = true };        if ((paymentDate <= new DateTime(2016, 01, 01)))        {            messageValidation.isValid = false;            messageValidation.Mensage = string.Format(Xxx...!);        }        if (today > new DateTime(2016, 01, 01))        {            var campareResult = DateTime.Compare(today, paymentDate);            if (campareResult == 0)            {                if (today.Month == 2)                {                    messageValidation.isValid = false;                    messageValidation.Mensagem = YYYYYYY!;                }                else                {                    messageValidation.isValid = false;                    messageValidation.Mensagem = string.Format(ZZzzzzzzz!);                }            }            if (campareResult >= 1)            {                messageValidation.isValid = true;                messageValidation.Mensage = ;            }        }        return messageValidation;    }}
Message validation rules
c#;object oriented