public void UpdateCommand_Valido() { var command = new InfracaoUpdateCommand(1, "12345", "descricção", "Amparo Legal", "Medida Adm", false, false, 1, 1, false, false, false, false, false, new DateTime(2000, 1, 1, 0, 0, 0)); command.Validate(); var validacao = command.Invalid; Assert.False(validacao); }
public void UpdateCommand_Invalido() { var command = new InfracaoUpdateCommand(0, "12345", "descricção", "Amparo Legal", "Medida Adm", false, false, 1, 1, false, false, false, false, false, new DateTime(2000, 1, 1, 0, 0, 0)); command.Validate(); var validacaoId = command.Invalid; command = new InfracaoUpdateCommand(1, "1234", "descricção", "Amparo Legal", "Medida Adm", false, false, 1, 1, false, false, false, false, false, new DateTime(2000, 1, 1, 0, 0, 0)); command.Validate(); var validacaoNomeCurto = command.Invalid; command = new InfracaoUpdateCommand(1, "123456", "descricção", "Amparo Legal", "Medida Adm", false, false, 1, 1, false, false, false, false, false, new DateTime(2000, 1, 1, 0, 0, 0)); command.Validate(); var validacaoNomeLongo = command.Invalid; Assert.True(validacaoId); Assert.True(validacaoNomeCurto); Assert.True(validacaoNomeLongo); }
public GenericResult Exec(InfracaoUpdateCommand command) { GrupoModel grupoModel = _repositoryGrupo.GetById(command.GrupoId); if (grupoModel == null) { command.AddNotification("GrupoId", "Grupo Inexistente"); } NaturezaModel naturezaModel = _repositoryNatureza.GetById(command.NaturezaId); if (naturezaModel == null) { command.AddNotification("Natureza", "Natureza Inexistente"); } InfracaoModel model = _repository.GetByCodigoEValidadeInicio(command.Codigo, command.ValidadeInicio); if ((model != null) && (model.Id != command.Id)) { command.AddNotification("Codigo e ValidadeInicio", "Par (Código e Validade) já existente para o id:" + model.Id.ToString()); } model = _repository.GetById(command.Id); if (model == null) { command.AddNotification("Id", "Recurso Inexistente"); } command.Validate(); if (command.Invalid) { return(new GenericResult(400, "Recurso Inválido", command.Notifications)); } model.Atualizar( command.Codigo, command.Descricao, command.AmparoLegal, command.MedidaAdm, command.Crime, command.ObsObrigatoria, command.GrupoId, command.NaturezaId, command.CompetenciaMunicipal, command.CompetenciaEstadual, command.CompetenciaRodoviaria, command.InfratorCondutor, command.InfratorProprietario, command.ValidadeInicio ); // inicio Enquadrando InfracaoModel infracaoMenor = _repository.GetByCodigoValidadeInicioMenor(command.Id, command.Codigo, command.ValidadeInicio); InfracaoModel infracaoMaior = _repository.GetByCodigoValidadeInicioMaior(command.Id, command.Codigo, command.ValidadeInicio); if (infracaoMenor != null) { infracaoMenor.SetDataFim(command.ValidadeInicio.AddDays(-1)); } if (infracaoMaior != null) { model.SetDataFim(infracaoMaior.ValidadeInicio.AddDays(-1)); } // fim Enquadrando try { if (infracaoMenor != null) { _repository.Update(infracaoMenor); } _repository.Update(model); model = _repository.GetById(model.Id); return(new GenericResult(200, "Recurso Atualizado", model)); } catch (System.Exception ex) { return(new GenericResult(503, ex.GetBaseException().Message, null)); } }