/// <summary>
        ///     Update TransactionScope Async.
        /// </summary>
        /// <param name="entity" />
        /// <param name="connectionString" />
        public static async Task <UserClaimDao> UpdateTransactionScopeAsync(this UserClaimDao entity, string connectionString)
        {
            // Sql
            string sql = @"UPDATE [Administration].[UserClaim] 
				 SET  
				 WHERE UserId=@UserId;"                ;

            // Parameters
            DynamicParameters para = new DynamicParameters();

            para.Add("@UserId", entity.UserId);
            para.Add("@ClaimType", entity.ClaimType);
            para.Add("@ClaimValue", entity.ClaimValue);

            // Db Operation
            using (var con = new SqlConnection(connectionString))
            {
                await con.OpenAsync();

                try
                {
                    var item = await con.ExecuteAsync(sql, para);

                    return(entity);
                }
                catch (Exception e)
                {
                    if (con.State != ConnectionState.Closed)
                    {
                        con.Close();
                    }
                    return(null);
                }
            }
        }
        /// <summary>
        ///     Insert Async.
        /// </summary>
        /// <param name="entity" />
        /// <param name="connectionString" />
        public static async Task <UserClaimDao> InsertAsync(this UserClaimDao entity, string connectionString)
        {
            // Sql
            string sql = @"INSERT INTO [Administration].[UserClaim] 
				 ([UserId], [ClaimType], [ClaimValue]) 
				 OUTPUT [INSERTED].UserId 
				 VALUES(@UserId, @ClaimType, @ClaimValue)"                ;

            // Parameters
            DynamicParameters para = new DynamicParameters();

            para.Add("@UserId", entity.UserId);
            para.Add("@ClaimType", entity.ClaimType);
            para.Add("@ClaimValue", entity.ClaimValue);

            // Db Operation
            using (var con = new SqlConnection(connectionString))
            {
                await con.OpenAsync();

                // Transaction
                using (IDbTransaction tn = con.BeginTransaction())
                {
                    try
                    {
                        var item = await con.QuerySingleAsync <Guid>(sql, para, tn);

                        tn.Commit();
                        entity.UserId = item;
                        return(entity);
                    }
                    catch (Exception e)
                    {
                        tn.Rollback();
                        if (con.State != ConnectionState.Closed)
                        {
                            con.Close();
                        }
                        return(null);
                    }
                }
            }
        }