Lightswitch でヘルプ デスク チケット プログラムを作成していますが、要求された機能の 1 つで問題が発生しています。エンド ユーザーがモバイル デバイスからチケットを送信できるように、アプリのモバイル フレンドリー バージョンを作成するように依頼されました。ほんの数画面でアプリを作成し、コードを PreProcess クエリに追加して、表示できるチケットを自分のチケットのみに制限しました。それは素晴らしく機能します。私が問題を抱えているのは、現在ログインしているユーザーを新しいチケットの送信者として割り当てることです。私はオンラインで複数のガイドを見てきましたが、それらはすべて私がやろうとしていることで終わっています。私が見つけた最も有望なのはhttp://social.msdn.microsoft.com/Forums/vstudio/en-US/47832659-4ed3-4a8c-9a62-b3ad46c8e8b4/get-logged-in-employee です現在のユーザーを画面に正常に表示できます。
課題は、Ticket.EndUser フィールドを CurrentUserName フィールドに設定することです。AddEditNewTicket画面のcreatedメソッドとbeforeApplyChangesメソッドで試してみました。
私はここ数日間、この壁に頭をぶつけ続けてきましたが、これを達成した人はいますか?
アップデート
だから、私は問題を見つけたかもしれないと思う.それを回避する方法がわからない. 新しいチケット ボタンの実行コードでは、チケットを作成し、newTicket.setEndUser()
. この関数は EndUser エンティティをパラメーターとして受け取るので、myapp.activeDataWorkspace.MyDataBase.Techs_SingleOrDefault(CurrentUserName)
null を返す値で取得します。UserName は Techs テーブルの主キーです。
UserName にリテラル文字列を使用しても、null が返されます。