public Task <bool> Handle(UpdateApprovalCommand request, CancellationToken cancellationToken)
        {
            if (!request.IsValid(_user))
            {
                NotifyValidationErrors(request);
                return(Task.FromResult(false));
            }
            var approval = new ApprovalEntity(request.Id
                                              , request.CategoryId
                                              , request.Subject
                                              , request.Description
                                              , request.EmailApproval
                                              , request.DateCreate)
                           .SetIsApproval(request.IsApproval)
                           .SetDateApproval(request.DateApproval)
                           .SetJustification(request.Justification)
                           .SetDateRead(request.DateRead);



            _approvalRepository.Attach(approval);

            if (Commit())
            {
                Bus.RaiseEvent(new ApprovalUpdateEvent(approval.Id
                                                       , approval.Subject
                                                       , approval.Description
                                                       , approval.IsApproval
                                                       , approval.Justification
                                                       , approval.CategoryId
                                                       , approval.EmailApproval
                                                       , approval.DateCreate
                                                       , approval.DateApproval
                                                       , approval.DateRead));
            }

            return(Task.FromResult(true));
        }