public DateTime?RecuperarDataExpiracao(LicencaTipo licencaTipo) { DateTime?result; switch (licencaTipo) { case LicencaTipo.DoisDias: result = DateTime.UtcNow.AddDays(2); break; case LicencaTipo.Vitalicio: result = null; break; default: throw new ArgumentOutOfRangeException(); } return(result); }
private decimal CalcularPreco(ClienteStatus status, DateTime?dataExpiracaoStatus, LicencaTipo licencaTipo) { decimal valor; switch (licencaTipo) { case LicencaTipo.DoisDias: valor = 4; break; case LicencaTipo.Vitalicio: valor = 8; break; default: throw new ArgumentOutOfRangeException(); } if (status == ClienteStatus.Avancado && (dataExpiracaoStatus == null || dataExpiracaoStatus.Value >= DateTime.UtcNow)) { valor = valor * 0.75m; } return(valor); }