So I recently updated to 2013.2.717 from 2013.2.611 in order to fix an issues with the RadMenus opening in the wrong direction when a RadDropDownList was on the page. While this did fix my issue, it created a far worse one! I have a grid that is using the OnNeedDataSource event. I can see that the server side code is being run, and my DataSource is being set appropriately, however the rows are never rendered?!?! This works 100% in 611, but something changed, and using 717 the grid will just not refresh. Can anyone give me some insight as to what changed that might have caused this to happen.
P.S. I tried the latest internal build 2013.2.806, but it did not remedy the problem.
P.S. I tried the latest internal build 2013.2.806, but it did not remedy the problem.
3 Answers, 1 is accepted
0
Hello,
With the provided information it is too hard to find the source of issue.
Could you share your full page source code along with the code-behind file content? Thus all the people who want to help you will have better understanding of your case.
Regards,
Andrey
Telerik
With the provided information it is too hard to find the source of issue.
Could you share your full page source code along with the code-behind file content? Thus all the people who want to help you will have better understanding of your case.
Regards,
Andrey
Telerik
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to the blog feed now.
0

Xorcist
Top achievements
Rank 1
answered on 10 Sep 2013, 06:22 PM
There is a lot of code here, and I can't list out the shell or master page code we have. But this page also has designer issues do to some Eval lines added to the ASPX file. Basically the search runs, I see data on the back end, but it never gets populated. I always see the NoRecordsTemplate. This only happens with newer DLLs, the older DLL works fine (but as I stated the menus open in the wrong direction due to this).
PAGE
CODE
PAGE
<%@ Page Language="C#" MasterPageFile="~/TrainingSuite.master" AutoEventWireup="true" Inherits="Personnel" Codebehind="Personnel.aspx.cs" %>
<
asp:Content
ID
=
"Title"
ContentPlaceHolderID
=
"contentTitle"
runat
=
"server"
>
[ Personnel Admin ]
</
asp:Content
>
<
asp:Content
ID
=
"Head"
ContentPlaceHolderID
=
"contentHead"
Runat
=
"Server"
>
</
asp:Content
>
<
asp:Content
ID
=
"Body"
ContentPlaceHolderID
=
"contentBody"
Runat
=
"Server"
>
<
telerik:RadAjaxManagerProxy
ID
=
"contentAjaxManagerProxy"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"rdlSearch_Site"
EventName
=
"SelectedIndexChanged"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"searchPanel"
LoadingPanelID
=
"contentAjaxLoadingPanel"
UpdatePanelRenderMode
=
"Block"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"rdlSearch_Crew"
EventName
=
"SelectedIndexChanged"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"searchPanel"
LoadingPanelID
=
"contentAjaxLoadingPanel"
UpdatePanelRenderMode
=
"Block"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"btnSearch"
EventName
=
"Click"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"userGrid"
UpdatePanelRenderMode
=
"Block"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"userGrid"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"userGrid"
UpdatePanelRenderMode
=
"Inline"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"btnLookup_Search"
EventName
=
"Click"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"lookupPanel"
LoadingPanelID
=
"contentAjaxLoadingPanel"
UpdatePanelRenderMode
=
"Block"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"btnLookup_Insert"
EventName
=
"Click"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"lookupPanel"
LoadingPanelID
=
"contentAjaxLoadingPanel"
UpdatePanelRenderMode
=
"Block"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"btnUser_Load"
EventName
=
"Click"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"userPanel"
LoadingPanelID
=
"contentAjaxLoadingPanel"
UpdatePanelRenderMode
=
"Block"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"rdlUser_Site"
EventName
=
"SelectedIndexChanged"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"userPanel"
LoadingPanelID
=
"contentAjaxLoadingPanel"
UpdatePanelRenderMode
=
"Block"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"rdlUser_Crew"
EventName
=
"SelectedIndexChanged"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"userPanel"
LoadingPanelID
=
"contentAjaxLoadingPanel"
UpdatePanelRenderMode
=
"Block"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"btnUser_Save"
EventName
=
"Click"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"userPanel"
LoadingPanelID
=
"contentAjaxLoadingPanel"
UpdatePanelRenderMode
=
"Block"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManagerProxy
>
<
telerik:RadAjaxLoadingPanel
BackColor
=
"WhiteSmoke"
runat
=
"server"
ID
=
"contentAjaxLoadingPanel"
EnableEmbeddedSkins
=
"false"
InitialDelayTime
=
"500"
Transparency
=
"30"
>
</
telerik:RadAjaxLoadingPanel
>
<
telerik:RadWindowManager
ID
=
"contentWindowManager"
runat
=
"server"
>
<
Windows
>
<
telerik:RadWindow
ID
=
"winLookup"
Behaviors
=
"Close"
EnableShadow
=
"true"
Height
=
"300"
IconUrl
=
"../img/ico/find.png"
InitialBehaviors
=
"None"
Modal
=
"true"
OnClientShow
=
"winLookup_OnClientShow"
OnClientClose
=
"winLookup_OnClientClose"
runat
=
"server"
Title
=
"New User Lookup"
RestrictionZoneID
=
"Zone"
Width
=
"508"
>
<
ContentTemplate
>
<
asp:Panel
DefaultButton
=
"btnLookup_Insert"
Height
=
"200"
ID
=
"lookupPanel"
runat
=
"server"
style
=
"padding:4px;"
Width
=
"470"
>
<
div
style
=
"float:left; height:95%; width:40%;"
>
<
fieldset
style
=
"padding-left:8px; height:100%"
>
<
legend
>Search Criteria</
legend
>
<
div
style
=
"padding-bottom:4px;"
title
=
"Last Name Filter"
><
telerik:RadTextBox
ID
=
"txtLookup_LastName"
runat
=
"server"
EmptyMessage
=
"Last Name"
></
telerik:RadTextBox
></
div
>
<
div
style
=
"padding-bottom:4px;"
title
=
"First Name Filter"
><
telerik:RadTextBox
ID
=
"txtLookup_FirstName"
runat
=
"server"
EmptyMessage
=
"First Name"
></
telerik:RadTextBox
></
div
>
<
div
style
=
"padding-bottom:4px;"
title
=
"User Name Filter"
><
telerik:RadTextBox
ID
=
"txtLookup_UserName"
runat
=
"server"
EmptyMessage
=
"User Name"
></
telerik:RadTextBox
></
div
>
<
div
style
=
"padding-bottom:8px;"
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkLookup_IncludeDisabled"
runat
=
"server"
/></
span
>Include Disabled Accounts</
div
>
<
div
style
=
"padding-bottom:8px;"
><
telerik:RadButton
ButtonType
=
"SkinnedButton"
ID
=
"btnLookup_Search"
OnClientClicking
=
"btnLookup_Search_ClientClicking"
OnClick
=
"btnLookup_Search_Click"
runat
=
"server"
Text
=
"Perform Lookup"
Width
=
"150px"
></
telerik:RadButton
></
div
>
<
div
style
=
"padding-bottom:4px;"
><
telerik:RadButton
ButtonType
=
"SkinnedButton"
ID
=
"btnLookup_Insert"
OnClientClicking
=
"btnLookup_Insert_ClientClicking"
OnClick
=
"btnLookup_Insert_Click"
runat
=
"server"
Text
=
"Add Selected User"
Width
=
"150px"
></
telerik:RadButton
></
div
>
</
fieldset
>
</
div
>
<
div
style
=
"float:left; height:95%; width:60%;"
>
<
fieldset
style
=
"padding-left:8px; height:100%"
>
<
legend
>Search Results</
legend
>
<
div
style
=
"height:85%;padding-bottom:4px;padding-right:4px;"
>
<
telerik:RadListBox
ID
=
"rlbLookup"
runat
=
"server"
Height
=
"100%"
style
=
"padding:0px !important;"
Width
=
"100%"
>
<
ItemTemplate
>
<
div
title=<%# Eval("adUser").ToString().Replace(" ", " ").Split('|')[0] %>, <%# Eval("adUser").ToString().Replace(" ", " ").Split('|')[1] %> (<%# Eval("adUser").ToString().Replace(" ", " ").Split('|')[2] %>)>
<
div
style
=
"display:inline-block; overflow:hidden; width:16px; white-space:nowrap;"
><%# AccountStatus(Eval("adUser").ToString().Split('|')[3]) %></
div
>
<
div
style
=
"display:inline-block; padding-left:4px; overflow:hidden; text-overflow:ellipsis; width:100px; white-space:nowrap;"
><%# Eval("adUser").ToString().Split('|')[0] %>, <%# Eval("adUser").ToString().Split('|')[1] %></
div
>
<
div
style
=
"display:inline-block; padding-left:4px; overflow:hidden; text-overflow:ellipsis; width:90px; white-space:nowrap;"
><%# Eval("adUser").ToString().Split('|')[2] %></
div
>
</
div
>
</
ItemTemplate
>
</
telerik:RadListBox
>
</
div
>
</
fieldset
>
</
div
>
<
asp:HiddenField
ID
=
"hdnError"
runat
=
"server"
value
=
""
/>
<
asp:HiddenField
ID
=
"hdnUser"
runat
=
"server"
value
=
""
/>
</
asp:Panel
>
</
ContentTemplate
>
</
telerik:RadWindow
>
<
telerik:RadWindow
ID
=
"winUser"
Behaviors
=
"Close"
EnableShadow
=
"true"
Height
=
"480"
IconUrl
=
"../img/ico/profile.png"
InitialBehaviors
=
"None"
Modal
=
"true"
OnClientShow
=
"winUser_OnClientShow"
OnClientClose
=
"winUser_OnClientClose"
runat
=
"server"
Title
=
"User Account Settings"
RestrictionZoneID
=
"Zone"
Width
=
"799"
>
<
ContentTemplate
>
<
telerik:RadButton
ButtonType
=
"SkinnedButton"
ID
=
"btnUser_Load"
OnClick
=
"btnUser_Load_Click"
runat
=
"server"
style
=
"display:none;"
></
telerik:RadButton
>
<
asp:Panel
DefaultButton
=
"btnUser_Save"
Height
=
"400"
ID
=
"userPanel"
runat
=
"server"
style
=
"padding:4px;"
Width
=
"761"
>
<
telerik:RadTabStrip
ID
=
"tabConfig"
MultiPageID
=
"rmpConfig"
OnClientTabSelected
=
"tabConfig_ClientTabSelected"
runat
=
"server"
SelectedIndex
=
"0"
>
<
Tabs
>
<
telerik:RadTab
Text
=
"Employee Info"
Value
=
"1"
>
</
telerik:RadTab
>
<
telerik:RadTab
Text
=
"User Security"
Value
=
"2"
>
</
telerik:RadTab
>
<
telerik:RadTab
Text
=
"Ops Training Performance"
Value
=
"3"
>
</
telerik:RadTab
>
<
telerik:RadTab
Text
=
"L . A . S . E . R ."
Enabled
=
"false"
Value
=
"4"
>
</
telerik:RadTab
>
<
telerik:RadTab
Text
=
"Instructor Evals"
Enabled
=
"false"
Value
=
"5"
>
</
telerik:RadTab
>
<
telerik:RadTab
Text
=
"Training Requests"
Enabled
=
"false"
Value
=
"6"
>
</
telerik:RadTab
>
</
Tabs
>
</
telerik:RadTabStrip
>
<
telerik:RadMultiPage
runat
=
"server"
ID
=
"rmpConfig"
SelectedIndex
=
"0"
>
<
telerik:RadPageView
runat
=
"server"
ID
=
"rpvUserInfo"
>
<
div
style
=
"border:1px solid gray; border-top:none; padding:4px; height:330px;"
>
<
div
style
=
"float:left; height:100%; width:250px;"
>
<
fieldset
style
=
"padding-left:8px; height:95%;"
>
<
legend
>Profile Info</
legend
>
<
div
><
div
style
=
"display:inline-block; padding-right:4px; text-align:right; width:70px;"
><
span
style
=
"position:relative; top:2px;"
>Last Name:</
span
></
div
><
telerik:RadTextBox
ID
=
"txtUser_LastName"
runat
=
"server"
Width
=
"150px"
></
telerik:RadTextBox
></
div
>
<
div
><
div
style
=
"display:inline-block; padding-right:4px; text-align:right; width:70px;"
><
span
style
=
"position:relative; top:2px;"
>First Name:</
span
></
div
><
telerik:RadTextBox
ID
=
"txtUser_FirstName"
runat
=
"server"
Width
=
"150px"
></
telerik:RadTextBox
></
div
>
</
fieldset
>
</
div
>
<
div
style
=
"float:left; height:100%; width:250px;"
>
<
fieldset
style
=
"padding-left:8px; height:95%;"
>
<
legend
>Account Info</
legend
>
<
div
><
div
style
=
"display:inline-block; padding-right:4px; text-align:right; width:70px;"
><
span
style
=
"position:relative; top:2px;"
>User Name:</
span
></
div
><
telerik:RadTextBox
ID
=
"txtUser_UserName"
ReadOnly
=
"true"
runat
=
"server"
Width
=
"150px"
></
telerik:RadTextBox
></
div
>
<
div
><
div
style
=
"display:inline-block; padding-right:4px; text-align:right; width:70px;"
><
span
style
=
"position:relative; top:2px;"
>Employee ID:</
span
></
div
><
telerik:RadTextBox
ID
=
"txtUser_EmployeeID"
ReadOnly
=
"true"
runat
=
"server"
Width
=
"150px"
></
telerik:RadTextBox
></
div
>
</
fieldset
>
</
div
>
<
div
style
=
"float:left; height:100%; width:250px;"
>
<
fieldset
style
=
"padding-left:8px; height:95%;"
>
<
legend
>Status Info</
legend
>
<
div
><
div
style
=
"display:inline-block; padding-right:4px; text-align:right; width:40px;"
>Active:</
div
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_Active"
runat
=
"server"
/></
span
></
div
>
<
div
><
div
style
=
"display:inline-block; padding-right:4px; text-align:right; width:40px;"
><
span
style
=
"position:relative; top:2px;"
>Site:</
span
></
div
><
telerik:RadDropDownList
AutoPostBack
=
"true"
ID
=
"rdlUser_Site"
OnSelectedIndexChanged
=
"rdlUser_Site_SelectedIndexChanged"
runat
=
"server"
Width
=
"180px"
></
telerik:RadDropDownList
></
div
>
</
fieldset
>
</
div
>
</
div
>
</
telerik:RadPageView
>
<
telerik:RadPageView
runat
=
"server"
ID
=
"rpvUserSecurity"
>
<
div
style
=
"border:1px solid gray; border-top:none; padding:4px; height:330px;"
>
<
div
style
=
"float:left; height:100%; width:250px;"
>
<
fieldset
style
=
"padding-left:8px; height:95%;"
>
<
legend
>Administration</
legend
>
<
div
style
=
"padding-left:12px; padding-top:4px;"
>
<
div
style
=
"padding-bottom:4px;"
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_SiteAdmin"
runat
=
"server"
/></
span
>Site Admin</
div
>
<
div
style
=
"padding-bottom:4px;"
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_CorporateAdmin"
runat
=
"server"
/></
span
>Corporate Admin</
div
>
</
div
>
</
fieldset
>
</
div
>
<
div
style
=
"float:left; height:100%; width:250px;"
>
<
fieldset
style
=
"padding-left:8px; height:95%;"
>
<
legend
>Ops Training Performance</
legend
>
<
div
style
=
"padding-left:12px; padding-top:4px;"
>
<
div
style
=
"padding-bottom:4px;"
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_OPSTrainingInstructor"
runat
=
"server"
/></
span
>Ops Training Instructor</
div
>
<
div
style
=
"padding-bottom:4px;"
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_ShiftManager"
runat
=
"server"
/></
span
>Shift Manager</
div
>
<
div
style
=
"padding-bottom:4px;"
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_Evaluator"
runat
=
"server"
/></
span
>Evaluator</
div
>
<
div
style
=
"padding-bottom:4px;"
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_SiteOPSManagement"
runat
=
"server"
/></
span
>Site Ops Management</
div
>
<
div
style
=
"padding-bottom:4px;"
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_SiteOTM"
runat
=
"server"
/></
span
>Site Ops Training Manager</
div
>
<
div
style
=
"padding-bottom:4px;"
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_OPSPeers"
runat
=
"server"
/></
span
>Ops Peers</
div
>
<
div
style
=
"padding-bottom:4px;"
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_CorporateOTM"
runat
=
"server"
/></
span
>Corporate Ops Training Manager</
div
>
<
div
style
=
"padding-bottom:4px;"
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_Clerical"
runat
=
"server"
/></
span
>Clerical</
div
>
</
div
>
</
fieldset
>
</
div
>
<
div
style
=
"float:left; height:100%; width:250px;"
>
<
fieldset
style
=
"padding-left:8px; height:95%;"
>
<
legend
>L . A . S . E . R . & Instructor Evals</
legend
>
<
div
style
=
"padding-left:12px; padding-top:4px;"
>
<
div
style
=
"padding-bottom:4px;"
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_InstructorEvaluator"
runat
=
"server"
/></
span
>Instructor Evaluator</
div
>
<
div
style
=
"padding-bottom:4px;"
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_TrainingInstructorSME"
runat
=
"server"
/></
span
>Training Instructor / SME</
div
>
<
div
style
=
"padding-bottom:4px;"
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_SiteTrainingManager"
runat
=
"server"
/></
span
>Site Training Manager</
div
>
<
div
style
=
"padding-bottom:4px;"
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_CorporateTrainingManager"
runat
=
"server"
/></
span
>Corporate Training Manager</
div
>
</
div
>
</
fieldset
>
</
div
>
</
div
>
</
telerik:RadPageView
>
<
telerik:RadPageView
runat
=
"server"
ID
=
"rpvModOpsTrainingPerformance"
>
<
div
style
=
"border:1px solid gray; border-top:none; padding:4px; height:330px;"
>
<
div
style
=
"float:left; height:100%; width:250px;"
>
<
div
style
=
"height:40%;"
>
<
fieldset
style
=
"padding-left:8px; height:95%;"
>
<
legend
>Credentials</
legend
>
<
div
style
=
"padding-left:12px; padding-top:4px;"
>
<
div
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_Licensed"
runat
=
"server"
/></
span
>Licensed Operator</
div
>
<
div
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_AccessILT"
runat
=
"server"
/></
span
>ILT Access</
div
>
<
div
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_AccessLORT"
runat
=
"server"
/></
span
>LORT Access</
div
>
<
div
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_AccessNLORT"
runat
=
"server"
/></
span
>NLORT Access</
div
>
</
div
>
</
fieldset
>
</
div
>
<
div
style
=
"height:25%;"
>
<
fieldset
style
=
"padding-left:8px; height:95%;"
>
<
legend
>Qualifications</
legend
>
<
div
style
=
"padding-left:12px; padding-top:4px;"
>
<
div
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_QALShiftTechnicalAdvisor"
runat
=
"server"
/></
span
>Shift Technical Advisor (STA)</
div
>
<
div
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_QALShiftManager"
runat
=
"server"
/></
span
>Shift Manager (SM)</
div
>
</
div
>
</
fieldset
>
</
div
>
<
div
style
=
"height:32%;"
>
<
fieldset
style
=
"padding-left:8px; height:95%;"
>
<
legend
>Assignments</
legend
>
<
div
style
=
"padding-left:12px;"
>
<
div
><
div
style
=
"display:inline-block; padding-right:4px; text-align:right; width:45px;"
><
span
style
=
"position:relative; top:2px;"
>Crew:</
span
></
div
><
telerik:RadDropDownList
AutoPostBack
=
"true"
ID
=
"rdlUser_Crew"
OnSelectedIndexChanged
=
"rdlUser_Crew_SelectedIndexChanged"
runat
=
"server"
Width
=
"160px"
></
telerik:RadDropDownList
></
div
>
<
div
><
div
style
=
"display:inline-block; padding-right:4px; text-align:right; width:45px;"
><
span
style
=
"position:relative; top:2px;"
>Group:</
span
></
div
><
telerik:RadDropDownList
ID
=
"rdlUser_CrewGroup"
runat
=
"server"
Width
=
"160px"
></
telerik:RadDropDownList
></
div
>
<
div
><
div
style
=
"display:inline-block; padding-right:4px; text-align:right; width:45px;"
><
span
style
=
"position:relative; top:2px;"
>Position:</
span
></
div
><
telerik:RadDropDownList
ID
=
"rdlUser_Position"
runat
=
"server"
Width
=
"160px"
></
telerik:RadDropDownList
></
div
>
</
div
>
</
fieldset
>
</
div
>
</
div
>
<
div
style
=
"float:left; height:100%; width:250px;"
>
<
div
style
=
"height:32%;"
>
<
fieldset
style
=
"padding-left:8px; height:95%;"
>
<
legend
>ILT</
legend
>
<
div
style
=
"padding-left:12px; padding-top:4px;"
>
<
div
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_ILTOperator"
runat
=
"server"
/></
span
>Operator</
div
>
<
div
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_ILTInstructor"
runat
=
"server"
/></
span
>Instructor</
div
>
<
div
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_ILTEvaluator"
runat
=
"server"
/></
span
>Evaluator</
div
>
</
div
>
</
fieldset
>
</
div
>
<
div
style
=
"height:32%;"
>
<
fieldset
style
=
"padding-left:8px; height:95%;"
>
<
legend
>LORT</
legend
>
<
div
style
=
"padding-left:12px; padding-top:4px;"
>
<
div
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_LORTOperator"
runat
=
"server"
/></
span
>Operator</
div
>
<
div
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_LORTInstructor"
runat
=
"server"
/></
span
>Instructor</
div
>
<
div
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_LORTEvaluator"
runat
=
"server"
/></
span
>Evaluator</
div
>
</
div
>
</
fieldset
>
</
div
>
<
div
style
=
"height:33%;"
>
<
fieldset
style
=
"padding-left:8px; height:95%;"
>
<
legend
>NLORT</
legend
>
<
div
style
=
"padding-left:12px; padding-top:4px;"
>
<
div
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_NLORTOperator"
runat
=
"server"
/></
span
>Operator</
div
>
<
div
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_NLORTInstructor"
runat
=
"server"
/></
span
>Instructor</
div
>
<
div
><
span
style
=
"position:relative; left:-2px; top:2px"
><
asp:CheckBox
ID
=
"chkUser_NLORTEvaluator"
runat
=
"server"
/></
span
>Evaluator</
div
>
</
div
>
</
fieldset
>
</
div
>
</
div
>
</
div
>
</
telerik:RadPageView
>
<
telerik:RadPageView
runat
=
"server"
ID
=
"rvpModLASER"
>
<
div
style
=
"border:1px solid gray; border-top:none; padding:4px; height:330px;"
>
Four
</
div
>
</
telerik:RadPageView
>
<
telerik:RadPageView
runat
=
"server"
ID
=
"rvpModInstructorEvals"
>
<
div
style
=
"border:1px solid gray; border-top:none; padding:4px; height:330px;"
>
Five
</
div
>
</
telerik:RadPageView
>
<
telerik:RadPageView
runat
=
"server"
ID
=
"rvpModTrainingRequests"
>
<
div
style
=
"border:1px solid gray; border-top:none; padding:4px; height:330px;"
>
Six
</
div
>
</
telerik:RadPageView
>
</
telerik:RadMultiPage
>
<
div
style
=
"float:left; padding:8px 0px 0px 8px;"
>
<
asp:Label
ID
=
"lblUser_Notice"
ForeColor
=
"Red"
runat
=
"server"
text
=
""
/>
</
div
>
<
div
style
=
"float:right; padding-top:8px;"
>
<
div
style
=
"display:inline-block; margin-right:4px;"
><
telerik:RadButton
ButtonType
=
"SkinnedButton"
ID
=
"btnUser_Save"
OnClientClicking
=
"btnUser_Save_ClientClicking"
OnClick
=
"btnUser_Save_Click"
runat
=
"server"
Text
=
"Save"
Width
=
"100px"
></
telerik:RadButton
></
div
>
<
div
style
=
"display:inline-block; margin-right:4px;"
><
telerik:RadButton
AutoPostBack
=
"false"
ButtonType
=
"SkinnedButton"
ID
=
"btnUser_Cancel"
OnClientClicked
=
"btnUser_Cancel_ClientClicked"
runat
=
"server"
Text
=
"Cancel"
Width
=
"100px"
></
telerik:RadButton
></
div
>
</
div
>
<
asp:HiddenField
ID
=
"hdnUser_Display"
runat
=
"server"
value
=
""
/>
</
asp:Panel
>
</
ContentTemplate
>
</
telerik:RadWindow
>
</
Windows
>
</
telerik:RadWindowManager
>
<
telerik:RadScriptBlock
id
=
"contentScriptBlock"
runat
=
"server"
>
<
script
language
=
"javascript"
type
=
"text/javascript"
>
if (window.location == window.parent.location) {
window.location.href = '<%= ResolveUrl("~/Shell.aspx") %>';
}
var msg = new Object;
msg.pageNote = 'Administer Training Suite users . . .';
function contentOnRequestStart(sender, args) {
shell.BrowserWindow.loadingPanelON(500);
var control = args.get_eventTargetElement();
if (control) {
switch (control.id) {
case '<%= btnLookup_Search.ClientID %>':
shell.BrowserWindow.loadingPanelOFF();
break;
case '<%= btnLookup_Insert.ClientID %>':
shell.BrowserWindow.loadingPanelOFF();
break;
case '<%= btnUser_Load.ClientID %>':
shell.BrowserWindow.loadingPanelOFF();
break;
case '<%= rdlUser_Crew.ClientID %>':
shell.BrowserWindow.loadingPanelOFF();
break;
case '<%= btnUser_Save.ClientID %>':
shell.BrowserWindow.loadingPanelOFF();
break;
default: break; //Do Nothing
}
}
}
function contentOnResponseEnd(sender, args) {
shell.BrowserWindow.loadingPanelOFF();
var control = args.get_eventTargetElement();
if (control) {
switch (control.id) {
case '<%= btnLookup_Search.ClientID %>':
var err = $get('<%= hdnError.ClientID %>');
if (err.value !== '') {
alert(err.value);
err.value = '';
}
break;
case '<%= btnLookup_Insert.ClientID %>':
if ($get('<%= hdnUser.ClientID %>').value === '') {
alert('User already exists in TrainingSuite (operation terminated).');
} else {
GetRadWindowManager().getWindowByName('winLookup').close();
userEdit($get('<%= hdnUser.ClientID %>').value);
}
break;
case '<%= btnUser_Load.ClientID %>':
var radWindow = GetRadWindowManager().getWindowByName('winUser');
radWindow.set_title('User Account Settings: ' + $('#<%= hdnUser_Display.ClientID %>').val());
radWindow.set_status('User Profile Information');
break;
case '<%= btnUser_Save.ClientID %>':
GetRadWindowManager().getWindowByName('winUser').close();
$get('<%= hdnUser.ClientID %>').value = '';
break;
default: break; //Do Nothing
}
}
}
function userGrid_OnClientCommand(CommandName, CommandArgument) {
var userGrid = $find('<%= userGrid.ClientID %>').get_masterTableView();
var rows = userGrid.get_selectedItems();
var postback = true
switch (CommandName) {
case 'addUser':
GetRadWindowManager().getWindowByName('winLookup').show();
postback = false;
break;
default:
break;
}
return postback;
}
function userEdit(user) {
$get('<%= hdnUser.ClientID %>').value = user;
<% if ( ((User)Session["User"]).Roles(RoleComparison.HasNone, Role.SuperAdmin) ) { %>
if (user != '<%= ((User)Session["User"]).UserID.ToString() %>') {
GetRadWindowManager().getWindowByName('winUser').show();
} else {
alert('Editing you own account is prohibited. Please\ncontact an administrator to make the changes.');
}
<% } else { %>
GetRadWindowManager().getWindowByName('winUser').show();
<% } %>
}
function winLookup_OnClientShow(radWindow) {
radWindow.set_status('Lookup users via Active Directory . . .');
$find('<%= btnLookup_Search.ClientID %>').focus();
}
function winLookup_OnClientClose(sender, eventArgs) {
$find('<%= txtLookup_LastName.ClientID %>').set_value('');
$find('<%= txtLookup_FirstName.ClientID %>').set_value('');
$find('<%= txtLookup_UserName.ClientID %>').set_value('');
$('#<%= chkLookup_IncludeDisabled.ClientID %>').prop('checked', false);
$find('<%= rlbLookup.ClientID %>').get_items().clear();
}
function btnLookup_Search_ClientClicking(sender, eventArgs) {
if ($.trim($find('<%= txtLookup_LastName.ClientID %>').get_value()) === '' &&
$.trim($find('<%= txtLookup_FirstName.ClientID %>').get_value()) === '' &&
$.trim($find('<%= txtLookup_UserName.ClientID %>').get_value()) === '') {
alert('Please fill in at least one search criteria field!');
eventArgs.set_cancel(true);
}
}
function btnLookup_Insert_ClientClicking(sender, eventArgs) {
if ($find('<%= rlbLookup.ClientID %>').get_selectedItems().length === 0) {
alert('No user has been selected yet!');
eventArgs.set_cancel(true);
}
}
function winUser_OnClientShow(radWindow) {
$find('<%= btnUser_Load.ClientID %>').click();
}
function winUser_OnClientClose(sender, eventArgs) {
var radWindow = GetRadWindowManager().getWindowByName('winUser');
radWindow.set_title('User Account Settings');
radWindow.set_status('User Profile Information');
$find('<%= tabConfig.ClientID %>').findTabByValue('1').select();
$find('<%= txtUser_LastName.ClientID %>').set_value('');
$find('<%= txtUser_FirstName.ClientID %>').set_value('');
$find('<%= txtUser_UserName.ClientID %>').set_value('');
$find('<%= txtUser_EmployeeID.ClientID %>').set_value('');
$get('<%= chkUser_Active.ClientID %>').checked = false;
$find('<%= rdlUser_Site.ClientID %>').get_items().getItem(0).set_selected(true);
$get('<%= hdnUser_Display.ClientID %>').value = '';
$get('<%= hdnUser.ClientID %>').value = '';
$get('<%= lblUser_Notice.ClientID %>').innerHTML = '';
$find('<%= userGrid.ClientID %>').get_masterTableView().rebind();
}
function btnUser_Save_ClientClicking(sender, eventArgs) {
var Halt = false;
var last = $find('<%= txtUser_LastName.ClientID %>');
if (!Halt && $.trim(last.get_value()) == '') {
alert('User must be assigned a last name in order to save.');
$find('<%= tabConfig.ClientID %>').findTabByValue('1').select();
last.set_value('');
last.focus();
Halt = true;
}
var first = $find('<%= txtUser_FirstName.ClientID %>');
if (!Halt && $.trim(first.get_value()) == '') {
alert('User must be assigned a first name in order to save.');
$find('<%= tabConfig.ClientID %>').findTabByValue('1').select();
first.set_value('');
first.focus();
Halt = true;
}
var site = $find('<%= rdlUser_Site.ClientID %>');
if (!Halt && site.get_selectedItem().get_value() == -1) {
alert('User must be assigned a site in order to save.');
$find('<%= tabConfig.ClientID %>').findTabByValue('1').select();
site._element.focus();
site.openDropDown();
Halt = true;
}
if (Halt) {
eventArgs.set_cancel(true);
}
}
function btnUser_Cancel_ClientClicked(sender, eventArgs) {
GetRadWindowManager().getWindowByName('winUser').close();
}
function tabConfig_ClientTabSelected(sender, eventArgs) {
var status = '';
switch (eventArgs.get_tab().get_value()) {
case '1':
status = 'User Profile Information';
break;
case '2':
status = 'Security Roles Settings';
break;
case '3':
status = 'Specific "Ops Training Performance" Module Settings';
break;
case '4':
status = 'Specific "L . A . S . E . R ." Module Settings';
break;
case '5':
status = 'Specific "Instructor Evals" Module Settings';
break;
case '6':
status = 'Specific "Trainging Requests" Module Settings';
break;
}
GetRadWindowManager().getWindowByName('winUser').set_status(status);
}
function pageLoad(sender, e) {
//Auto-focus the lastname search field
$find('<%= txtSearch_LastName.ClientID %>').focus();
//Fix jumpy grid pager, so it smoothly moves on resize
$(window).resize(function () {
var grid = $find('<%= userGrid.ClientID %>');
if (grid) {
grid.repaint();
}
});
if (!e.get_isPartialLoad()) {
if (shell) {
shell.BrowserWindow.winShell_Active();
shell.BrowserWindow.winShell_SetStatus(msg.pageNote);
}
}
var masterEl = $find('<%= userGrid.ClientID %>').get_masterTableView().get_element();
var noItemsEl = $(masterEl).find(".rgNoRecords")[0];
if (noItemsEl) {
masterEl.style.height = '75%';
masterEl.style.width = '100%';
$(masterEl).find('.rgNoRecords').children()[0].style.textAlign = 'center';
}
}
</
script
>
</
telerik:RadScriptBlock
>
<
asp:Panel
DefaultButton
=
"btnSearch"
ID
=
"searchPanel"
runat
=
"server"
>
<
div
style
=
"margin:8px 16px 0px 16px;"
>
<
fieldset
style
=
"padding-left:8px; height:95%; text-align:center;"
>
<
legend
>Personnel Filter</
legend
>
<
div
style
=
"display:inline-block;"
>
<
div
style
=
"float:left; padding:4px 0px 8px 12px;"
>
<
div
><
div
style
=
"display:inline-block; padding-right:4px; text-align:right; width:70px;"
><
span
style
=
"position:relative; top:2px;"
>Last Name:</
span
></
div
><
telerik:RadTextBox
ID
=
"txtSearch_LastName"
runat
=
"server"
></
telerik:RadTextBox
></
div
>
<
div
><
div
style
=
"display:inline-block; padding-right:4px; text-align:right; width:70px;"
><
span
style
=
"position:relative; top:2px;"
>First Name:</
span
></
div
><
telerik:RadTextBox
ID
=
"txtSearch_FirstName"
runat
=
"server"
></
telerik:RadTextBox
></
div
>
</
div
>
<
div
style
=
"float:left; padding:4px 0px 8px 12px;"
>
<
div
><
div
style
=
"display:inline-block; padding-right:4px; text-align:right; width:70px;"
><
span
style
=
"position:relative; top:2px;"
>User Name:</
span
></
div
><
telerik:RadTextBox
ID
=
"txtSearch_UserName"
runat
=
"server"
Width
=
"150px"
></
telerik:RadTextBox
></
div
>
<
div
><
div
style
=
"display:inline-block; padding-right:4px; text-align:right; width:70px;"
><
span
style
=
"position:relative; top:2px;"
>Employee ID:</
span
></
div
><
telerik:RadTextBox
ID
=
"txtSearch_EmployeeID"
runat
=
"server"
Width
=
"150px"
></
telerik:RadTextBox
></
div
>
</
div
>
<
div
style
=
"float:left; padding:4px 0px 8px 12px;"
>
<
div
><
div
style
=
"display:inline-block; padding-right:4px; text-align:right; width:40px;"
><
span
style
=
"position:relative; top:2px;"
>Active:</
span
></
div
><
telerik:RadDropDownList
ID
=
"rdlSearch_Active"
runat
=
"server"
Width
=
"180px"
></
telerik:RadDropDownList
></
div
>
<
div
><
div
style
=
"display:inline-block; padding-right:4px; text-align:right; width:40px;"
><
span
style
=
"position:relative; top:2px;"
>Site:</
span
></
div
><
telerik:RadDropDownList
AutoPostBack
=
"true"
ID
=
"rdlSearch_Site"
OnSelectedIndexChanged
=
"rdlSearch_Site_SelectedIndexChanged"
runat
=
"server"
Width
=
"180px"
></
telerik:RadDropDownList
></
div
>
</
div
>
<
div
style
=
"float:left; padding:4px 0px 8px 12px;"
>
<
div
><
div
style
=
"display:inline-block; padding-right:4px; text-align:right; width:70px;"
><
span
style
=
"position:relative; top:2px;"
>Crew:</
span
></
div
><
telerik:RadDropDownList
AutoPostBack
=
"true"
ID
=
"rdlSearch_Crew"
OnSelectedIndexChanged
=
"rdlSearch_Crew_SelectedIndexChanged"
runat
=
"server"
Width
=
"180px"
></
telerik:RadDropDownList
></
div
>
<
div
><
div
style
=
"display:inline-block; padding-right:4px; text-align:right; width:70px;"
><
span
style
=
"position:relative; top:2px;"
>Crew Group:</
span
></
div
><
telerik:RadDropDownList
ID
=
"rdlSearch_CrewGroup"
runat
=
"server"
Width
=
"180px"
></
telerik:RadDropDownList
></
div
>
</
div
>
</
div
>
<
div
style
=
"clear:both;"
></
div
>
<
div
style
=
"display:inline-block; padding:8px 0px 16px 0px;"
><
telerik:RadButton
ButtonType
=
"SkinnedButton"
ID
=
"btnSearch"
OnClick
=
"btnSearch_Click"
runat
=
"server"
Text
=
"Search"
Width
=
"100px"
></
telerik:RadButton
></
div
>
</
fieldset
>
</
div
>
</
asp:Panel
>
<
div
style
=
"height:70%; padding:8px 16px 0px 16px;"
>
<
telerik:RadGrid
AutoGenerateColumns
=
"false"
Height
=
"100%"
ID
=
"userGrid"
OnItemDataBound
=
"userGrid_ItemDataBound"
OnItemCommand
=
"userGrid_ItemCommand"
OnNeedDataSource
=
"userGrid_NeedDataSource"
runat
=
"server"
>
<
ClientSettings
>
<
Scrolling
AllowScroll
=
"true"
UseStaticHeaders
=
"true"
></
Scrolling
>
</
ClientSettings
>
<
MasterTableView
AllowPaging
=
"true"
AllowSorting
=
"true"
CommandItemDisplay
=
"Top"
EnableNoRecordsTemplate
=
"true"
ShowHeadersWhenNoRecords
=
"true"
TableLayout
=
"Fixed"
Width
=
"100%"
>
<
CommandItemTemplate
>
<
div
style
=
"float:left; padding:4px;"
>
<
asp:LinkButton
ID
=
"btnAddRecord"
CommandName
=
"addUser"
OnClientClick
=
"return userGrid_OnClientCommand('addUser','')"
runat
=
"server"
><
img
style
=
"border:0px;vertical-align:middle;"
alt
=
"Add New User"
src
=
"../img/ico/addUSer.png"
/><
span
style
=
"left:4px;position:relative;top:2px;"
>Add User</
span
></
asp:LinkButton
>
</
div
>
<
div
style
=
"float:right; padding:4px;"
>
</
div
>
<
div
style
=
"clear:both;"
></
div
>
</
CommandItemTemplate
>
<
Columns
>
<
telerik:GridBoundColumn
AllowSorting
=
"true"
ColumnEditorID
=
"User_ID"
DataField
=
"LastName"
HeaderText
=
"Last Name"
UniqueName
=
"LastName"
>
<
HeaderStyle
Width
=
"150px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
AllowSorting
=
"true"
ColumnEditorID
=
"User_ID"
DataField
=
"FirstName"
HeaderText
=
"First Name"
UniqueName
=
"FirstName"
>
<
HeaderStyle
Width
=
"150px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
AllowSorting
=
"true"
ColumnEditorID
=
"User_ID"
DataField
=
"UserName"
HeaderText
=
"User Name"
UniqueName
=
"UserName"
>
<
HeaderStyle
Width
=
"100px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
AllowSorting
=
"true"
ColumnEditorID
=
"User_ID"
DataField
=
"EmployeeID"
HeaderText
=
"Employee ID"
UniqueName
=
"EmployeeID"
>
<
HeaderStyle
Width
=
"100px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
AllowSorting
=
"true"
ColumnEditorID
=
"User_ID"
DataField
=
"Site"
HeaderText
=
"Site"
UniqueName
=
"Site"
>
<
HeaderStyle
Width
=
"125px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
AllowSorting
=
"true"
ColumnEditorID
=
"User_ID"
DataField
=
"Crew"
HeaderText
=
"Crew"
UniqueName
=
"Crew"
>
<
HeaderStyle
Width
=
"100px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
AllowSorting
=
"true"
ColumnEditorID
=
"User_ID"
DataField
=
"CrewGroup"
HeaderText
=
"Crew Group"
UniqueName
=
"CrewGroup"
>
<
HeaderStyle
Width
=
"100px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
AllowSorting
=
"true"
ColumnEditorID
=
"User_ID"
DataField
=
"Position"
HeaderText
=
"Position"
UniqueName
=
"Position"
>
<
HeaderStyle
Width
=
"100px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
AllowSorting
=
"true"
ColumnEditorID
=
"User_ID"
DataField
=
"Qualifications"
HeaderText
=
"Qualifications"
UniqueName
=
"Qualifications"
>
<
HeaderStyle
Width
=
"100px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridTemplateColumn
ColumnEditorID
=
"User_ID"
DataField
=
"Deleted"
HeaderText
=
"Active"
SortExpression
=
"Deleted"
UniqueName
=
"Deleted"
>
<
HeaderStyle
Width
=
"75px"
HorizontalAlign
=
"Center"
/>
<
ItemStyle
HorizontalAlign
=
"Center"
/>
<
ItemTemplate
>
<
asp:Literal
runat
=
"server"
ID
=
"ltrActive"
Text=<%# (Eval("Deleted").ToString() == "1") ? "No" : "Yes" %> ></
asp:Literal
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Action"
>
<
HeaderStyle
Width
=
"75px"
HorizontalAlign
=
"Center"
/>
<
ItemStyle
HorizontalAlign
=
"Center"
/>
<
ItemTemplate
>
<
div
>
<
asp:ImageButton
ID
=
"btnKey"
ImageUrl
=
"../img/edit.gif"
OnClientClick=<%# Eval("User_ID", "userEdit('{0}'); return false;") %> runat="server" title="Edit User Account"/>
</
div
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
>
<
HeaderStyle
Width
=
"100%"
/>
</
telerik:GridTemplateColumn
>
</
Columns
>
<
NoRecordsTemplate
>
<
asp:Label
ID
=
"lblEmpty"
Font-Size
=
"14pt"
runat
=
"server"
Text
=
"SET FILTER AND CLICK SEARCH TO VIEW RECORDS"
></
asp:Label
>
</
NoRecordsTemplate
>
<
PagerStyle
AlwaysVisible
=
"true"
/>
</
MasterTableView
>
</
telerik:RadGrid
>
</
div
>
</
asp:Content
>
CODE
using
System;
using
System.Collections.Generic;
using
System.Configuration;
using
System.Data;
using
System.Data.SqlClient;
using
System.DirectoryServices.AccountManagement;
using
System.Linq;
using
System.Web;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
Telerik.Web.UI;
public
partial
class
Personnel : System.Web.UI.Page {
//Weird Issue with personnel.designer.cs not declaring these controls
protected
global::System.Web.UI.WebControls.CheckBox chkUser_AccessILT;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_AccessLORT;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_AccessNLORT;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_Active;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_Clerical;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_CorporateAdmin;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_CorporateOTM;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_CorporateTrainingManager;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_Evaluator;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_ILTEvaluator;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_ILTInstructor;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_ILTOperator;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_InstructorEvaluator;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_Licensed;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_LORTEvaluator;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_LORTInstructor;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_LORTOperator;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_NLORTEvaluator;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_NLORTInstructor;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_NLORTOperator;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_OPSPeers;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_OPSTrainingInstructor;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_QALShiftManager;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_QALShiftTechnicalAdvisor;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_ShiftManager;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_SiteAdmin;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_SiteOPSManager;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_SiteOPSManagement;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_SiteOTM;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_SiteTrainingManager;
protected
global::System.Web.UI.WebControls.CheckBox chkUser_TrainingInstructorSME;
protected
global::System.Web.UI.WebControls.HiddenField hdnError;
protected
global::System.Web.UI.WebControls.HiddenField hdnUser;
protected
global::System.Web.UI.WebControls.HiddenField hdnUser_Display;
protected
global::System.Web.UI.WebControls.Label lblUser_Notice;
protected
global::Telerik.Web.UI.RadDropDownList rdlSearch_Active;
protected
global::Telerik.Web.UI.RadDropDownList rdlSearch_Site;
protected
global::Telerik.Web.UI.RadDropDownList rdlSearch_Crew;
protected
global::Telerik.Web.UI.RadDropDownList rdlSearch_CrewGroup;
protected
global::Telerik.Web.UI.RadDropDownList rdlUser_Crew;
protected
global::Telerik.Web.UI.RadDropDownList rdlUser_CrewGroup;
protected
global::Telerik.Web.UI.RadDropDownList rdlUser_Position;
protected
global::Telerik.Web.UI.RadDropDownList rdlUser_Site;
protected
global::Telerik.Web.UI.RadPageView rpvUserSecurity;
protected
global::Telerik.Web.UI.RadPageView rpvModOpsTrainingPerformance;
protected
global::Telerik.Web.UI.RadTextBox txtSearch_EmployeeID;
protected
global::Telerik.Web.UI.RadTextBox txtSearch_FirstName;
protected
global::Telerik.Web.UI.RadTextBox txtSearch_LastName;
protected
global::Telerik.Web.UI.RadTextBox txtSearch_UserName;
protected
global::Telerik.Web.UI.RadTextBox txtUser_EmployeeID;
protected
global::Telerik.Web.UI.RadTextBox txtUser_FirstName;
protected
global::Telerik.Web.UI.RadTextBox txtUser_LastName;
protected
global::Telerik.Web.UI.RadTextBox txtUser_UserName;
protected
global::Telerik.Web.UI.RadGrid userGrid;
protected
void
Page_Load(
object
sender, EventArgs e) {
((Label)Page.Master.FindControl(
"lblHeader"
)).Text =
"Personnel Admin"
;
Session[
"NavURL"
] = Request.Url.PathAndQuery;
if
(Session[
"User"
] ==
null
) {
Response.Redirect(
"~/Login.aspx"
);
}
if
(!Page.IsPostBack) {
checkSecurity();
rdlSearch_Active_Bind();
rdlSearch_Site_Bind();
rdlSearch_Crew_Bind();
rdlSearch_CrewGroup_Bind();
userGrid.DataSource =
new
int
[] { };
rdlUser_Site_Bind();
rpvUserSecurity_Bind();
rvpModOpsTrainingPerformance_Bind();
}
}
/// <summary>
/// Security check for this page. If the user does not have sufficient previlage, he/she is redirected to another page
/// </summary>
private
void
checkSecurity() {
User usr = (User)Session[
"User"
];
// checks whether user is in any of the roles that has access to this page, and kick them out if they are not in any of these roles
if
(usr.Roles(RoleComparison.HasNone, Role.OPSTrainingInstructor | Role.Clerical | Role.SiteOTM | Role.SiteAdmin | Role.CorperateAdmin | Role.SuperAdmin)) {
Response.Redirect(
"~/Home.aspx"
);
}
}
protected
void
Page_PreRender(
object
sender, EventArgs e) {
((Literal)Page.Master.FindControl(
"ltrModule"
)).Text =
""
;
}
protected
void
btnSearch_Click(
object
sender, EventArgs e) {
userGrid.Rebind();
if
(Convert.ToInt32(ViewState[
"RowCount"
]) == 0) {
GridNoRecordsItem norecordItem = (GridNoRecordsItem)userGrid.MasterTableView.GetItems(GridItemType.NoRecordsItem)[0];
Label lbl = (Label)norecordItem.FindControl(
"lblEmpty"
);
lbl.Text =
"NO RECORDS FOUND MATCHING FILTER"
;
}
}
protected
void
userGrid_ItemCommand(
object
sender, Telerik.Web.UI.GridCommandEventArgs e) {
switch
(e.CommandName) {
case
"addUser"
:
break
;
default
:
break
;
}
userGrid.Rebind();
}
protected
void
userGrid_ItemDataBound(
object
sender, GridItemEventArgs e) {
if
(e.Item
is
GridDataItem) {
GridDataItem gdi = e.Item
as
GridDataItem;
Literal ltr = gdi[
"Deleted"
].FindControl(
"ltrActive"
)
as
Literal;
if
(ltr.Text.Equals(
"No"
, StringComparison.OrdinalIgnoreCase)) {
gdi.ForeColor = System.Drawing.Color.Red;
}
}
}
protected
void
userGrid_NeedDataSource(
object
source, Telerik.Web.UI.GridNeedDataSourceEventArgs e) {
DataSet ds =
new
DataSet();
using
(SqlConnection con =
new
SqlConnection(ConfigurationManager.ConnectionStrings[
"TrainingSuite"
].ToString())) {
con.Open();
using
(SqlCommand cmd = con.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText =
"spGBL_Users_Select"
;
cmd.Parameters.Add(
"@LastName"
, SqlDbType.NVarChar, 255).Value = txtSearch_LastName.Text;
cmd.Parameters.Add(
"@FirstName"
, SqlDbType.NVarChar, 255).Value = txtSearch_FirstName.Text;
cmd.Parameters.Add(
"@UserName"
, SqlDbType.NVarChar, 255).Value = txtSearch_UserName.Text;
cmd.Parameters.Add(
"@EmployeeID"
, SqlDbType.NVarChar, 255).Value = txtSearch_EmployeeID.Text;
cmd.Parameters.Add(
"@Active"
, SqlDbType.Int).Value = Convert.ToInt32(rdlSearch_Active.SelectedValue);
cmd.Parameters.Add(
"@Site"
, SqlDbType.Int).Value = Convert.ToInt32(rdlSearch_Site.SelectedValue);
cmd.Parameters.Add(
"@Crew"
, SqlDbType.Int).Value = Convert.ToInt32(rdlSearch_Crew.SelectedValue);
cmd.Parameters.Add(
"@CrewGroup"
, SqlDbType.Int).Value = Convert.ToInt32(rdlSearch_CrewGroup.SelectedValue);
using
(SqlDataAdapter adapter =
new
SqlDataAdapter(cmd)) {
adapter.Fill(ds);
}
}
}
ViewState[
"RowCount"
] = ds.Tables[0].Rows.Count;
userGrid.DataSource = ds;
}
protected
void
btnLookup_Search_Click(
object
sender, EventArgs e) {
rlbLookup.DataTextField =
"adUser"
;
rlbLookup.DataValueField =
"adGUID"
;
DataTable sql = Security.QueryActiveDirectoryUsers(txtLookup_LastName.Text, txtLookup_FirstName.Text, txtLookup_UserName.Text, chkLookup_IncludeDisabled.Checked);
if
(sql.Rows[0][
"adGUID"
].ToString().Equals(
"-1"
)) {
rlbLookup.Items.Clear();
hdnError.Value = sql.Rows[0][
"adUser"
].ToString();
//Will contain the returned error message
}
else
{
rlbLookup.DataSource = sql;
rlbLookup.DataBind();
}
}
protected
void
btnLookup_Insert_Click(
object
sender, EventArgs e) {
try
{
using
(UserPrincipal user = Security.GetActiveDirectoryUserInfo(
new
Guid(rlbLookup.SelectedValue))) {
using
(SqlConnection con =
new
SqlConnection(ConfigurationManager.ConnectionStrings[
"TrainingSuite"
].ToString())) {
con.Open();
using
(SqlTransaction tra = con.BeginTransaction()) {
using
(SqlCommand cmd = con.CreateCommand()) {
cmd.Transaction = tra;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText =
"spGBL_AD2TSMAP_Insert"
;
cmd.Parameters.Add(
"@adGUID"
, SqlDbType.UniqueIdentifier).Value = user.Guid;
Guid tsGUID =
new
Guid(cmd.ExecuteScalar().ToString());
cmd.Parameters.Clear();
cmd.CommandText =
"spGBL_Users_Insert"
;
cmd.Parameters.Add(
"@User_ID"
, SqlDbType.UniqueIdentifier).Value = tsGUID;
cmd.Parameters.Add(
"@LastName"
, SqlDbType.NVarChar, 0).Value = user.Surname;
cmd.Parameters.Add(
"@FirstName"
, SqlDbType.NVarChar, 0).Value = user.GivenName;
cmd.Parameters.Add(
"@UserName"
, SqlDbType.NVarChar, 0).Value = user.SamAccountName;
if
(user.EmployeeId ==
null
) { cmd.Parameters.Add(
"@EmployeeID"
, SqlDbType.NVarChar, 0).Value =
""
; }
else
{ cmd.Parameters.Add(
"@EmployeeID"
, SqlDbType.NVarChar, 0).Value = user.EmployeeId; }
cmd.Parameters.Add(
"@Modified_By"
, SqlDbType.UniqueIdentifier, 0).Value = ((User)Session[
"User"
]).UserID;
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
cmd.CommandText =
"spOTP_Users_Profile_Insert"
;
cmd.Parameters.Add(
"@User_ID"
, SqlDbType.UniqueIdentifier).Value = tsGUID;
cmd.Parameters.Add(
"@Licensed"
, SqlDbType.Bit).Value = 0;
cmd.Parameters.Add(
"@Crew_ID"
, SqlDbType.Int).Value = DBNull.Value;
cmd.Parameters.Add(
"@CrewGroup_ID"
, SqlDbType.Int).Value = DBNull.Value;
cmd.Parameters.Add(
"@Position_ID"
, SqlDbType.Int).Value = DBNull.Value;
cmd.Parameters.Add(
"@Qualifications"
, SqlDbType.BigInt).Value = 0;
cmd.Parameters.Add(
"@ILT_Positions"
, SqlDbType.BigInt).Value = 0;
cmd.Parameters.Add(
"@LORT_Positions"
, SqlDbType.BigInt).Value = 0;
cmd.Parameters.Add(
"@NLORT_Positions"
, SqlDbType.BigInt).Value = 0;
cmd.Parameters.Add(
"@Modified_By"
, SqlDbType.UniqueIdentifier, 0).Value = ((User)Session[
"User"
]).UserID;
cmd.ExecuteNonQuery();
hdnUser.Value = tsGUID.ToString();
tra.Commit();
}
}
}
}
}
catch
(Exception ex) {
hdnUser.Value =
""
;
}
}
private
DataTable getSiteData() {
DataTable dat =
new
DataTable();
using
(SqlConnection con =
new
SqlConnection(ConfigurationManager.ConnectionStrings[
"TrainingSuite"
].ConnectionString)) {
con.Open();
using
(SqlCommand cmd = con.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText =
"spGBL_Sites_Select"
;
if
(((User)Session[
"User"
]).Roles(RoleComparison.HasAny, Role.CorporateOTM | Role.CorporateTrainingManager | Role.CorperateAdmin | Role.SuperAdmin)) {
cmd.Parameters.Add(
"@Include_Corporate"
, SqlDbType.Int).Value = 1;
}
using
(SqlDataAdapter adp =
new
SqlDataAdapter(cmd)) {
adp.Fill(dat);
}
}
}
return
dat;
}
private
DataTable getCrewData(Int32 Site_ID) {
String x = Session[
"Site"
].ToString();
DataTable dat =
new
DataTable();
using
(SqlConnection con =
new
SqlConnection(ConfigurationManager.ConnectionStrings[
"TrainingSuite"
].ConnectionString)) {
con.Open();
using
(SqlCommand cmd = con.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText =
"spGBL_Crews_Select"
;
cmd.Parameters.Add(
"@Site_ID"
, SqlDbType.Int).Value = Site_ID;
cmd.Parameters.Add(
"@Department_Type_ID"
, SqlDbType.Int).Value = 1;
using
(SqlDataAdapter adp =
new
SqlDataAdapter(cmd)) {
adp.Fill(dat);
}
}
}
return
dat;
}
private
DataTable getCrewGroupData(Int32 Site_ID, Int32 Crew_ID) {
if
(Crew_ID == 0) {
Crew_ID = -1;
}
DataTable dat =
new
DataTable();
using
(SqlConnection con =
new
SqlConnection(ConfigurationManager.ConnectionStrings[
"TrainingSuite"
].ConnectionString)) {
con.Open();
using
(SqlCommand cmd = con.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText =
"spOTP_CrewGroups_Select"
;
cmd.Parameters.Add(
"@Site_ID"
, SqlDbType.Int).Value = Site_ID;
cmd.Parameters.Add(
"@Crew_ID"
, SqlDbType.Int).Value = Crew_ID;
using
(SqlDataAdapter adp =
new
SqlDataAdapter(cmd)) {
adp.Fill(dat);
}
}
}
return
dat;
}
private
DataTable getPositionData(Int32 Site_ID) {
DataTable dat =
new
DataTable();
using
(SqlConnection con =
new
SqlConnection(ConfigurationManager.ConnectionStrings[
"TrainingSuite"
].ConnectionString)) {
con.Open();
using
(SqlCommand cmd = con.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText =
"spOTP_Positions_Select"
;
cmd.Parameters.Add(
"@Site_ID"
, SqlDbType.Int).Value = Site_ID;
using
(SqlDataAdapter adp =
new
SqlDataAdapter(cmd)) {
adp.Fill(dat);
}
}
}
return
dat;
}
private
void
rdlSearch_Active_Bind() {
rdlSearch_Active.Items.Insert(0,
new
DropDownListItem(
"--ALL--"
,
"0"
));
rdlSearch_Active.Items.Insert(1,
new
DropDownListItem(
"Yes"
,
"1"
));
rdlSearch_Active.Items.Insert(2,
new
DropDownListItem(
"No"
,
"2"
));
rdlSearch_Active.SelectedValue =
"1"
;
}
private
void
rdlSearch_Site_Bind() {
rdlSearch_Site.DataTextField =
"Site"
;
rdlSearch_Site.DataValueField =
"Site_ID"
;
DataTable sql = getSiteData();
rdlSearch_Site.DataSource = sql;
rdlSearch_Site.DataBind();
rdlSearch_Site.Items.Insert(0,
new
DropDownListItem(
"--ALL--"
,
"-1"
));
rdlSearch_Site.SelectedValue = Convert.ToString(Session[
"Site"
]);
User user = (User)Session[
"User"
];
if
(user.Roles(RoleComparison.HasNone, Role.CorperateAdmin | Role.SuperAdmin)) {
rdlSearch_Site.Enabled =
false
;
}
}
private
void
rdlSearch_Crew_Bind() {
rdlSearch_Crew.DataTextField =
"Crew"
;
rdlSearch_Crew.DataValueField =
"Crew_ID"
;
DataTable sql = getCrewData(Convert.ToInt32(rdlSearch_Site.SelectedValue));
rdlSearch_Crew.DataSource = sql;
rdlSearch_Crew.DataBind();
rdlSearch_Crew.Items.Insert(0,
new
DropDownListItem(
"--ALL--"
,
"-1"
));
}
private
void
rdlSearch_CrewGroup_Bind() {
rdlSearch_CrewGroup.DataTextField =
"CrewGroup"
;
rdlSearch_CrewGroup.DataValueField =
"CrewGroup_ID"
;
DataTable sql = getCrewGroupData(Convert.ToInt32(rdlSearch_Site.SelectedValue), Convert.ToInt32(rdlSearch_Crew.SelectedValue));
rdlSearch_CrewGroup.DataSource = sql;
rdlSearch_CrewGroup.DataBind();
rdlSearch_CrewGroup.Items.Insert(0,
new
DropDownListItem(
"--ALL--"
,
"-1"
));
}
private
void
rdlUser_Site_Bind() {
rdlUser_Site.DataTextField =
"Site"
;
rdlUser_Site.DataValueField =
"Site_ID"
;
DataTable sql = getSiteData();
rdlUser_Site.DataSource = sql;
rdlUser_Site.DataBind();
rdlUser_Site.Items.Insert(0,
new
DropDownListItem(
"-- SELECT A SITE --"
,
"-1"
));
}
private
void
rdlUser_Crew_Bind() {
rdlUser_Crew.DataTextField =
"Crew"
;
rdlUser_Crew.DataValueField =
"Crew_ID"
;
DataTable sql = getCrewData(Convert.ToInt32(rdlUser_Site.SelectedValue));
rdlUser_Crew.DataSource = sql;
rdlUser_Crew.DataBind();
rdlUser_Crew.Items.Insert(0,
new
DropDownListItem(
"N/A"
,
"0"
));
}
private
void
rdlUser_CrewGroup_Bind() {
rdlUser_CrewGroup.DataTextField =
"CrewGroup"
;
rdlUser_CrewGroup.DataValueField =
"CrewGroup_ID"
;
DataTable sql = getCrewGroupData(Convert.ToInt32(rdlUser_Site.SelectedValue), Convert.ToInt32(rdlUser_Crew.SelectedValue));
rdlUser_CrewGroup.DataSource = sql;
rdlUser_CrewGroup.DataBind();
rdlUser_CrewGroup.Items.Insert(0,
new
DropDownListItem(
"N/A"
,
"0"
));
}
private
void
rdlUser_Position_Bind() {
rdlUser_Position.DataTextField =
"Position"
;
rdlUser_Position.DataValueField =
"Position_ID"
;
DataTable sql = getPositionData(Convert.ToInt32(rdlUser_Site.SelectedValue));
rdlUser_Position.DataSource = sql;
rdlUser_Position.DataBind();
rdlUser_Position.Items.Insert(0,
new
DropDownListItem(
"N/A"
,
"0"
));
}
private
void
rpvUserSecurity_Bind() {
chkUser_SiteAdmin.InputAttributes.Add(
"Value"
,
"2"
);
chkUser_CorporateAdmin.InputAttributes.Add(
"Value"
,
"1"
);
chkUser_OPSTrainingInstructor.InputAttributes.Add(
"Value"
,
"14"
);
chkUser_ShiftManager.InputAttributes.Add(
"Value"
,
"13"
);
chkUser_Evaluator.InputAttributes.Add(
"Value"
,
"12"
);
chkUser_SiteOPSManagement.InputAttributes.Add(
"Value"
,
"11"
);
chkUser_SiteOTM.InputAttributes.Add(
"Value"
,
"10"
);
chkUser_OPSPeers.InputAttributes.Add(
"Value"
,
"9"
);
chkUser_CorporateOTM.InputAttributes.Add(
"Value"
,
"8"
);
chkUser_Clerical.InputAttributes.Add(
"Value"
,
"7"
);
chkUser_InstructorEvaluator.InputAttributes.Add(
"Value"
,
"6"
);
chkUser_TrainingInstructorSME.InputAttributes.Add(
"Value"
,
"5"
);
chkUser_SiteTrainingManager.InputAttributes.Add(
"Value"
,
"4"
);
chkUser_CorporateTrainingManager.InputAttributes.Add(
"Value"
,
"3"
);
}
private
void
rvpModOpsTrainingPerformance_Bind() {
chkUser_AccessILT.InputAttributes.Add(
"Value"
,
"1"
);
chkUser_AccessLORT.InputAttributes.Add(
"Value"
,
"2"
);
chkUser_AccessNLORT.InputAttributes.Add(
"Value"
,
"3"
);
chkUser_QALShiftTechnicalAdvisor.InputAttributes.Add(
"Value"
,
"1"
);
chkUser_QALShiftManager.InputAttributes.Add(
"Value"
,
"2"
);
chkUser_ILTOperator.InputAttributes.Add(
"Value"
,
"1"
);
chkUser_ILTInstructor.InputAttributes.Add(
"Value"
,
"2"
);
chkUser_ILTEvaluator.InputAttributes.Add(
"Value"
,
"4"
);
chkUser_LORTOperator.InputAttributes.Add(
"Value"
,
"1"
);
chkUser_LORTInstructor.InputAttributes.Add(
"Value"
,
"2"
);
chkUser_LORTEvaluator.InputAttributes.Add(
"Value"
,
"4"
);
chkUser_NLORTOperator.InputAttributes.Add(
"Value"
,
"1"
);
chkUser_NLORTInstructor.InputAttributes.Add(
"Value"
,
"2"
);
chkUser_NLORTEvaluator.InputAttributes.Add(
"Value"
,
"4"
);
}
protected
void
btnUser_Load_Click(
object
sender, EventArgs e) {
DataTable Details = getUserDetails(
new
Guid(hdnUser.Value));
//Notice
hdnUser_Display.Value = String.Format(
"{0} ({1}, {2})"
, Details.Rows[0][
"UserName"
], Details.Rows[0][
"LastName"
], Details.Rows[0][
"FirstName"
]);
lblUser_Notice.Text =
""
;
if
(!Security.CheckGroupMembership(
new
Guid(Convert.ToString(Details.Rows[0][
"adGUID"
])), ConfigurationManager.AppSettings[
"tsGroup"
])) {
lblUser_Notice.Text = String.Format(
" * Not a member of: {0}! (Security Roles will not apply)"
, ConfigurationManager.AppSettings[
"tsGroup"
]);
}
//Employee Info
txtUser_LastName.Text = Convert.ToString(Details.Rows[0][
"LastName"
]);
txtUser_FirstName.Text = Convert.ToString(Details.Rows[0][
"FirstName"
]);
txtUser_UserName.Text = Convert.ToString(Details.Rows[0][
"UserName"
]);
txtUser_EmployeeID.Text = Convert.ToString(Details.Rows[0][
"EmployeeID"
]);
chkUser_Active.Checked = !Convert.ToBoolean(Convert.ToInt32(Details.Rows[0][
"Deleted"
]));
rdlUser_Site.SelectedValue = Convert.ToString(Details.Rows[0][
"Site_ID"
]);
//User Security
chkUser_SiteAdmin.Checked = ((((Role)Convert.ToInt64(Details.Rows[0][
"UserRoles"
])) & Role.SiteAdmin) == Role.SiteAdmin);
chkUser_CorporateAdmin.Checked = ((((Role)Convert.ToInt64(Details.Rows[0][
"UserRoles"
])) & Role.CorperateAdmin) == Role.CorperateAdmin);
chkUser_OPSTrainingInstructor.Checked = ((((Role)Convert.ToInt64(Details.Rows[0][
"UserRoles"
])) & Role.OPSTrainingInstructor) == Role.OPSTrainingInstructor);
chkUser_ShiftManager.Checked = ((((Role)Convert.ToInt64(Details.Rows[0][
"UserRoles"
])) & Role.ShiftManager) == Role.ShiftManager);
chkUser_Evaluator.Checked = ((((Role)Convert.ToInt64(Details.Rows[0][
"UserRoles"
])) & Role.Evaluator) == Role.Evaluator);
chkUser_SiteOPSManagement.Checked = ((((Role)Convert.ToInt64(Details.Rows[0][
"UserRoles"
])) & Role.SiteOPSManagement) == Role.SiteOPSManagement);
chkUser_SiteOTM.Checked = ((((Role)Convert.ToInt64(Details.Rows[0][
"UserRoles"
])) & Role.SiteOTM) == Role.SiteOTM);
chkUser_OPSPeers.Checked = ((((Role)Convert.ToInt64(Details.Rows[0][
"UserRoles"
])) & Role.OPSPeer) == Role.OPSPeer);
chkUser_CorporateOTM.Checked = ((((Role)Convert.ToInt64(Details.Rows[0][
"UserRoles"
])) & Role.CorporateOTM) == Role.CorporateOTM);
chkUser_Clerical.Checked = ((((Role)Convert.ToInt64(Details.Rows[0][
"UserRoles"
])) & Role.Clerical) == Role.Clerical);
chkUser_InstructorEvaluator.Checked = ((((Role)Convert.ToInt64(Details.Rows[0][
"UserRoles"
])) & Role.InstructorEvaluator) == Role.InstructorEvaluator);
chkUser_TrainingInstructorSME.Checked = ((((Role)Convert.ToInt64(Details.Rows[0][
"UserRoles"
])) & Role.TrainingInstructorSME) == Role.TrainingInstructorSME);
chkUser_SiteTrainingManager.Checked = ((((Role)Convert.ToInt64(Details.Rows[0][
"UserRoles"
])) & Role.SiteTrainingManager) == Role.SiteTrainingManager);
chkUser_CorporateTrainingManager.Checked = ((((Role)Convert.ToInt64(Details.Rows[0][
"UserRoles"
])) & Role.CorporateTrainingManager) == Role.CorporateTrainingManager);
//OTP Training Performance
chkUser_Licensed.Checked = Convert.ToBoolean(Convert.ToString(Details.Rows[0][
"Licensed"
]));
chkUser_AccessILT.Checked = ((Convert.ToInt64(Details.Rows[0][
"OTPUserRoles"
]) & 2) == 2);
chkUser_AccessLORT.Checked = ((Convert.ToInt64(Details.Rows[0][
"OTPUserRoles"
]) & 4) == 4);
chkUser_AccessNLORT.Checked = ((Convert.ToInt64(Details.Rows[0][
"OTPUserRoles"
]) & 8) == 8);
rdlUser_Crew_Bind();
rdlUser_Crew.SelectedValue = (Details.Rows[0][
"Crew_ID"
] == DBNull.Value) ?
"0"
: Convert.ToString(Details.Rows[0][
"Crew_ID"
]);
rdlUser_CrewGroup_Bind();
rdlUser_CrewGroup.SelectedValue = (Details.Rows[0][
"CrewGroup_ID"
] == DBNull.Value) ?
"0"
: Convert.ToString(Details.Rows[0][
"CrewGroup_ID"
]);
rdlUser_Position_Bind();
rdlUser_Position.SelectedValue = (Details.Rows[0][
"Position_ID"
] == DBNull.Value) ?
"0"
: Convert.ToString(Details.Rows[0][
"Position_ID"
]);
chkUser_QALShiftTechnicalAdvisor.Checked = ((Convert.ToInt64(Details.Rows[0][
"Qualifications"
]) & 1) == 1);
chkUser_QALShiftManager.Checked = ((Convert.ToInt64(Details.Rows[0][
"Qualifications"
]) & 2) == 2);
chkUser_ILTOperator.Checked = ((Convert.ToInt64(Details.Rows[0][
"ILT_Positions"
]) & 1) == 1);
chkUser_ILTInstructor.Checked = ((Convert.ToInt64(Details.Rows[0][
"ILT_Positions"
]) & 2) == 2);
chkUser_ILTEvaluator.Checked = ((Convert.ToInt64(Details.Rows[0][
"ILT_Positions"
]) & 4) == 4);
chkUser_LORTOperator.Checked = ((Convert.ToInt64(Details.Rows[0][
"LORT_Positions"
]) & 1) == 1);
chkUser_LORTInstructor.Checked = ((Convert.ToInt64(Details.Rows[0][
"LORT_Positions"
]) & 2) == 2);
chkUser_LORTEvaluator.Checked = ((Convert.ToInt64(Details.Rows[0][
"LORT_Positions"
]) & 4) == 4);
chkUser_NLORTOperator.Checked = ((Convert.ToInt64(Details.Rows[0][
"NLORT_Positions"
]) & 1) == 1);
chkUser_NLORTInstructor.Checked = ((Convert.ToInt64(Details.Rows[0][
"NLORT_Positions"
]) & 2) == 2);
chkUser_NLORTEvaluator.Checked = ((Convert.ToInt64(Details.Rows[0][
"NLORT_Positions"
]) & 4) == 4);
}
protected
void
rdlSearch_Site_SelectedIndexChanged(
object
sender, DropDownListEventArgs e) {
rdlSearch_Crew_Bind();
rdlSearch_Crew.SelectedIndex = 0;
rdlSearch_CrewGroup_Bind();
rdlSearch_CrewGroup.SelectedIndex = 0;
}
protected
void
rdlSearch_Crew_SelectedIndexChanged(
object
sender, DropDownListEventArgs e) {
rdlSearch_CrewGroup_Bind();
rdlSearch_CrewGroup.SelectedIndex = 0;
}
protected
void
rdlUser_Site_SelectedIndexChanged(
object
sender, DropDownListEventArgs e) {
rdlUser_Crew_Bind();
rdlUser_Crew.SelectedIndex = 0;
rdlUser_CrewGroup_Bind();
rdlUser_CrewGroup.SelectedIndex = 0;
rdlUser_Position_Bind();
rdlUser_Position.SelectedIndex = 0;
}
protected
void
rdlUser_Crew_SelectedIndexChanged(
object
sender, DropDownListEventArgs e) {
rdlUser_CrewGroup_Bind();
rdlUser_CrewGroup.SelectedIndex = 0;
}
protected
void
btnUser_Save_Click(
object
sender, EventArgs e) {
using
(SqlConnection con =
new
SqlConnection(ConfigurationManager.ConnectionStrings[
"TrainingSuite"
].ToString())) {
con.Open();
using
(SqlTransaction tra = con.BeginTransaction()) {
using
(SqlCommand cmd = con.CreateCommand()) {
cmd.Transaction = tra;
cmd.CommandType = CommandType.StoredProcedure;
//Employee Info
cmd.CommandText =
"spGBL_Users_Update"
;
cmd.Parameters.Add(
"@User_ID"
, SqlDbType.UniqueIdentifier).Value =
new
Guid(hdnUser.Value);
cmd.Parameters.Add(
"@LastName"
, SqlDbType.NVarChar, 255).Value = txtUser_LastName.Text;
cmd.Parameters.Add(
"@FirstName"
, SqlDbType.NVarChar, 255).Value = txtUser_FirstName.Text;
cmd.Parameters.Add(
"@UserName"
, SqlDbType.NVarChar, 255).Value = txtUser_UserName.Text;
cmd.Parameters.Add(
"@EmployeeID"
, SqlDbType.NVarChar, 255).Value = txtUser_EmployeeID.Text;
cmd.Parameters.Add(
"@Active"
, SqlDbType.Int).Value = Convert.ToInt32(!chkUser_Active.Checked);
cmd.Parameters.Add(
"@Site"
, SqlDbType.Int).Value = Convert.ToInt32(rdlUser_Site.SelectedValue);
cmd.Parameters.Add(
"@Modified_By"
, SqlDbType.UniqueIdentifier, 0).Value = ((User)Session[
"User"
]).UserID;
cmd.ExecuteNonQuery();
//User Security
foreach
(Control ctr
in
rpvUserSecurity.Controls) {
if
(ctr
is
CheckBox && ctr !=
null
) {
CheckBox chk = (CheckBox)ctr;
if
(chk.Checked) {
cmd.CommandText =
"spGBL_UsersRoles_Insert"
;
}
else
{
cmd.CommandText =
"spGBL_UsersRoles_Delete"
;
}
cmd.Parameters.Clear();
cmd.Parameters.Add(
"@User_ID"
, SqlDbType.UniqueIdentifier).Value =
new
Guid(hdnUser.Value);
cmd.Parameters.Add(
"@Role_ID"
, SqlDbType.Int).Value = Convert.ToInt32(chk.InputAttributes[
"Value"
]);
cmd.Parameters.Add(
"@Modified_By"
, SqlDbType.UniqueIdentifier, 0).Value = ((User)Session[
"User"
]).UserID;
cmd.ExecuteNonQuery();
}
}
//OTP Training Performance
foreach
(Control ctr
in
rpvModOpsTrainingPerformance.Controls) {
if
(ctr
is
CheckBox && ctr !=
null
) {
CheckBox chk = (CheckBox)ctr;
if
(chk.ID.StartsWith(
"chkUser_Access"
)) {
if
(chk.Checked) {
cmd.CommandText =
"spOTP_UsersRoles_Insert"
;
}
else
{
cmd.CommandText =
"spOTP_UsersRoles_Delete"
;
}
cmd.Parameters.Clear();
cmd.Parameters.Add(
"@User_ID"
, SqlDbType.UniqueIdentifier).Value =
new
Guid(hdnUser.Value);
cmd.Parameters.Add(
"@Role_ID"
, SqlDbType.Int).Value = Convert.ToInt32(chk.InputAttributes[
"Value"
]);
cmd.Parameters.Add(
"@Modified_By"
, SqlDbType.UniqueIdentifier, 0).Value = ((User)Session[
"User"
]).UserID;
cmd.ExecuteNonQuery();
}
}
}
Int64 QAL = 0;
Int64 ILT = 0;
Int64 LORT = 0;
Int64 NLORT = 0;
foreach
(Control ctr
in
rpvModOpsTrainingPerformance.Controls) {
if
(ctr
is
CheckBox && ctr !=
null
) {
CheckBox chk = (CheckBox)ctr;
if
(chk.Checked) {
if
(chk.ID.StartsWith(
"chkUser_QAL"
)) {
QAL = (QAL | Convert.ToInt64(chk.InputAttributes[
"Value"
]));
}
if
(chk.ID.StartsWith(
"chkUser_ILT"
)) {
ILT = (ILT | Convert.ToInt64(chk.InputAttributes[
"Value"
]));
}
if
(chk.ID.StartsWith(
"chkUser_LORT"
)) {
LORT = (LORT | Convert.ToInt64(chk.InputAttributes[
"Value"
]));
}
if
(chk.ID.StartsWith(
"chkUser_NLORT"
)) {
NLORT = (NLORT | Convert.ToInt64(chk.InputAttributes[
"Value"
]));
}
}
cmd.CommandText =
"spOTP_Users_Profile_Update"
;
cmd.Parameters.Clear();
cmd.Parameters.Add(
"@User_ID"
, SqlDbType.UniqueIdentifier).Value =
new
Guid(hdnUser.Value);
cmd.Parameters.Add(
"@Licensed"
, SqlDbType.Bit).Value = chkUser_Licensed.Checked;
if
(rdlUser_Crew.SelectedValue.Equals(
"0"
)) { cmd.Parameters.Add(
"@Crew_ID"
, SqlDbType.Int).Value = DBNull.Value; }
else
{ cmd.Parameters.Add(
"@Crew_ID"
, SqlDbType.Int).Value = Convert.ToInt32(rdlUser_Crew.SelectedValue); }
if
(rdlUser_CrewGroup.SelectedValue.Equals(
"0"
)) { cmd.Parameters.Add(
"@CrewGroup_ID"
, SqlDbType.Int).Value = DBNull.Value; }
else
{cmd.Parameters.Add(
"@CrewGroup_ID"
, SqlDbType.Int).Value = Convert.ToInt32(rdlUser_CrewGroup.SelectedValue); }
if
(rdlUser_Position.SelectedValue.Equals(
"0"
)) { cmd.Parameters.Add(
"@Position_ID"
, SqlDbType.Int).Value = DBNull.Value; }
else
{cmd.Parameters.Add(
"@Position_ID"
, SqlDbType.Int).Value = Convert.ToInt32(rdlUser_Position.SelectedValue); }
cmd.Parameters.Add(
"@Qualifications"
, SqlDbType.BigInt).Value = QAL;
cmd.Parameters.Add(
"@ILT_Positions"
, SqlDbType.BigInt).Value = ILT;
cmd.Parameters.Add(
"@LORT_Positions"
, SqlDbType.BigInt).Value = LORT;
cmd.Parameters.Add(
"@NLORT_Positions"
, SqlDbType.BigInt).Value = NLORT;
cmd.Parameters.Add(
"@Modified_By"
, SqlDbType.UniqueIdentifier, 0).Value = ((User)Session[
"User"
]).UserID;
cmd.ExecuteNonQuery();
}
}
tra.Commit();
}
}
}
userGrid.Rebind();
}
private
DataTable getUserDetails(Guid User_ID) {
DataTable dat =
new
DataTable();
using
(SqlConnection con =
new
SqlConnection(ConfigurationManager.ConnectionStrings[
"TrainingSuite"
].ToString())) {
con.Open();
using
(SqlCommand cmd = con.CreateCommand()) {
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText =
"spGBL_Users_SelectDetails"
;
cmd.Parameters.Add(
"@User_ID"
, SqlDbType.UniqueIdentifier).Value = User_ID;
using
(SqlDataAdapter adapter =
new
SqlDataAdapter(cmd)) {
adapter.Fill(dat);
}
}
}
return
dat;
}
public
String AccountStatus(String Enabled) {
String Status =
"<img src=\"../img/ico/disabled.png\" title=\"Account Disabled\" />"
;
if
(Convert.ToBoolean(Enabled)) {
Status =
"<img src=\"../img/ico/enabled.png\" title=\"Account Enabled\" />"
;
}
return
Status;
}
}
0
Hello John,
I prepared a sample project using the declaration of RadGrid you are using in order to isolate the problem. However, I am not able to replicate the problem on it. Could you please modify the project to reproduce the issue and let me know what I am missing?
Regards,
Milena
Telerik
I prepared a sample project using the declaration of RadGrid you are using in order to isolate the problem. However, I am not able to replicate the problem on it. Could you please modify the project to reproduce the issue and let me know what I am missing?
Regards,
Milena
Telerik
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to the blog feed now.