예제 #1
0
        public void CriarChamadoValido()
        {
            //Arrange
            Chamado chamado = CriarChamado();

            //Act
            var chamadoValido = chamado.IsValid();

            //Assert
            Assert.True(chamadoValido);
        }
예제 #2
0
        public async Task <Result <Chamado> > Novo(Chamado Chamado)
        {
            return(await ProcessmentCommand.Execute(async() =>
            {
                var Erros = new List <string>();
                var Solicitante = new Usuario {
                    Id = Convert.ToInt32(Principal.GetClaim("Id"))
                };

                Chamado.Solicitante = await UsuarioRepository.GetById(Solicitante);
                Chamado.Servico = await ServicoRepository.GetById(Chamado.Servico);
                Chamado.ChamadoPrincipal = await Repository.GetById(Chamado.ChamadoPrincipal);

                Erros.AddRange(Chamado.IsValid());

                if (Erros.Count > 0)
                {
                    throw new ValidationException(Chamado, Erros.ToArray());
                }

                await Repository.Insert(Chamado);
                return Chamado;
            }));
        }