public void Salvar(FeriadoCalendarioDto dto)
        {
            var feriado = MapearParaDominio(dto);

            bool ehRegistroExistente = repositorio.VerificarRegistroExistente(dto.Id, dto.Nome);

            if (ehRegistroExistente)
            {
                throw new NegocioException($"O Feriado '{dto.Nome}' já existe");
            }
            repositorio.Salvar(feriado);
        }
Exemplo n.º 2
0
        public FeriadoCalendario MapearParaDominio(FeriadoCalendarioDto dto)
        {
            FeriadoCalendario entidade = repositorio.ObterPorId(dto.Id);

            if (entidade == null)
            {
                entidade = new FeriadoCalendario();
            }
            entidade.Nome        = dto.Nome;
            entidade.Abrangencia = dto.Abrangencia;
            entidade.Ativo       = dto.Ativo;
            entidade.DataFeriado = dto.DataFeriado;
            entidade.Tipo        = dto.Tipo;
            return(entidade);
        }
 public IActionResult Salvar([FromBody] FeriadoCalendarioDto dto)
 {
     comandos.Salvar(dto);
     return(Ok());
 }
Exemplo n.º 4
0
        public async Task Deve_Incluir_Excluir_Consular_Feriado_Calendario()
        {
            _fixture._clientApi.DefaultRequestHeaders.Clear();

            _fixture._clientApi.DefaultRequestHeaders.Authorization =
                new AuthenticationHeaderValue("Bearer", _fixture.GerarToken(new Permissao[] { Permissao.TF_A, Permissao.TF_I, Permissao.TF_E, Permissao.TF_C }));

            var feriadoCalendarioDto = new FeriadoCalendarioDto
            {
                DataFeriado = DateTime.Now,
                Nome        = "Feriado do dia de hoje teste 1",
                Ativo       = true,
                Abrangencia = AbrangenciaFeriadoCalendario.Nacional,
                Tipo        = TipoFeriadoCalendario.Fixo
            };

            var feriadoCalendarioDto2 = new FeriadoCalendarioDto
            {
                DataFeriado = DateTime.Now,
                Nome        = "Feriado do dia de hoje teste 2",
                Ativo       = true,
                Abrangencia = AbrangenciaFeriadoCalendario.Estadual,
                Tipo        = TipoFeriadoCalendario.Fixo
            };

            var filtro = new FiltroFeriadoCalendarioDto
            {
                Nome = "hoje"
            };

            var jsonParaPost = new StringContent(TransformarEmJson(feriadoCalendarioDto), Encoding.UTF8, "application/json");
            var postResult   = await _fixture._clientApi.PostAsync("api/v1/calendarios/feriados/", jsonParaPost);

            Assert.True(postResult.IsSuccessStatusCode);

            if (postResult.IsSuccessStatusCode)
            {
                var jsonParaPost2 = new StringContent(TransformarEmJson(feriadoCalendarioDto2), Encoding.UTF8, "application/json");
                var postResult2   = await _fixture._clientApi.PostAsync("api/v1/calendarios/feriados/", jsonParaPost2);

                Assert.True(postResult2.IsSuccessStatusCode);

                if (postResult2.IsSuccessStatusCode)
                {
                    var ids = new int[1];
                    ids[0] = 12;
                    var jsonDelete             = new StringContent(JsonConvert.SerializeObject(ids), Encoding.UTF8, "application/json");
                    HttpRequestMessage request = new HttpRequestMessage
                    {
                        Content    = jsonDelete,
                        Method     = HttpMethod.Delete,
                        RequestUri = new Uri($"{ _fixture._clientApi.BaseAddress}api/v1/calendarios/feriados/")
                    };

                    var deleteResult = await _fixture._clientApi.SendAsync(request);

                    Assert.True(deleteResult.IsSuccessStatusCode);

                    var jsonGetAll   = new StringContent(JsonConvert.SerializeObject(filtro), Encoding.UTF8, "application/json");
                    var getAllResult = await _fixture._clientApi.PostAsync($"api/v1/calendarios/feriados/listar", jsonGetAll);

                    var dtoTodos = JsonConvert.DeserializeObject <IEnumerable <FeriadoCalendarioDto> >(getAllResult.Content.ReadAsStringAsync().Result);

                    Assert.True(dtoTodos.Any());

                    var getOneResult = await _fixture._clientApi.GetAsync($"api/v1/calendarios/feriados/{dtoTodos.FirstOrDefault().Id}");

                    var dtoUm = JsonConvert.DeserializeObject <TipoCalendarioCompletoDto>(getOneResult.Content.ReadAsStringAsync().Result);

                    Assert.NotNull(dtoUm.Nome);
                }
            }
        }