ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →Paylocity Data Provider の30日間無償トライアルをダウンロード
30日間の無償トライアルへCData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
データバインドによって、UI コントロールからデータに接続できます。 CData ADO.NET Provider for Paylocity を使って、Visual Studio 上でWindows Forms およびWeb Forms とPaylocity をデータバインドできます。この記事で、Paylocity を、ウィザードから変更をリアルタイムで反映するチャートにデータバインドする方法を説明します。 Code Walk-through セクションではチャートはほんの10行のコードで作成します。
データバインドは3つのステップから構成されます。コントロールのインスタンス作成、データソースの設定、最後にデータバインドです。
下の手続きにより、データソース構成ウィザードを使ってチャートコントロールとPaylocity との接続を作成します。ウィザード上でデータバインドをするPaylocity エンティティを使います。
データ接続の選択ダイアログで、「変更」をクリックして、CData Paylocity データソースを選択して、接続プロパティを入力します。下は代表的な接続文字列ですです。:
OAuthClientID=YourClientId;OAuthClientSecret=YourClientSecret;RSAPublicKey=YourRSAPubKey;Key=YourKey;IV=YourIV;
Paylocity への接続を確立するには以下を設定します。
このプロパティは、Insert およびUpdate ステートメントを実行するために必須です。この機能が無効になっている場合は必須ではありません。
Paylocity は、RSA 復号化を使用してAES 鍵を復号化します。
これはオプションのプロパティで、IV の値が指定されていない場合、ドライバーは内部でキーを生成します。
OAuth を使用してPaylocity で認証する必要があります。OAuth では認証するユーザーにブラウザでPaylocity との通信を要求します。詳しくは、ヘルプドキュメントのOAuth セクションを参照してください。
Pay Entry API はPaylocity API の他の部分と完全に分離されています。個別のクライアントID とシークレットを使用し、アカウントへのアクセスを許可するにはPaylocity から明示的にリクエストする必要があります。 Pay Entry API を使用すると、個々の従業員の給与情報を自動的に送信できます。 Pay Entry API によって提供されるものの性質が非常に限られているため、CData では個別のスキーマを提供しないことを選択しましたが、UsePayEntryAPI 接続プロパティを介して有効にできます。
UsePayEntryAPI をtrue に設定する場合は、CreatePayEntryImportBatch、MergePayEntryImportBatch、Input_TimeEntry、およびOAuth ストアドプロシージャのみ利用できることに注意してください。 製品のその他の機能を使用しようとするとエラーが発生します。また、OAuthAccessToken を個別に保存する必要があります。これは、この接続プロパティを使用するときに異なるOAuthSettingsLocation を設定することを意味します。
データソースの追加とデータベースオブジェクトを選択したら、チャートにオブジェクトをバインドします。この例では、X軸に FirstName をY軸に LastName を設定します。
チャートはこれでPaylocity にデータバインドされました。チャートを実行して最新のデータを表示させましょう。
Paylocity へのデータバインドはほんの数行のコードのみが必要で、3つの簡単なステップで完了できます。
下に完全なコードを示します:
PaylocityConnection conn = new PaylocityConnection("OAuthClientID=YourClientId;OAuthClientSecret=YourClientSecret;RSAPublicKey=YourRSAPubKey;Key=YourKey;IV=YourIV;");
PaylocityCommand comm = new PaylocityCommand("SELECT FirstName, LastName FROM Employee WHERE EmployeeId = '1234'", conn);
PaylocityDataAdapter da = new PaylocityDataAdapter(comm);
DataSet dataset = new DataSet();
da.Fill(dataset);
chart1.DataSource = dataset;
chart1.Series[0].XValueMember = "FirstName";
chart1.Series[0].YValueMembers = "LastName";
// Insert code for additional chart formatting here.
chart1.DataBind();