示例#1
0
        public void AgregarBultos(Politica politicaServicio, Bulto bulto)
        {
            if (!IsInProgress)
            {
                return;
            }

            Peso pesoTotal = new Peso(UnidadPeso.Gramo, 0d);

            foreach (var item in _bultos)
            {
                pesoTotal = pesoTotal + item.Peso.CambiarAGramos();
            }

            pesoTotal = pesoTotal + bulto.Peso.CambiarAGramos();

            if (!politicaServicio.EsPesoValido(pesoTotal))
            {
                throw new ArgumentException("Invalid by policy");
            }

            _bultos.Add(bulto);
        }