public void ConsigoConsultarUmAgendamentoPelaPlaca() { Quota quota = DefaultObjects.ObtemQuotaDeDescarregamento(); //AgendamentoDeDescarregamento agendamento = DefaultObjects.ObtemAgendamentoDeDescarregamento(quota); var agendamentoVm = new AgendamentoDeDescarregamentoSalvarVm { IdQuota = quota.Id, Placa = "IMN1620", IdAgendamento = 0, NotasFiscais = new List <NotaFiscalVm> { new NotaFiscalVm { Numero = "12345", Serie = "1", DataDeEmissao = DateTime.Today.ToShortDateString(), CnpjDoEmitente = "123", NomeDoEmitente = "Emitente", CnpjDoContratante = "666", NomeDoContratante = "contratante", NumeroDoContrato = "4001", Peso = 100, Valor = 150 } } }; quota.InformarAgendamento(agendamentoVm); DefaultPersistedObjects.PersistirQuota(quota); var consultaQuota = ObjectFactory.GetInstance <IConsultaQuota>(); UnitOfWorkNh.Session.Clear(); var filtro = new ConferenciaDeCargaFiltroVm { CodigoTerminal = "1000", Placa = "IMN1620" }; KendoGridVm kendoGridVm = consultaQuota.Consultar(new PaginacaoVm { Page = 1, PageSize = 10, Take = 10 }, filtro); Assert.AreEqual(1, kendoGridVm.QuantidadeDeRegistros); }
public void ConsultaPrevistoRealizadoFiltraPorFornecedorCorretamente() { //cria duas quotas, dois fornecedores. Os fornecedores tem agendamentos nas duas quotas. //Apenas uma das quotas de cada fornecedor está realizada. RemoveQueries.RemoverQuotasCadastradas(); Fornecedor fornecedor1 = DefaultObjects.ObtemFornecedorPadrao(); Fornecedor fornecedor2 = DefaultObjects.ObtemFornecedorPadrao(); var quota1 = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor1, "1000", DateTime.Today.AddDays(1), 100); var quota2 = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor1, "1000", DateTime.Today.AddDays(2), 200); var quota3 = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor2, "1000", DateTime.Today.AddDays(1), 150); var quota4 = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor2, "1000", DateTime.Today.AddDays(2), 250); DefaultPersistedObjects.PersistirQuota(quota1); DefaultPersistedObjects.PersistirQuota(quota2); DefaultPersistedObjects.PersistirQuota(quota3); DefaultPersistedObjects.PersistirQuota(quota4); AgendamentoDeCarregamento agendamento1 = quota1.InformarAgendamento(new AgendamentoDeCarregamentoCadastroVm { Placa = "IOQ3434", Peso = 30 }); AgendamentoDeCarregamento agendamento2 = quota4.InformarAgendamento(new AgendamentoDeCarregamentoCadastroVm { Placa = "IOQ3435", Peso = 250 }); DefaultPersistedObjects.PersistirQuota(quota1); DefaultPersistedObjects.PersistirQuota(quota4); quota1.RealizarAgendamento(agendamento1.Id); quota4.RealizarAgendamento(agendamento2.Id); DefaultPersistedObjects.PersistirQuota(quota1); DefaultPersistedObjects.PersistirQuota(quota4); var consultaQuotaRelatorio = ObjectFactory.GetInstance <IConsultaQuotaRelatorio>(); IList <QuotaPlanejadoRealizadoVm> quotas = consultaQuotaRelatorio.PlanejadoRealizado( new RelatorioAgendamentoFiltroVm { CodigoTerminal = "1000", CodigoFornecedor = fornecedor1.Codigo }); Assert.AreEqual(1, quotas.Count); }
public void QuandoRealizoUmAgendamentoFicaRealizado() { Quota quota = DefaultObjects.ObtemQuotaDeDescarregamento(); quota.InformarAgendamento(new AgendamentoDeDescarregamentoSalvarVm { IdQuota = quota.Id, Placa = "IOQ5338", NotasFiscais = new List <NotaFiscalVm> { DefaultObjects.ObtemNotaFiscalVmPadrao() } }); quota.RealizarAgendamento(0); Assert.IsTrue(quota.Agendamentos.First().Realizado); }
public void QuandoRealizaUmAgendamentoPesoDoAgendamentoESomadoNoPesoRealizadoDaQuota() { Quota quota = DefaultObjects.ObtemQuotaDeDescarregamento(); quota.InformarAgendamento(new AgendamentoDeDescarregamentoSalvarVm { IdQuota = quota.Id, Placa = "IOQ5338", NotasFiscais = new List <NotaFiscalVm> { DefaultObjects.ObtemNotaFiscalVmPadrao() } }); Assert.AreEqual(0, quota.PesoRealizado); quota.RealizarAgendamento(0); Assert.AreEqual(50, quota.PesoRealizado); }
public QuotaPesoVm SalvarAgendamentoDeCarregamento(AgendamentoDeCarregamentoCadastroVm agendamentoDeCarregamentoCadastroVm) { try { _unitOfWork.BeginTransaction(); Quota quota = _quotas.BuscaPorId(agendamentoDeCarregamentoCadastroVm.IdQuota); quota.InformarAgendamento(agendamentoDeCarregamentoCadastroVm); _quotas.Save(quota); _unitOfWork.Commit(); return(_builderQuotaPeso.BuildSingle(quota)); } catch (Exception) { _unitOfWork.RollBack(); throw; } }
public void QuandoAdicionoAgendamentosCalculaOPesoAgendadoCorretamente() { //peso total é 850 Quota quota = DefaultObjects.ObtemQuotaDeDescarregamento(); quota.InformarAgendamento(new AgendamentoDeDescarregamentoSalvarVm() { IdQuota = quota.Id, IdAgendamento = 0, Placa = "IMN2420", NotasFiscais = new List <NotaFiscalVm> { DefaultObjects.ObtemNotaFiscalVmComPesoEspecifico(180), DefaultObjects.ObtemNotaFiscalVmComPesoEspecifico(230) } }); Assert.AreEqual(410, quota.PesoAgendado); }
public void ConsultaPrevistoRealizadoPorDataRetornaOsValoresAgrupadosCorretamente() { //cria duas quotas, dois fornecedores. Os fornecedores tem agendamentos nas duas quotas. //Apenas uma das quotas de cada fornecedor está realizada. RemoveQueries.RemoverQuotasCadastradas(); Fornecedor fornecedor1 = DefaultObjects.ObtemFornecedorPadrao(); Fornecedor fornecedor2 = DefaultObjects.ObtemFornecedorPadrao(); var quota1 = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor1, "1000", DateTime.Today.AddDays(1), 100); var quota2 = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor1, "1000", DateTime.Today.AddDays(2), 200); var quota3 = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor2, "1000", DateTime.Today.AddDays(1), 150); var quota4 = new Quota(Enumeradores.MaterialDeCarga.Farelo, fornecedor2, "1000", DateTime.Today.AddDays(2), 250); DefaultPersistedObjects.PersistirQuota(quota1); DefaultPersistedObjects.PersistirQuota(quota2); DefaultPersistedObjects.PersistirQuota(quota3); DefaultPersistedObjects.PersistirQuota(quota4); AgendamentoDeCarregamento agendamento1 = quota1.InformarAgendamento(new AgendamentoDeCarregamentoCadastroVm { Placa = "IOQ3434", Peso = 30 }); AgendamentoDeCarregamento agendamento2 = quota4.InformarAgendamento(new AgendamentoDeCarregamentoCadastroVm { Placa = "IOQ3435", Peso = 250 }); DefaultPersistedObjects.PersistirQuota(quota1); DefaultPersistedObjects.PersistirQuota(quota4); quota1.RealizarAgendamento(agendamento1.Id); quota4.RealizarAgendamento(agendamento2.Id); DefaultPersistedObjects.PersistirQuota(quota1); DefaultPersistedObjects.PersistirQuota(quota4); var consultaQuotaRelatorio = ObjectFactory.GetInstance <IConsultaQuotaRelatorio>(); IList <QuotaPlanejadoRealizadoPorDataVm> quotas = consultaQuotaRelatorio.PlanejadoRealizadoPorData( new RelatorioAgendamentoFiltroVm { CodigoTerminal = "1000" }); Assert.AreEqual(4, quotas.Count); //Assert Fornecedor 1 - Dia 1 QuotaPlanejadoRealizadoPorDataVm planejadoRealizadoFornecedor1 = quotas .First(x => x.NomeDoFornecedor == fornecedor1.Codigo + " - " + fornecedor1.Nome && x.Data == DateTime.Today.AddDays(1).ToShortDateString()); Assert.AreEqual(fornecedor1.Codigo + " - " + fornecedor1.Nome, planejadoRealizadoFornecedor1.NomeDoFornecedor); Assert.AreEqual("1000", planejadoRealizadoFornecedor1.CodigoTerminal); Assert.AreEqual(quota1.FluxoDeCarga.Descricao(), planejadoRealizadoFornecedor1.FluxoDeCarga); Assert.AreEqual(100, planejadoRealizadoFornecedor1.Quota); Assert.AreEqual(30, planejadoRealizadoFornecedor1.PesoRealizado); //Assert Fornecedor 1 - Dia 2 planejadoRealizadoFornecedor1 = quotas .First(x => x.NomeDoFornecedor == fornecedor1.Codigo + " - " + fornecedor1.Nome && x.Data == DateTime.Today.AddDays(2).ToShortDateString()); Assert.AreEqual(fornecedor1.Codigo + " - " + fornecedor1.Nome, planejadoRealizadoFornecedor1.NomeDoFornecedor); Assert.AreEqual("1000", planejadoRealizadoFornecedor1.CodigoTerminal); Assert.AreEqual(quota1.FluxoDeCarga.Descricao(), planejadoRealizadoFornecedor1.FluxoDeCarga); Assert.AreEqual(200, planejadoRealizadoFornecedor1.Quota); Assert.AreEqual(0, planejadoRealizadoFornecedor1.PesoRealizado); //Assert Fornecedor 2 - Dia 1 QuotaPlanejadoRealizadoVm planejadoRealizadoFornecedor2 = quotas .First(x => x.NomeDoFornecedor == fornecedor2.Codigo + " - " + fornecedor2.Nome && x.Data == DateTime.Today.AddDays(1).ToShortDateString()); Assert.AreEqual(fornecedor2.Codigo + " - " + fornecedor2.Nome, planejadoRealizadoFornecedor2.NomeDoFornecedor); Assert.AreEqual("1000", planejadoRealizadoFornecedor2.CodigoTerminal); Assert.AreEqual(quota1.FluxoDeCarga.Descricao(), planejadoRealizadoFornecedor2.FluxoDeCarga); Assert.AreEqual(150, planejadoRealizadoFornecedor2.Quota); Assert.AreEqual(0, planejadoRealizadoFornecedor2.PesoRealizado); //Assert Fornecedor 2 - Dia 2 planejadoRealizadoFornecedor2 = quotas .First(x => x.NomeDoFornecedor == fornecedor2.Codigo + " - " + fornecedor2.Nome && x.Data == DateTime.Today.AddDays(2).ToShortDateString()); Assert.AreEqual(fornecedor2.Codigo + " - " + fornecedor2.Nome, planejadoRealizadoFornecedor2.NomeDoFornecedor); Assert.AreEqual("1000", planejadoRealizadoFornecedor2.CodigoTerminal); Assert.AreEqual(quota1.FluxoDeCarga.Descricao(), planejadoRealizadoFornecedor2.FluxoDeCarga); Assert.AreEqual(250, planejadoRealizadoFornecedor2.Quota); Assert.AreEqual(250, planejadoRealizadoFornecedor2.PesoRealizado); }