/// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <typeparam name="THandler"></typeparam>
        public void UnSubscribe <T, THandler>()
            where T : BaseMessagingModel
            where THandler : IEventHandler <T>
        {
            if (_bus == null)
            {
                throw BaseException.NotFoundException("Mastransit could not initialized");
            }

            _bus.Stop();
            _bus = null;
        }
        public void ChangeStatus(Guid id, ChangeTaskStatusRequestModel changeTaskStatusRequest)
        {
            if (Version == -1)
            {
                throw BaseException.NotFoundException("Task Not Found!");
            }

            Apply(new ChangeTaskStatusModel
            {
                Id        = id,
                UpdatedBy = changeTaskStatusRequest.UpdatedBy,
                Status    = (int)changeTaskStatusRequest.Status,
                Version   = Version
            });
        }
        public void Assign(Guid id, AssignTaskRequestModel assignTaskRequestModel)
        {
            if (Version == -1)
            {
                throw BaseException.NotFoundException("Task Not Found!");
            }

            Apply(new AssignTaskModel
            {
                AssignedTo = assignTaskRequestModel.AssignedTo,
                Id         = id,
                UpdatedBy  = assignTaskRequestModel.UpdatedBy,
                Status     = assignTaskRequestModel.Status,
                Version    = Version
            });
        }