コード例 #1
0
        public void QuandoCrioUmProcessoDeCotacaoDeFreteAsPropriedadesFicamCorretas()
        {
            Produto         produto             = DefaultObjects.ObtemProdutoPadrao();
            UnidadeDeMedida unidadeDeMedida     = DefaultObjects.ObtemUnidadeDeMedidaPadrao();
            Itinerario      itinerario          = DefaultObjects.ObtemItinerarioPadrao();
            var             dataLimiteDeRetorno = DateTime.Today.AddDays(10);
            var             dataValidadeInicial = DateTime.Today.AddMonths(1);
            var             dataValidadeFinal   = DateTime.Today.AddMonths(2);
            var             processo            = new ProcessoDeCotacaoDeFrete("Requisitos do Processo de Cotação de Fretes",
                                                                               "10001", dataLimiteDeRetorno, dataValidadeInicial, dataValidadeFinal, itinerario);

            processo.AdicionarItem(produto, 100, unidadeDeMedida);

            var item = processo.Itens.First();

            //Assert.AreSame(produto, processo.Produto);
            //Assert.AreEqual(100, processo.Quantidade);
            //Assert.AreSame(unidadeDeMedida, processo.UnidadeDeMedida);
            Assert.AreSame(produto, item.Produto);
            Assert.AreEqual(100, item.Quantidade);
            Assert.AreSame(unidadeDeMedida, item.UnidadeDeMedida);

            Assert.AreEqual("Requisitos do Processo de Cotação de Fretes", processo.Requisitos);
            Assert.AreEqual("10001", processo.NumeroDoContrato);
            Assert.AreEqual(dataLimiteDeRetorno, processo.DataLimiteDeRetorno);
            Assert.AreEqual(dataValidadeInicial, processo.DataDeValidadeInicial);
            Assert.AreEqual(dataValidadeFinal, processo.DataDeValidadeFinal);
            Assert.AreSame(itinerario, processo.Itinerario);
        }
コード例 #2
0
        public static ProcessoDeCotacaoDeFrete ObtemProcessoDeCotacaoDeFreteComProdutoEspecifico(Produto produto)
        {
            var processo = new ProcessoDeCotacaoDeFrete("Requisitos do Processo de Cotação de Frete", "1000", DateTime.Today.AddDays(10),
                                                        DateTime.Today.AddMonths(1), DateTime.Today.AddMonths(2), ObtemItinerarioPadrao());

            processo.AdicionarItem(produto, 100, ObtemUnidadeDeMedidaPadrao());
            return(processo);
        }
コード例 #3
0
        public static ProcessoDeCotacaoDeFrete ObtemProcessoDeCotacaoDeFreteSemNumeroDeContrato()
        {
            var processo = new ProcessoDeCotacaoDeFrete("Requisitos do Processo de Cotação de Frete", null, DateTime.Today.AddDays(10),
                                                        DateTime.Today.AddMonths(1), DateTime.Today.AddMonths(2), ObtemItinerarioPadrao());

            processo.AdicionarItem(ObtemProdutoPadrao(), 100, ObtemUnidadeDeMedidaPadrao());
            return(processo);
        }
コード例 #4
0
        public static ProcessoDeCotacaoDeFrete ObtemProcessoDeCotacaoDeFreteComCadastrosExistentes()
        {
            var produto         = new Produto("000000000000000007", "BORRA NEUTRALIZADA DE SOJA", "FERT");
            var unidadeDeMedida = new UnidadeDeMedida("TON", "TON", "Toneladas");
            var itinerario      = new Itinerario("010330", "RS Rio Grande -> BA Formosa Do Rio Preto");

            var processo = new ProcessoDeCotacaoDeFrete("Requisitos do Processo de Cotação de Frete", null, DateTime.Today.AddDays(10),
                                                        DateTime.Today.AddMonths(1), DateTime.Today.AddMonths(2), itinerario);

            processo.AdicionarItem(produto, 100, unidadeDeMedida);

            return(processo);
        }
コード例 #5
0
        public ProcessoDeCotacaoDeFrete CriarProcesso(string requisitos, string numeroDoContrato, DateTime dataLimiteDeRetorno, DateTime dataDeValidadeInicial,
                                                      DateTime dataDeValidadeFinal, Itinerario itinerario)
        {
            var processoDeCotacao = new ProcessoDeCotacaoDeFrete(requisitos, numeroDoContrato, dataLimiteDeRetorno, dataDeValidadeInicial, dataDeValidadeFinal, itinerario);

            if (_itens.Count == 0)
            {
                throw new ProcessoDeCotacaoSemItemException();
            }
            foreach (var item in _itens)
            {
                processoDeCotacao.AdicionarItem(item.Produto, item.Quantidade, item.UnidadeDeMedida);
            }
            return(processoDeCotacao);
        }