protected async Task CreateApprovalObject(TEntity TEntity, Core.Models.Approval.Action action, bool isUpdate = false)
        {
            Approval approval = new Approval
            {
                Assembly                = string.IsNullOrEmpty(action.Assembly) ? Assembly.GetExecutingAssembly().FullName : action.Assembly,
                ActionClass             = string.IsNullOrEmpty(action.ActionClass) ? this.GetType().Name : action.ActionClass,
                ActionMethod            = action.ActionMethod,
                LoggedBy                = CreatedBy,
                CreatedByUserType       = CreatedByUserType,
                CurrentObject           = JsonConvert.SerializeObject(TEntity),
                ApprovalConfigurationId = (await ApprovalConfigurationByActionId(action.Id)).Id,
            };

            if (isUpdate)
            {
                approval.PreviousObject = JsonConvert.SerializeObject(await ReadSingleAsync(TEntity.Id));
            }
            await _approvalRepository.CreateAsync(approval);
        }