This is a webforms c# application.
I have a formview titled "fv_doc_rvw_details" with several fields that can be edited. One of the fields that can be edited is "docRvwStat", this is a document status field. I would like to update another field using code behind if the value of "docRvwStat" changes. For example, if it starts as "1" and is changed to "2", I would like the "docRvwStatSetBy" field to be changed to the current user.
If the original value of docRvwStat changes Then docRvwStatSetBy = HttpContext.Current.User.Identity.Name Else Only update the other fields
How can I accomplish this task?
Here is the aspx code:
<asp:SqlDataSource ID="sdc_fv_doc_rvw_details" runat="server" ConflictDetection="CompareAllValues"
ConnectionString='<%$ ConnectionStrings:drapConnectionString %>' DeleteCommand="DELETE FROM [docRvws] WHERE [docRvwId] = @original_docRvwId AND [docRvwCrtdBy] = @original_docRvwCrtdBy AND [docRvwCrtdDt] = @original_docRvwCrtdDt AND [docRvwAorRqd] = @original_docRvwAorRqd AND (([docRvwSubTdiDt] = @original_docRvwSubTdiDt) OR ([docRvwSubTdiDt] IS NULL AND @original_docRvwSubTdiDt IS NULL)) AND (([docRvwApprvdTdi] = @original_docRvwApprvdTdi) OR ([docRvwApprvdTdi] IS NULL AND @original_docRvwApprvdTdi IS NULL)) AND (([docRvwApprvdTdiDt] = @original_docRvwApprvdTdiDt) OR ([docRvwApprvdTdiDt] IS NULL AND @original_docRvwApprvdTdiDt IS NULL)) AND [docRvwStat] = @original_docRvwStat AND [docRvwStatDt] = @original_docRvwStatDt AND [docRvwStatSetBy] = @original_docRvwStatSetBy AND [docIdFk] = @original_docIdFk"
InsertCommand="INSERT INTO [docRvws] ([docRvwCrtdBy], [docRvwCrtdDt], [docRvwAorRqd], [docRvwSubTdiDt], [docRvwApprvdTdi], [docRvwApprvdTdiDt], [docRvwStat], [docRvwStatDt], [docRvwStatSetBy], [docIdFk]) VALUES (@docRvwCrtdBy, @docRvwCrtdDt, @docRvwAorRqd, @docRvwSubTdiDt, @docRvwApprvdTdi, @docRvwApprvdTdiDt, @docRvwStat, @docRvwStatDt, @docRvwStatSetBy, @docIdFk)"
OldValuesParameterFormatString="original_{0}" SelectCommand="SELECT [docRvwId], [docRvwCrtdBy], [docRvwCrtdDt], [docRvwAorRqd], [docRvwSubTdiDt], [docRvwApprvdTdi], [docRvwApprvdTdiDt], [docRvwStat], [stat], [docRvwStatDt], [docRvwStatSetBy], [docIdFk] FROM [docRvws] LEFT JOIN stats ON docRvws.docRvwStat = stats.statId WHERE ([docRvwId] = @docRvwId)"
UpdateCommand="UPDATE [docRvws] SET [docRvwCrtdBy] = @docRvwCrtdBy, [docRvwCrtdDt] = @docRvwCrtdDt, [docRvwAorRqd] = @docRvwAorRqd, [docRvwSubTdiDt] = @docRvwSubTdiDt, [docRvwApprvdTdi] = @docRvwApprvdTdi, [docRvwApprvdTdiDt] = @docRvwApprvdTdiDt, [docRvwStat] = @docRvwStat, [docRvwStatDt] = @docRvwStatDt, [docRvwStatSetBy] = @docRvwStatSetBy, [docIdFk] = @docIdFk WHERE [docRvwId] = @original_docRvwId AND [docRvwCrtdBy] = @original_docRvwCrtdBy AND [docRvwCrtdDt] = @original_docRvwCrtdDt AND [docRvwAorRqd] = @original_docRvwAorRqd AND (([docRvwSubTdiDt] = @original_docRvwSubTdiDt) OR ([docRvwSubTdiDt] IS NULL AND @original_docRvwSubTdiDt IS NULL)) AND (([docRvwApprvdTdi] = @original_docRvwApprvdTdi) OR ([docRvwApprvdTdi] IS NULL AND @original_docRvwApprvdTdi IS NULL)) AND (([docRvwApprvdTdiDt] = @original_docRvwApprvdTdiDt) OR ([docRvwApprvdTdiDt] IS NULL AND @original_docRvwApprvdTdiDt IS NULL)) AND [docRvwStat] = @original_docRvwStat AND [docRvwStatDt] = @original_docRvwStatDt AND [docRvwStatSetBy] = @original_docRvwStatSetBy AND [docIdFk] = @original_docIdFk">
<DeleteParameters>
<asp:Parameter Name="original_docRvwId" Type="Int32"></asp:Parameter>
<asp:Parameter Name="original_docRvwCrtdBy" Type="String"></asp:Parameter>
<asp:Parameter Name="original_docRvwCrtdDt" Type="DateTime"></asp:Parameter>
<asp:Parameter Name="original_docRvwAorRqd" Type="Boolean"></asp:Parameter>
<asp:Parameter Name="original_docRvwSubTdiDt" Type="DateTime"></asp:Parameter>
<asp:Parameter Name="original_docRvwApprvdTdi" Type="Boolean"></asp:Parameter>
<asp:Parameter Name="original_docRvwApprvdTdiDt" Type="DateTime"></asp:Parameter>
<asp:Parameter Name="original_docRvwStat" Type="Int32"></asp:Parameter>
<asp:Parameter Name="original_docRvwStatDt" Type="DateTime"></asp:Parameter>
<asp:Parameter Name="original_docRvwStatSetBy" Type="String"></asp:Parameter>
<asp:Parameter Name="original_docIdFk" Type="Int32"></asp:Parameter>
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="docRvwCrtdBy" Type="String"></asp:Parameter>
<asp:Parameter Name="docRvwCrtdDt" Type="DateTime"></asp:Parameter>
<asp:Parameter Name="docRvwAorRqd" Type="Boolean"></asp:Parameter>
<asp:Parameter Name="docRvwSubTdiDt" Type="DateTime"></asp:Parameter>
<asp:Parameter Name="docRvwApprvdTdi" Type="Boolean"></asp:Parameter>
<asp:Parameter Name="docRvwApprvdTdiDt" Type="DateTime"></asp:Parameter>
<asp:Parameter Name="docRvwStat" Type="Int32"></asp:Parameter>
<asp:Parameter Name="docRvwStatDt" Type="DateTime"></asp:Parameter>
<asp:Parameter Name="docRvwStatSetBy" Type="String"></asp:Parameter>
<asp:Parameter Name="docIdFk" Type="Int32"></asp:Parameter>
</InsertParameters>
<SelectParameters>
<asp:ControlParameter ControlID="rg_doc_rvw" PropertyName="SelectedValue" Name="docRvwId"
Type="Int32"></asp:ControlParameter>
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="docRvwCrtdBy" Type="String"></asp:Parameter>
<asp:Parameter Name="docRvwCrtdDt" Type="DateTime"></asp:Parameter>
<asp:Parameter Name="docRvwAorRqd" Type="Boolean"></asp:Parameter>
<asp:Parameter Name="docRvwSubTdiDt" Type="DateTime"></asp:Parameter>
<asp:Parameter Name="docRvwApprvdTdi" Type="Boolean"></asp:Parameter>
<asp:Parameter Name="docRvwApprvdTdiDt" Type="DateTime"></asp:Parameter>
<asp:Parameter Name="docRvwStat" Type="Int32"></asp:Parameter>
<asp:Parameter Name="docRvwStatDt" Type="DateTime"></asp:Parameter>
<asp:Parameter Name="docRvwStatSetBy" Type="String"></asp:Parameter>
<asp:Parameter Name="docIdFk" Type="Int32"></asp:Parameter>
<asp:Parameter Name="original_docRvwId" Type="Int32"></asp:Parameter>
<asp:Parameter Name="original_docRvwCrtdBy" Type="String"></asp:Parameter>
<asp:Parameter Name="original_docRvwCrtdDt" Type="DateTime"></asp:Parameter>
<asp:Parameter Name="original_docRvwAorRqd" Type="Boolean"></asp:Parameter>
<asp:Parameter Name="original_docRvwSubTdiDt" Type="DateTime"></asp:Parameter>
<asp:Parameter Name="original_docRvwApprvdTdi" Type="Boolean"></asp:Parameter>
<asp:Parameter Name="original_docRvwApprvdTdiDt" Type="DateTime"></asp:Parameter>
<asp:Parameter Name="original_docRvwStat" Type="Int32"></asp:Parameter>
<asp:Parameter Name="original_docRvwStatDt" Type="DateTime"></asp:Parameter>
<asp:Parameter Name="original_docRvwStatSetBy" Type="String"></asp:Parameter>
<asp:Parameter Name="original_docIdFk" Type="Int32"></asp:Parameter>
</UpdateParameters>
</asp:SqlDataSource>
<asp:FormView ID="fv_doc_rvw_details" runat="server" DataSourceID="sdc_fv_doc_rvw_details"
DataKeyNames="docRvwId" CssClass="widecontrol" OnItemUpdated="fv_doc_rvw_details_ItemUpdated">
<EditItemTemplate>
<asp:Label Text='<%# Eval("docRvwId") %>' runat="server" ID="docRvwIdLabel1" Visible="false" />
<asp:Label Text='<%# Bind("docIdFk") %>' runat="server" ID="docIdFkTextBox" Visible="false" />
<div class="row">
<div class="col-md-3 form-group">
<strong>Created By</strong><br />
<asp:TextBox Text='<%# Bind("docRvwCrtdBy") %>' runat="server" ID="docRvwCrtdByTextBox"
ReadOnly="true" BackColor="Wheat" CssClass="widecontrol form-control" />
</div>
<div class="col-md-3 form-group">
<strong>Review Start Date</strong><br />
<asp:TextBox Text='<%# Bind("docRvwCrtdDt") %>' runat="server" ID="docRvwCrtdDtTextBox"
ReadOnly="true" BackColor="Wheat" CssClass="widecontrol form-control" />
</div>
<div class="col-md-3 form-group">
<strong>Administrative Oversight Required</strong><br />
<asp:CheckBox Checked='<%# Bind("docRvwAorRqd") %>' runat="server" ID="docRvwAorRqdCheckBox"
CssClass="form-control" />
</div>
<div class="col-md-3 form-group">
<strong>Date Submitted to TDI</strong>
<asp:TextBox Text='<%# Bind("docRvwSubTdiDt") %>' runat="server" ID="docRvwSubTdiDtTextBox"
CssClass="widecontrol form-control" />
</div>
</div>
<div class="row">
<div class="col-md-3 form-group">
<strong>Approved by TDI</strong><br />
<asp:CheckBox Checked='<%# Bind("docRvwApprvdTdi") %>' runat="server" ID="docRvwApprvdTdiCheckBox"
CssClass="form-control" />
</div>
<div class="col-md-3 form-group">
<strong>Date Approved by TDI</strong><br />
<asp:TextBox Text='<%# Bind("docRvwApprvdTdiDt") %>' runat="server" ID="docRvwApprvdTdiDtTextBox"
CssClass="widecontrol form-control" />
</div>
<div class="col-md-3 form-group">
<strong>Review Status</strong><br />
<%--<asp:TextBox Text='<%# Bind("docRvwStat") %>' runat="server" ID="docRvwStatTextBox" CssClass="widecontrol form-control" />--%>
<asp:DropDownList ID="docRvwStatDdl" runat="server" SelectedValue='<%# Bind("docRvwStat") %>'
CssClass="widecontrol form-control" AppendDataBoundItems="true" DataSourceID="sdc_stats_not_final"
DataTextField="stat" DataValueField="statId">
<asp:ListItem Value="">--Please Select--</asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-3 form-group">
<strong>Review Status Date</strong><br />
<asp:TextBox Text='<%# Bind("docRvwStatDt") %>' runat="server" ID="docRvwStatDtTextBox"
ReadOnly="true" BackColor="Wheat" CssClass="widecontrol form-control" />
</div>
</div>
<div class="row">
<div class="col-md-3 form-group">
<strong>Status Set By</strong><br />
<asp:TextBox Text='<%# Bind("docRvwStatSetBy") %>' runat="server" ID="docRvwStatSetByTextBox"
ReadOnly="true" BackColor="Wheat" CssClass="widecontrol form-control" />
</div>
</div>
<asp:LinkButton runat="server" Text="Update" CommandName="Update" ID="UpdateButton"
CausesValidation="True" /> <asp:LinkButton runat="server" Text="Cancel" CommandName="Cancel"
ID="UpdateCancelButton" CausesValidation="False" />
</EditItemTemplate>
<InsertItemTemplate>
docRvwCrtdBy:
<asp:TextBox Text='<%# Bind("docRvwCrtdBy") %>' runat="server" ID="docRvwCrtdByTextBox" /><br />
docRvwCrtdDt:
<asp:TextBox Text='<%# Bind("docRvwCrtdDt") %>' runat="server" ID="docRvwCrtdDtTextBox" /><br />
docRvwAorRqd:
<asp:CheckBox Checked='<%# Bind("docRvwAorRqd") %>' runat="server" ID="docRvwAorRqdCheckBox" /><br />
docRvwSubTdiDt:
<asp:TextBox Text='<%# Bind("docRvwSubTdiDt") %>' runat="server" ID="docRvwSubTdiDtTextBox" /><br />
docRvwApprvdTdi:
<asp:CheckBox Checked='<%# Bind("docRvwApprvdTdi") %>' runat="server" ID="docRvwApprvdTdiCheckBox" /><br />
docRvwApprvdTdiDt:
<asp:TextBox Text='<%# Bind("docRvwApprvdTdiDt") %>' runat="server" ID="docRvwApprvdTdiDtTextBox" /><br />
docRvwStat:
<asp:TextBox Text='<%# Bind("docRvwStat") %>' runat="server" ID="docRvwStatTextBox" /><br />
docRvwStatDt:
<asp:TextBox Text='<%# Bind("docRvwStatDt") %>' runat="server" ID="docRvwStatDtTextBox" /><br />
docRvwStatSetBy:
<asp:TextBox Text='<%# Bind("docRvwStatSetBy") %>' runat="server" ID="docRvwStatSetByTextBox" /><br />
docIdFk:
<asp:TextBox Text='<%# Bind("docIdFk") %>' runat="server" ID="docIdFkTextBox" /><br />
<asp:LinkButton runat="server" Text="Insert" CommandName="Insert" ID="InsertButton"
CausesValidation="True" /> <asp:LinkButton runat="server" Text="Cancel" CommandName="Cancel"
ID="InsertCancelButton" CausesValidation="False" />
</InsertItemTemplate>
<ItemTemplate>
<asp:Label Text='<%# Eval("docRvwId") %>' runat="server" ID="docRvwIdLabel" Visible="false" />
<asp:Label Text='<%# Bind("docIdFk") %>' runat="server" ID="docIdFkLabel" Visible="false" />
<div class="row">
<div class="col-md-3 form-group">
<strong>Created By</strong><br />
<asp:Label Text='<%# Bind("docRvwCrtdBy") %>' runat="server" ID="docRvwCrtdByLabel"
CssClass="widecontrol" />
</div>
<div class="col-md-3 form-group">
<strong>Review Start Date</strong><br />
<asp:Label Text='<%# Bind("docRvwCrtdDt", "{0:MM/dd/yyyy}") %>' runat="server" ID="docRvwCrtdDtLabel"
CssClass="widecontrol" />
</div>
<div class="col-md-3 form-group">
<strong>Administrative Oversight Required</strong><br />
<asp:CheckBox Checked='<%# Bind("docRvwAorRqd") %>' runat="server" ID="docRvwAorRqdCheckBox"
Enabled="false" CssClass="widecontrol" />
</div>
<div class="col-md-3 form-group">
<strong>Date Submitted to TDI</strong><br />
<asp:Label Text='<%# Bind("docRvwSubTdiDt", "{0:MM/dd/yyyy}") %>' runat="server"
ID="docRvwSubTdiDtLabel" CssClass="widecontrol" />
</div>
</div>
<div class="row">
<div class="col-md-3 form-group">
<strong>Approved by TDI</strong><br />
<asp:CheckBox Checked='<%# Bind("docRvwApprvdTdi") %>' runat="server" ID="docRvwApprvdTdiCheckBox"
Enabled="false" CssClass="widecontrol" />
</div>
<div class="col-md-3 form-group">
<strong>Date Approved By TDI</strong><br />
<asp:Label Text='<%# Bind("docRvwApprvdTdiDt", "{0:MM/dd/yyyy}") %>' runat="server"
ID="docRvwApprvdTdiDtLabel" CssClass="widecontrol" />
</div>
<div class="col-md-3 form-group">
<strong>Review Status</strong><br />
<asp:Label Text='<%# Bind("stat") %>' runat="server" ID="statLabel" CssClass="widecontrol" />
</div>
<div class="col-md-3 form-group">
<strong>Review Status Date</strong><br />
<asp:Label Text='<%# Bind("docRvwStatDt", "{0:MM/dd/yyyy}") %>' runat="server" ID="docRvwStatDtLabel"
CssClass="widecontrol" />
</div>
</div>
<div class="row">
<div class="col-md-3 form-group">
<strong>Status Set By</strong><br />
<asp:Label Text='<%# Bind("docRvwStatSetBy") %>' runat="server" ID="docRvwStatSetByLabel"
CssClass="widecontrol" />
</div>
</div>
<asp:LinkButton runat="server" Text="Edit" CommandName="Edit" ID="EditButton" CausesValidation="False" /> <asp:LinkButton
runat="server" Text="Delete" CommandName="Delete" ID="DeleteButton" CausesValidation="False" /> <asp:LinkButton
runat="server" Text="New" CommandName="New" ID="NewButton" CausesValidation="False" />
</ItemTemplate>
</asp:FormView>
Thanks,
J