public CervejaLagger(MateriaPrima materiaPrima)
        {
            if (!ValidacaoMateriaPrima
                .MateriaPrimaCervejaContemElementosNecessarios(materiaPrima))
            {
                throw new OperationCanceledException("Não é possível fabricar cerveja lagger sem os elementos necessários");
            }

            ValorUnitario      = 5.00m;
            TipoCerveja        = TipoCerveja.Lagger;
            HorasDeFermentacao = 48;
        }
        public CervejaPilsen(MateriaPrima materiaPrima)
        {
            if (!ValidacaoMateriaPrima
                .MateriaPrimaCervejaContemElementosNecessarios(materiaPrima))
            {
                throw new OperationCanceledException("Não é possível fabricar cerveja pilsen sem os elementos necessários");
            }

            ValorUnitario      = 3.50m;
            TipoCerveja        = TipoCerveja.Pilsen;
            HorasDeFermentacao = 12;
        }
 private static CervejaLagger FabricarCervejaLagger(MateriaPrima materiaPrima)
 {
     return(new CervejaLagger(materiaPrima));
 }
 private static CervejaPilsen FabricarCervejaPilsen(MateriaPrima materiaPrima)
 {
     return(new CervejaPilsen(materiaPrima));
 }