public void QuandoTentoRealizarUmAgendamentoQueJaFoiRealizadoGeraExcecao() { Quota quota = DefaultObjects.ObtemQuotaDeDescarregamento(); quota.InformarAgendamento(new AgendamentoDeDescarregamentoSalvarVm { IdQuota = quota.Id, Placa = "IOQ5338", NotasFiscais = new List <NotaFiscalVm> { DefaultObjects.ObtemNotaFiscalVmPadrao() } }); quota.RealizarAgendamento(0); quota.RealizarAgendamento(0); }
public void Realizar(int idQuota, int idAgendamento) { try { _unitOfWork.BeginTransaction(); Quota quota = _quotas.BuscaPorId(idQuota); quota.RealizarAgendamento(idAgendamento); _quotas.Save(quota); _unitOfWork.Commit(); } catch (Exception) { _unitOfWork.RollBack(); throw; } }
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 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); }