Exemplo n.º 1
0
        public Task <int> Handle(RegisterNewObjetoApreendidoCommand request, CancellationToken cancellationToken)
        {
            if (!request.IsValid())
            {
                NotifyValidationErrors(request);
                return(Task.FromResult(0));
            }

            var procedimento = _procedimentoRepository.GetById(request.ProcedimentoId);

            if (procedimento == null)
            {
                Bus.RaiseEvent(new DomainNotification(request.MessageType, "O Procedimento não foi encontrado."));
                return(Task.FromResult(0));
            }

            var objetoApreendido = new ObjetoApreendido(request.Descricao, request.Local, procedimento);

            if (_objetoApreendidoRepository.Exists(objetoApreendido.Descricao, request.ProcedimentoId))
            {
                Bus.RaiseEvent(new DomainNotification(request.MessageType, "O Objeto já está sendo usado."));
                return(Task.FromResult(0));
            }

            _objetoApreendidoRepository.Add(objetoApreendido);

            if (Commit())
            {
                //TO DO
            }

            return(Task.FromResult(objetoApreendido.Id));
        }
Exemplo n.º 2
0
        public Task <int> Handle(UpdateObjetoApreendidoCommand request, CancellationToken cancellationToken)
        {
            if (!request.IsValid())
            {
                NotifyValidationErrors(request);
                return(Task.FromResult(0));
            }

            var procedimento = _procedimentoRepository.GetById(request.ProcedimentoId);

            if (procedimento == null)
            {
                Bus.RaiseEvent(new DomainNotification(request.MessageType, "O Procedimento não foi encontrado."));
                return(Task.FromResult(0));
            }

            var existingObjetoApreendido = _objetoApreendidoRepository.GetById(request.Id);

            if (existingObjetoApreendido == null)
            {
                Bus.RaiseEvent(new DomainNotification(request.MessageType, "O Objeto não foi encontrado."));
                return(Task.FromResult(0));
            }

            var objetoApreendido = new ObjetoApreendido(request.Id, request.Descricao, request.Local, procedimento, request.DataApreensao);

            existingObjetoApreendido.Descricao     = objetoApreendido.Descricao;
            existingObjetoApreendido.Local         = objetoApreendido.Local;
            existingObjetoApreendido.DataApreensao = objetoApreendido.DataApreensao;

            _objetoApreendidoRepository.Update(existingObjetoApreendido);

            if (Commit())
            {
                //TO DO
            }

            return(Task.FromResult(existingObjetoApreendido.Id));
        }