メニュー

Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

Employee Directory with C# and ASP.NET MVC

このASP.NETアプリケーションは従業員の連絡先情報を任意のSMSクライアントから使用できる従業員目録です。 このアプリケーションを構築するには、下記が必要になります:

  • 従業員モデルを作成する
  • 着信 SMS を受信する
  • 従業員を名前で検索する
  • 発信 MMS で応答する
はじめましょう!

従業員モデルを作成する

最初に必要なものは、従業員のデータベースです。これには、Entity Framework (EF)Code FIrst を使用します。つまり、POCO (Plain Old CLR Object)を使用して従業員を表すことができます。

従業員のエンティティには、連絡先情報のフィールドが 2 ~ 3 個あります。この情報には、従業員の名前、電話番号、および画像を含むパブリック URL などが含まれます。

        
        
        
        
        EmployeeDirectory.Web/Models/Employee.cs

        The Employee Model

        EmployeeDirectory.Web/Models/Employee.cs

        Now that we have a model that represents an employee, let's see how to search for employees by name.

        従業員を名前で検索する

        従業員を名前で検索する

        EmployeeDirectoryService クラスを使用すると、名前または一意のデータベース ID により、従業員をデータベースで検索できます。名前で検索すると、検索クエリーにあいまい一致する名前を持つ従業員のリストが返されます。または、完全一致した名前が見つかった場合は、それが 1 つだけ返されます。検索している従業員の ID を知っている場合は、すぐに返すことができます。

              
              
              
              
              EmployeeDirectory.Web/Services/EmployeeDirectoryService.cs

              Employee Search Service

              EmployeeDirectory.Web/Services/EmployeeDirectoryService.cs

              Now, let's use this search functionality when responding to an SMS from a user.

              着信 SMS を受信する

              着信 SMS を受信する

              使用している電話番号で着信メッセージを受信すると、Twilio は HTTP POST リクエストをアプリケーションに送信します。これは、EmployeeControllerLookup アクションで処理されます。

              We check for numeric input (more on that later) or perform a lookup for the desired employee. The results are packaged up as a XML and sent back to Twilio and, in turn, the original sender of the SMS.

                    
                    
                    
                    
                    EmployeeDirectory.Web/Controllers/EmployeeController.cs

                    Employee Lookup Action Method

                    EmployeeDirectory.Web/Controllers/EmployeeController.cs

                    Now that we have our search route, let's see how we can request a specific employee by name.

                    従業員名の単一照合で応答します。

                    従業員名の単一照合で応答します。

                    Let's say the service finds a single employee matching the text message. In this case, we simply write out a response that contains the employee's contact information, including a photo, making our response a MMS message.

                          
                          
                          
                          
                          EmployeeDirectory.Web/Controllers/EmployeeController.cs

                          Get Twilio Response For Search Result

                          EmployeeDirectory.Web/Controllers/EmployeeController.cs

                          As you can see, The Twilio C# Helper Library simplifies the way you can generate and send SMS messages. Together with a simple database query, the application is able to return valuable information over SMS. Let's see how we handle multiple or no results next.

                          Handle Multiple or No Results

                          Handle Multiple or No Results

                          従業員が見つからない場合は、「見つかりませんでした」というメッセージを返すだけです。

                          複数一致する場合はどうでしょうか? このケースでは、エンドユーザーが選択できるように、順に番号を付けて、一致した従業員名のリストを返したいと思います。たとえば、「David」を検索する場合、次のような結果を受け取ります。

                          We found: 1-David Prothero, 2-David Smith
                           - Reply with # of desired person
                          
                                
                                
                                
                                
                                EmployeeDirectory.Web/Controllers/EmployeeController.cs

                                Get TwiML for Multiple Results

                                EmployeeDirectory.Web/Controllers/EmployeeController.cs

                                Let's see how these options are stored next.

                                Cache the List of Possible Matches

                                Cache the List of Possible Matches

                                ユーザーに返されるメッセージテキストについて、一致候補の番号付きメニューを構築します。

                                アプリでは、ユーザーからの SMS メッセージ間で、1、2、3 の選択番号が従業員の実際の一意の ID にマッピングされていることを把握している必要があります。これらは cookie に入れられ、Twilio がアプリケーションに HTTP リクエストを送信するたびに一緒に送り返されます

                                      
                                      
                                      
                                      
                                      EmployeeDirectory.Web/Controllers/EmployeeController.cs

                                      Get TwiML Response for Employee List

                                      EmployeeDirectory.Web/Controllers/EmployeeController.cs

                                      When the user that queried the employee directory receives the message with a list of employees, they will text back a number that corresponds to the result on the list that they are interested in querying further. Twilio will send a request to the webhook which handles incoming SMS messages. At this point, our app will try to parse the user's message to determine what to do next.

                                      Return Employee's Contact Information by Number Choice

                                      Return Employee's Contact Information by Number Choice

                                      SMS メッセージを受信したら、以下について確認します。

                                      • テキスト入力の本文は、実際には、番号である。
                                      • ID への番号のマッピングに Cookie が存在する。
                                      • マッピングに、ユーザーから送信された番号が含まれる。

                                      これらの確認のいずれかに失敗した場合は、単純に、通常の名前検索を進めます。

                                      However, if those conditions are all met, we return a single employee that matches their selection.

                                            
                                            
                                            
                                            
                                            EmployeeDirectory.Web/Controllers/EmployeeController.cs

                                            Cached Employee Lookup Logic

                                            EmployeeDirectory.Web/Controllers/EmployeeController.cs

                                            The only thing left to do is celebrate.

                                            You've come pretty far. Take a look at the code on GitHub to run the application yourself. There you will find the complete Visual Studio solution and instructions for getting up and running.

                                            次はどこでしょうか?

                                            次はどこでしょうか?

                                            Twilio を使う C# 開発者であれば、他のチュートリアルも調べてみてください。

                                            二要素認証

                                            アポイントメント リマインダー

                                            これは役に立ちましたか?

                                            このチュートリアルをお読みいただき、ありがとうございます。ご意見やご感想などございましたら、ぜひお聞かせください。 ご意見やご感想などございましたら、ぜひお聞かせください。 @twilioにツイートして、ご意見をお寄せください!

                                            David Prothero Jose Oliveros Agustin Camino Kat King Hector Ortega
                                            Rate this page:

                                            ヘルプが必要ですか?

                                            We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.