/// <summary> /// Método para recuperar objetos armazenados no contexto do BDD, a partir de flags /// </summary> /// <param name="flags">tipos a serem carregados</param> /// <returns>uma hastable com os objetos carregados através das flags</returns> private Hashtable CarregarObjetosContexto(StepEdicaoCronogramaHelperFlag flags) { Hashtable hash = new Hashtable(); CronogramaDto cronograma = null; UsuarioCronogramaBindHelper usuario = null; if (flags.HasFlag(StepEdicaoCronogramaHelperFlag.Usuario)) { CarregarDoContextoAtualBDD(USUARIO_ATUAL, out usuario); hash.Add(USUARIO_ATUAL, usuario); } if (flags.HasFlag(StepEdicaoCronogramaHelperFlag.Cronograma)) { CarregarDoContextoAtualBDD(CRONOGRAMA_ATUAL, out cronograma); hash.Add(CRONOGRAMA_ATUAL, cronograma); } if (flags.HasFlag(StepEdicaoCronogramaHelperFlag.CronogramaPresenter)) { hash.Add(CRONOGRAMA_PRESENTER, CarregarDoContextoAtualBDD <CronogramaPresenter>(CriarChave(FORMATO_CHAVE_PRESENTER, cronograma.TxDescricao, usuario.Nome))); } if (flags.HasFlag(StepEdicaoCronogramaHelperFlag.ViewMock)) { hash.Add(VIEW_MOCK, CarregarDoContextoAtualBDD <Mock <ICronogramaView> >(CriarChave(FORMATO_CHAVE_VIEW_MOCK, cronograma.TxDescricao, usuario.Nome))); } if (flags.HasFlag(StepEdicaoCronogramaHelperFlag.AccessClientMock)) { hash.Add(ACCESS_CLIENT_MOCK, CarregarDoContextoAtualBDD <Mock <IWexMultiAccessClient> >(CriarChave(FORMATO_CHAVE_ACCESS_CLIENT_MOCK, cronograma.TxDescricao, usuario.Nome))); } return(hash); }
public void DeveSalvarOsNovosDadosDoCronogramaQuandoForAlteradaASituacaoPlanejamento() { var naoIniciado = new SituacaoPlanejamento() { Oid = Guid.NewGuid(), CsPadrao = CsPadraoSistema.Não, CsSituacao = CsTipoSituacaoPlanejamento.Ativo, CsTipo = CsTipoPlanejamento.Planejamento }; contexto.SituacaoPlanejamento.Add(naoIniciado); contexto.SaveChanges(); var cronograma = CronogramaBo.CriarCronogramaPadrao(contexto); var dto = new CronogramaDto { Oid = cronograma.Oid, DtInicio = cronograma.DtInicio, DtFinal = cronograma.DtFinal, OidSituacaoPlanejamento = naoIniciado.Oid, TxDescricao = cronograma.TxDescricao }; Assert.AreNotEqual(naoIniciado.Oid, cronograma.OidSituacaoPlanejamento, "a situação de planejamento devem ser inicialmente diferentes"); Assert.IsTrue(CronogramaBo.EditarCronograma(dto), "Deveria ter salvo a edição do cronograma"); contexto.Entry(cronograma).Reload(); Assert.AreEqual(dto.TxDescricao, cronograma.TxDescricao, "Deveria ter salvo o nome do cronograma"); Assert.AreEqual(dto.DtInicio, cronograma.DtInicio, "Deveria ter salvo a data de inicio do cronograma"); Assert.AreEqual(dto.DtFinal, cronograma.DtFinal, "Deveria ter salvo a data de termino do cronograma"); Assert.AreEqual(dto.OidSituacaoPlanejamento, cronograma.OidSituacaoPlanejamento, "Deveria ter salvo a nova situação planejamento de termino do cronograma"); }
/// <summary> /// Método responsável por editar os dados de um cronograma /// </summary> /// <param name="cronogramaDto">dados do cronograma editado</param> /// <returns>verdadeiro caso tenha sido editado e falso caso contrário</returns> public static bool EditarCronograma(CronogramaDto cronogramaDto) { if (cronogramaDto == null || cronogramaDto.Oid == new Guid()) { return(false); } var cronograma = CronogramaDao.ConsultarCronogramaPorOid(cronogramaDto.Oid, o => o.SituacaoPlanejamento.Cronogramas); if (cronograma == null) { return(false); } var dtoCronogramaBaseDados = CronogramaBo.DtoFactory(cronograma); if (ComparadorGenerico.HouveMudancaEm(dtoCronogramaBaseDados, cronogramaDto, o => o.TxDescricao)) { return(AlterarDescricaoCronograma(cronogramaDto.Oid, cronogramaDto.TxDescricao)); } if (!ValidarDatasCronograma(cronogramaDto) || !ComparadorGenerico.HouveMudancaEm(dtoCronogramaBaseDados, cronogramaDto, o => o.OidSituacaoPlanejamento, o => o.DtInicio, o => o.DtFinal)) { return(false); } AtualizarDadosCronograma(cronograma, cronogramaDto); return(CronogramaDao.SalvarCronograma(cronograma)); }
public void NaoDeveSalvarAsDatasDoCronogramaQuandoADataInicioForMaiorQueADataTerminoDoCronograma() { var situacao = new SituacaoPlanejamento() { Oid = Guid.NewGuid(), CsPadrao = CsPadraoSistema.Sim, CsSituacao = CsTipoSituacaoPlanejamento.Ativo, CsTipo = CsTipoPlanejamento.Planejamento }; contexto.SituacaoPlanejamento.Add(situacao); contexto.SaveChanges(); var cronograma = CronogramaBo.CriarCronogramaPadrao(contexto); var novaData = DateTime.Now.Date.AddDays(1); var novaDataTermino = DateTime.Now.Date.AddDays(-1); var dto = new CronogramaDto { Oid = cronograma.Oid, DtInicio = novaData, DtFinal = novaDataTermino, OidSituacaoPlanejamento = cronograma.OidSituacaoPlanejamento, TxDescricao = cronograma.TxDescricao }; Assert.AreNotEqual(novaData, cronograma.DtFinal, "As datas devem ser inicialmente diferentes"); Assert.IsFalse(CronogramaBo.EditarCronograma(dto), "Deveria ter salvo a edição do cronograma"); contexto.Entry(cronograma).Reload(); Assert.AreNotEqual(dto.DtFinal, cronograma.DtFinal, "Não deveria ter salvo a data de termino do cronograma"); }
public void DevePoderAlterarOsDadosDoCronograma() { var situacao = new SituacaoPlanejamento() { Oid = Guid.NewGuid(), CsPadrao = CsPadraoSistema.Sim, CsSituacao = CsTipoSituacaoPlanejamento.Ativo, CsTipo = CsTipoPlanejamento.Planejamento }; contexto.SituacaoPlanejamento.Add(situacao); contexto.SaveChanges(); var cronograma = CronogramaBo.CriarCronogramaPadrao(contexto); var novaData = DateTime.Now.Date.AddDays(1); const string novaDescricao = "Wex Teste"; var dto = new CronogramaDto { Oid = cronograma.Oid, DtInicio = cronograma.DtInicio, DtFinal = cronograma.DtFinal, OidSituacaoPlanejamento = cronograma.OidSituacaoPlanejamento, TxDescricao = novaDescricao }; Assert.IsTrue(CronogramaBo.EditarCronograma(dto), "Deveria ter salvo a edição do cronograma"); contexto.Entry(cronograma).Reload(); Assert.AreEqual(dto.TxDescricao, cronograma.TxDescricao, "Deveria ter salvo o nome do cronograma"); Assert.AreEqual(dto.DtInicio, cronograma.DtInicio, "Deveria ter salvo a data de inicio do cronograma"); Assert.AreEqual(dto.DtFinal, cronograma.DtFinal, "Deveria ter salvo a data de termino do cronograma"); }
private void RecusarEdicao(CronogramaDto cronogramaAlterado, CronogramaDto cronogramaOriginal) { cronogramaAlterado.TxDescricao = cronogramaOriginal.TxDescricao; cronogramaAlterado.DtInicio = cronogramaOriginal.DtInicio; cronogramaAlterado.DtFinal = cronogramaOriginal.DtFinal; resultadoComparacao = cronogramaOriginal; }
/// <summary> /// Método responsável por buscar todos os cronogramas /// É usado pela tela de cronograma /// </summary> /// <param name="session">Sessão Corrente</param> /// <returns>Lista de Objetos de CronogramaDTO</returns> public static List <CronogramaDto> ConsultarCronogramasDto() { List <CronogramaDto> cronogramasDTO = new List <CronogramaDto>(); List <Cronograma> cronogramas = new List <Cronograma>(); cronogramas = CronogramaDao.ConsultarCronogramas(); if (cronogramas.Count > 0) { foreach (Cronograma cronograma in cronogramas) { CronogramaDto cronoDTO = new CronogramaDto() { Oid = cronograma.Oid, TxDescricao = cronograma.TxDescricao, OidSituacaoPlanejamento = cronograma.SituacaoPlanejamento.Oid, TxDescricaoSituacaoPlanejamento = cronograma.TxDescricaoSituacaoPlanejamento, DtInicio = (DateTime)cronograma.DtInicio, DtFinal = (DateTime)cronograma.DtFinal }; cronogramasDTO.Add(cronoDTO); } } return(cronogramasDTO); }
public void QuandoOCronogramaAtualRecebeuARecusaDeEdicaoDosDados() { var hash = CarregarObjetosContexto(StepEdicaoCronogramaHelperFlag.AccessClientMock); CronogramaDto cronograma = hash[CRONOGRAMA_ATUAL] as CronogramaDto; UsuarioCronogramaBindHelper usuario = hash[USUARIO_ATUAL] as UsuarioCronogramaBindHelper; Mock <IWexMultiAccessClient> clientMock = hash[ACCESS_CLIENT_MOCK] as Mock <IWexMultiAccessClient>; clientMock.Raise(o => o.AoSerRecusadaEdicaoDadosCronograma += null, Mensagem.RnCriarMensagemRecusaEdicaoNomeCronograma(cronograma.Oid.ToString(), usuario.Login)); }
/// <summary> /// Método responsável por validar as datas do cronograma. /// </summary> /// <param name="cronogramaDto">Objeto que contem os dados a serem validados.</param> /// <returns>Se os dados são válidos ou não.</returns> private static bool ValidarDatasCronograma(CronogramaDto cronogramaDto) { if (cronogramaDto.DtInicio < cronogramaDto.DtFinal) { return(true); } return(false); }
/// <summary> /// Método responsável por efetuar a alteração no nome do cronograma /// </summary> /// <param name="oidCronograma">oid do cronograma com nome a ser alterado</param> /// <param name="novaDescricao">novo nome do cronograma</param> public bool EditarCronograma(CronogramaDto cronograma) { //PUT: {base_url}/Cronogramas/ RestRequest requisicao = new RestRequest("Cronogramas"); requisicao.RequestFormat = DataFormat.Json; requisicao.AddBody(cronograma); return(DeserializarResposta(restClient.Put <bool>(requisicao))); }
public void Inicializar() { mockEditor = new Mock <IEditorDadosCronograma>(); mockEditor.Setup(o => o.SalvarEdicaoDadosCronograma(It.IsAny <CronogramaDto>(), It.IsAny <CronogramaDto>())).Callback <CronogramaDto, CronogramaDto>(SalvarEdicao); mockEditor.Setup(o => o.DesfazerEdicaoDadosCronograma(It.IsAny <CronogramaDto>(), It.IsAny <CronogramaDto>())).Callback <CronogramaDto, CronogramaDto>(RecusarEdicao); editor = mockEditor.Object; cronogramaAtual = CriarCronograma("Cronograma 01", DateTime.Now.Date, DateTime.Now.Date.AddDays(10)); gerenciador = new GerenciadorEdicaoCronograma(editor); }
public async Task Update(CronogramaDto dto) { var cronograma = await _cronogramaRepos.GetById(dto.Id); if (cronograma != null) { cronograma = _mapper.Map <Dominio._4._1_Entidades.Cronograma>(dto); await _cronogramaRepos.Update(cronograma); } }
/// <summary> /// Selecionar um cronograma /// </summary> /// <param name="num"></param> public void SelecionarCronograma(int num) { num--; if (num >= cronogramas.Count) { num = cronogramas.Count - 1; } if (num < 0) { num = 0; } cronogramaSelecionado = cronogramas[num]; }
/// <summary> /// Método responsável por sinalizar o inicio da edição dos dados do cronograma /// </summary> public void InicioEdicaoDadosCronograma(CronogramaDto cronograma) { EmEdicaoNaView = true; if (AguardandoRetorno) { return; } AguardandoRetorno = true; _editado = cronograma; _original = cronograma.Clonar(); _editor.ComunicarInicioEdicaoDadosCronograma(); }
public CronogramaDto ConsultarCronogramaPorNome(string nomeCronograma) { CronogramaDto cronograma = cronogramas.FirstOrDefault(o => o.TxDescricao.Equals(nomeCronograma)); if (CriarCronogramaSeNomeNaoExistir) { CriarCronogramaSeNomeNaoExistir = false; if (cronograma == null) { return(CriarCronograma(nomeCronograma)); } } return(cronograma); }
public bool EditarCronograma(CronogramaDto dto) { if (cronogramas == null) { return(false); } CronogramaDto cronograma = cronogramas.FirstOrDefault(o => o.Oid == dto.Oid); if (cronograma == null) { return(false); } cronograma.TxDescricao = dto.TxDescricao; return(true); }
/// <summary> /// Criar um novo cronograma /// </summary> /// <param name="num"></param> /// <returns></returns> public CronogramaDto CriarCronograma(string nomeCronograma, DateTime?dataInicio = null, DateTime?dataTermino = null) { var dtInicio = dataInicio.HasValue ? dataInicio.Value : DateTime.Now; var dtFinal = dataTermino.HasValue ? dataTermino.Value.Date <= dtInicio.Date ? dtInicio.Date.AddDays(15) : dataTermino.Value : DateTime.Now.AddDays(15); CronogramaDto cronograma = new CronogramaDto() { DtInicio = dtInicio, DtFinal = dtFinal, Oid = Guid.NewGuid(), OidSituacaoPlanejamento = situacaoPlanejamentoPadrao.Oid, TxDescricao = nomeCronograma, TxDescricaoSituacaoPlanejamento = situacaoPlanejamentoPadrao.TxDescricao }; cronogramas.Add(cronograma); return(cronograma); }
/// <summary> /// Método responsável por criar um instância de cronograma padrão e retornar para a tela de cronograma /// </summary> /// <returns>Objeto CronogramaDTO</returns> public static CronogramaDto DtoFactory(Cronograma cronograma) { CronogramaDto cronogramaDto = new CronogramaDto(); if (cronograma != null) { cronogramaDto.Oid = cronograma.Oid; cronogramaDto.TxDescricao = cronograma.TxDescricao; cronogramaDto.OidSituacaoPlanejamento = (Guid)cronograma.OidSituacaoPlanejamento; cronogramaDto.TxDescricaoSituacaoPlanejamento = cronograma.SituacaoPlanejamento.TxDescricao; cronogramaDto.DtInicio = (DateTime)cronograma.DtInicio; cronogramaDto.DtFinal = (DateTime)cronograma.DtFinal; return(cronogramaDto); } return(cronogramaDto); }
/// <summary> /// Método responsável por buscar um cronograma pelo nome. /// </summary> /// <param name="session">Sessão Corrente</param> /// <param name="txDescricaoCronograma">Nome do Cronograma</param> /// <returns>Objeto cronograma</returns> public static CronogramaDto ConsultarCronogramaPorOidDto(Guid oidCronograma) { CronogramaDto cronogramaDto = new CronogramaDto(); Cronograma cronograma = CronogramaDao.ConsultarCronogramaPorOid(oidCronograma, o => o.SituacaoPlanejamento); if (cronograma != null) { cronogramaDto.Oid = cronograma.Oid; cronogramaDto.OidSituacaoPlanejamento = cronograma.OidSituacaoPlanejamento; cronogramaDto.TxDescricao = cronograma.TxDescricao; cronogramaDto.TxDescricaoSituacaoPlanejamento = cronograma.SituacaoPlanejamento.TxDescricao; cronogramaDto.DtInicio = (DateTime)cronograma.DtInicio; cronogramaDto.DtFinal = (DateTime)cronograma.DtFinal; return(cronogramaDto); } return(null); }
/// <summary> /// Método responsável por buscar um cronograma pelo nome. /// </summary> /// <param name="session">Sessão Corrente</param> /// <param name="txDescricaoCronograma">Nome do Cronograma</param> /// <returns>Objeto cronograma</returns> public static CronogramaDto ConsultarCronogramaPorNomeDto(WexDb contexto, string txDescricaoCronograma) { CronogramaDto cronogramaDto = new CronogramaDto(); Cronograma cronograma = CronogramaDao.ConsultarCronogramaPorNome(contexto, txDescricaoCronograma); if (cronograma != null) { cronogramaDto.Oid = cronograma.Oid; cronogramaDto.OidSituacaoPlanejamento = cronograma.SituacaoPlanejamento.Oid; cronogramaDto.TxDescricao = cronograma.TxDescricao; cronogramaDto.TxDescricaoSituacaoPlanejamento = cronograma.SituacaoPlanejamento.TxDescricao; cronogramaDto.DtInicio = (DateTime)cronograma.DtInicio; cronogramaDto.DtFinal = (DateTime)cronograma.DtFinal; return(cronogramaDto); } return(null); }
/// <summary> /// Método responsável por recuperar o último cronograma acessado por um usuário /// É usado pela tela de cronograma /// </summary> /// <param name="contexto">Contexto do banco</param> /// <param name="login">Login do Usuário</param> /// <returns>Objeto CronogramaDTO</returns> public static CronogramaDto ConsultarUltimoCronogramaSelecionadoDto(WexDb contexto, string login) { CronogramaDto cronogramaDTO = new CronogramaDto(); Cronograma cronograma = CronogramaUltimaSelecaoDao.ConsultarUltimoCronogramaSelecionado(contexto, login); if (cronograma != null) { cronogramaDTO.Oid = cronograma.Oid; cronogramaDTO.TxDescricao = cronograma.TxDescricao; cronogramaDTO.OidSituacaoPlanejamento = cronograma.SituacaoPlanejamento.Oid; cronogramaDTO.TxDescricaoSituacaoPlanejamento = cronograma.SituacaoPlanejamento.TxDescricao; cronogramaDTO.DtInicio = (DateTime)cronograma.DtInicio; cronogramaDTO.DtFinal = (DateTime)cronograma.DtFinal; } else { cronogramaDTO = null; } return(cronogramaDTO); }
public void DeveSalvarOsNovosDadosDoCronogramaQuandoADataFinalForAlterada() { var cronograma = CronogramaBo.CriarCronogramaPadrao(contexto); var novaData = DateTime.Now.Date.AddDays(1); var dto = new CronogramaDto { Oid = cronograma.Oid, DtInicio = cronograma.DtInicio, DtFinal = novaData, OidSituacaoPlanejamento = cronograma.OidSituacaoPlanejamento, TxDescricao = cronograma.TxDescricao }; Assert.AreNotEqual(novaData, cronograma.DtFinal, "As datas devem ser inicialmente diferentes"); Assert.IsTrue(CronogramaBo.EditarCronograma(dto), "Deveria ter salvo a edição do cronograma"); contexto.Entry(cronograma).Reload(); Assert.AreEqual(dto.TxDescricao, cronograma.TxDescricao, "Deveria ter salvo o nome do cronograma"); Assert.AreEqual(dto.DtInicio, cronograma.DtInicio, "Deveria ter salvo a data de inicio do cronograma"); Assert.AreEqual(dto.DtFinal, cronograma.DtFinal, "Deveria ter salvo a data de termino do cronograma"); }
private void SalvarEdicao(CronogramaDto cronogramaAlterado, CronogramaDto cronogramaOriginal) { resultadoComparacao = cronogramaAlterado; }
public ActionResult EditarCronograma(CronogramaDto cronograma) { return(Json(CronogramaBo.EditarCronograma(cronograma))); }
/// <summary> /// Métodor responsável por efetuar uma cópia dos dados do cronograma /// </summary> /// <param name="cronograma">entidade cronograma</param> /// <param name="cronogramaDto">dto com novos dados do cronograma</param> private static void AtualizarDadosCronograma(Cronograma cronograma, CronogramaDto cronogramaDto) { cronograma.OidSituacaoPlanejamento = cronogramaDto.OidSituacaoPlanejamento; cronograma.DtInicio = cronogramaDto.DtInicio; cronograma.DtFinal = cronogramaDto.DtFinal; }
/// <summary> /// Adiciona um dto no serviço stub e armazena o cronograma dto criado no ao contexto do BDD /// </summary> /// <param name="cronogramaDto"></param> private void CriarEArmazenarCronogramaDto(CronogramaDto cronogramaDto) { cronogramaDto = planejamentoServiceStub.CriarCronograma(cronogramaDto.TxDescricao, cronogramaDto.DtInicio, cronogramaDto.DtFinal); AdicionarAoContextoAtualBDD(CriarChave(FORMATO_CHAVE_CRONOGRAMA, cronogramaDto.TxDescricao), cronogramaDto); }
public void AtualizarCronogramaSelecionado(CronogramaDto dto) { }
/// <summary> /// Restaura os valores padrão /// </summary> private void RestaurarValoresPadroes() { _original = null; _editado = null; Autorizado = false; }
public async Task Create(CronogramaDto dto) { await _cronogramaRepos.Create(_mapper.Map <Dominio._4._1_Entidades.Cronograma>(dto)); }