コード例 #1
0
        public TarefaFormDto Cadastrar(TarefaFormDto formDto)
        {
            if (formDto == null)
            {
                formDto = new TarefaFormDto();
                formDto.Erros.Add("Erro...");
                return(formDto);
            }

            formDto.ValidationErros = _tarefaFormDtoValidator.Validate(formDto).Errors
                                      .Select(s => new ValidationFailureDto(s.ErrorMessage, s.PropertyName))
                                      .ToList();

            if (!formDto.IsValid())
            {
                return(formDto);
            }

            var tarefa = new Tarefa();

            tarefa = _mapper.Map <Tarefa>(formDto);

            if (!tarefa.IsValid())
            {
                formDto.Erros = tarefa.Errors;
                return(formDto);
            }

            _tarefaRepository.Add(tarefa);

            return(_mapper.Map <TarefaFormDto>(tarefa));
        }
コード例 #2
0
        public TarefaFormDto Editar(TarefaFormDto formDto)
        {
            if (formDto == null || formDto.Id <= 0)
            {
                formDto = new TarefaFormDto();
                formDto.Erros.Add("Erro...");
                return(formDto);
            }

            formDto.ValidationErros = _tarefaFormDtoValidator.Validate(formDto).Errors
                                      .Select(s => new ValidationFailureDto(s.ErrorMessage, s.PropertyName))
                                      .ToList();

            if (!formDto.IsValid())
            {
                return(formDto);
            }

            var tarefa = _tarefaRepository.GetById(formDto.Id);

            tarefa.SetDescricao(formDto.Descricao);
            tarefa.SetTitulo(formDto.Titulo);
            tarefa.AtualizarDataDaUltimaAlteracao();

            if (!tarefa.IsValid())
            {
                formDto.Erros = tarefa.Errors;
                return(formDto);
            }

            _tarefaRepository.Update(tarefa);

            return(_mapper.Map <TarefaFormDto>(tarefa));
        }
コード例 #3
0
        public TarefaFormDto Editar([FromBody] TarefaFormDto tarefaFormDto)
        {
            var result    = _tarefaAppService.Editar(tarefaFormDto);
            var wowResult = _unitOfWork.Commit();

            if (!wowResult)
            {
                var tarefaForm = new TarefaFormDto();
                tarefaForm.Erros.Add("Erro ao salvar dados.");

                return(tarefaForm);
            }

            return(result);
        }
コード例 #4
0
        public void Cadastrar_com_todas_informacoes()
        {
            var options = new DbContextOptionsBuilder <ContextBase>()
                          .UseInMemoryDatabase(databaseName: "Test_in_memory_database_1")
                          .Options;

            var tarefaFormDto = new TarefaFormDto
            {
                Descricao = "Desc 3",
                Titulo    = "Titulo 3",
            };

            // Run the test against one instance of the context
            using (var context = new ContextBase(options))
            {
                var unitOfWork       = new UnitOfWork(context);
                var tarefaRepository = new TarefaRepository(context);

                var tarefaAppService = new TarefaAppService(tarefaRepository, mapper, new TarefaFormDtoValidator());

                var dtoResult = tarefaAppService.Cadastrar(tarefaFormDto);

                tarefaFormDto.Id = dtoResult.Id;

                unitOfWork.Commit();
            }

            // Use a separate instance of the context to verify correct data was saved to database
            using (var context = new ContextBase(options))
            {
                var tarefa = context.Tarefas.Find(tarefaFormDto.Id);

                Assert.Equal(tarefa.Titulo, tarefaFormDto.Titulo);
                Assert.Equal(tarefa.Descricao, tarefaFormDto.Descricao);
            }
        }