我正在 Lightswitch 中构建帮助台票务程序,并且在使用一项请求的功能时遇到了问题。我被要求为最终用户构建一个移动友好版本的应用程序,以便从他们的移动设备提交工单。我用几个屏幕构建了这个应用程序,并在 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。