Merge branch 'develop'

This commit is contained in:
Samuele E. Locatelli
2020-08-19 20:33:30 +02:00
14 changed files with 284 additions and 208 deletions
+15 -1
View File
@@ -55,7 +55,20 @@ namespace NKC_WF
}
#region gestione compresisone viewstate
/*--------------------------------------------------------------
* Compressione viewstate
*
* vedere https://www.codeproject.com/Articles/14733/ViewState-Compression
*
* da valutare anche
* https://www.karpach.com/viewstateexception-invalid-viewstate.htm
* https://www.karpach.com/ASP-NET-Global-asax-error-logger.htm
*
*--------------------------------------------------------------*/
#if false
protected override object LoadPageStateFromPersistenceMedium()
{
string viewState = Request.Form["__VSTATE"];
@@ -74,7 +87,8 @@ namespace NKC_WF
byte[] bytes = Convert.FromBase64String(viewStateString);
bytes = Compressor.Compress(bytes);
ClientScript.RegisterHiddenField("__VSTATE", Convert.ToBase64String(bytes));
}
}
#endif
#endregion
+22 -7
View File
@@ -5,15 +5,30 @@
<ItemTemplate>
<div class="row small">
<div class="col-9">
<h3><%: traduci ("BatchDetail") %></h3>
<h3><%# traduci ("BatchDetail") %></h3>
<asp:Label runat="server" ID="lblRequestPresent" CssClass="text-danger" Visible='<%# !canStartNew %>' Text='<%# traduci("NewNestReqDisabled") %>' />
</div>
<div class="col-3">
<asp:LinkButton runat="server" ID="lbtSendEstim" CssClass="btn btn-sm btn-block btn-info" OnClick="lbtSendEstim_Click" OnClientClick='<%: SteamWare.jsUtils.getCBE("ConfirmStartEstim") %>' Visible='<%# (checkStatus(Eval("Status"), NKC_SDK.BatchStatus.Errors) || checkStatus(Eval("Status"), NKC_SDK.BatchStatus.Imported)) && canStartNew %>'><%: traduci("SendToEstim") %></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtStopEstim" CssClass="btn btn-sm btn-block btn-dark" OnClick="lbtStopEstim_Click" OnClientClick='<%: SteamWare.jsUtils.getCBE("ConfirmStopEstim") %>' Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.EstimationRequested) %>'><%: traduci("StopEstim") %></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtSendNesting" CssClass="btn btn-sm btn-block btn-warning" OnClick="lbtSendNesting_Click" OnClientClick='<%: SteamWare.jsUtils.getCBE("ConfirmStartNest") %>' Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.EstimationDone) && canStartNew %>'><%: traduci("SendToNest") %></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtStopNesting" CssClass="btn btn-sm btn-block btn-dark" OnClick="lbtStopNesting_Click" OnClientClick='<%: SteamWare.jsUtils.getCBE("ConfirmStopNest") %>' Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.NestRequested) %>'><%: traduci("StopNest") %></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtAccept" CssClass="btn btn-sm btn-block btn-success" OnClick="lbtAccept_Click" OnClientClick='<%: SteamWare.jsUtils.getCBE("ConfirmAcceptNest") %>' Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.NestDone) %>'><%: traduci("AcceptNest") %></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtSendEstim" CssClass="btn btn-sm btn-block btn-info"
OnClick="lbtSendEstim_Click"
OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmStartEstim") %>'
Visible='<%# (checkStatus(Eval("Status"), NKC_SDK.BatchStatus.Errors) || checkStatus(Eval("Status"), NKC_SDK.BatchStatus.Imported)) && canStartNew %>'><%# traduci("SendToEstim") %></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtStopEstim" CssClass="btn btn-sm btn-block btn-dark"
OnClick="lbtStopEstim_Click"
OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmStopEstim") %>'
Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.EstimationRequested) %>'><%# traduci("StopEstim") %></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtSendNesting" CssClass="btn btn-sm btn-block btn-warning"
OnClick="lbtSendNesting_Click"
OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmStartNest") %>'
Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.EstimationDone) && canStartNew %>'><%# traduci("SendToNest") %></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtStopNesting" CssClass="btn btn-sm btn-block btn-dark"
OnClick="lbtStopNesting_Click"
OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmStopNest") %>'
Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.NestRequested) %>'><%# traduci("StopNest") %></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtAccept" CssClass="btn btn-sm btn-block btn-success"
OnClick="lbtAccept_Click"
OnClientClick='<%# SteamWare.jsUtils.getCBE("ConfirmAcceptNest") %>'
Visible='<%# checkStatus(Eval("Status"), NKC_SDK.BatchStatus.NestDone) %>'><%# traduci("AcceptNest") %></asp:LinkButton>
</div>
<div class="col-12">
<div class="row">
@@ -46,7 +61,7 @@
<label for="TotalTimeLabel" class="col-sm-4 col-form-label py-0">Estimated Time</label>
<div class="col-sm-8 font-weight-bold">
<asp:Label ID="TotalTimeLabel" runat="server" Text='<%# Eval("TotalTime","{0:N2}") %>' />
<%: traduci ("Min") %>
<%# traduci ("Min") %>
</div>
</div>
</div>
@@ -11,7 +11,6 @@ namespace NKC_WF.WebUserControls
public partial class cmp_batchDetail : BaseUserControl
{
public event EventHandler eh_doRefresh;
protected void Page_Load(object sender, EventArgs e)
{
@@ -303,13 +302,6 @@ namespace NKC_WF.WebUserControls
raiseEvent();
}
private void raiseEvent()
{
// se qualcuno ascolta sollevo evento nuovo valore...
if (eh_doRefresh != null)
{
eh_doRefresh(this, new EventArgs());
}
}
}
}
+51 -51
View File
@@ -11,61 +11,61 @@ namespace NKC_WF.WebUserControls
{
public partial class cmp_batchDetail
{
public partial class cmp_batchDetail
{
/// <summary>
/// Controllo frmView.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.FormView frmView;
/// <summary>
/// Controllo frmView.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.FormView frmView;
/// <summary>
/// Controllo hfBatchId.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfBatchId;
/// <summary>
/// Controllo hfBatchId.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfBatchId;
/// <summary>
/// Controllo ods.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods;
/// <summary>
/// Controllo ods.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.ObjectDataSource ods;
/// <summary>
/// Controllo lblMatDet.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblMatDet;
/// <summary>
/// Controllo lblMatDet.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblMatDet;
/// <summary>
/// Controllo lblProdDet.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblProdDet;
/// <summary>
/// Controllo lblProdDet.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblProdDet;
/// <summary>
/// Controllo lblTestJson.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblTestJson;
}
/// <summary>
/// Controllo lblTestJson.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblTestJson;
}
}
+108 -96
View File
@@ -2,106 +2,118 @@
<%@ Register Src="~/WebUserControls/cmp_batchDetail.ascx" TagPrefix="uc1" TagName="cmp_batchDetail" %>
<%@ Register Src="~/WebUserControls/cmp_numRow.ascx" TagPrefix="uc1" TagName="cmp_numRow" %>
<div class="row">
<div class="col-12 border border-info table-info rounded py-2" runat="server" id="divDetail">
<uc1:cmp_batchDetail runat="server" ID="cmp_batchDetail" />
</div>
<div class="col-12">
<hr />
<asp:UpdatePanel ID="updPanelDetail" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-4">
<h3> <%: traduci("CallList") %></h3>
<div class="col-12 border border-info table-info rounded py-2" runat="server" id="divDetail">
<uc1:cmp_batchDetail runat="server" ID="cmp_batchDetail" />
<asp:HiddenField runat="server" ID="hfLastSelRow" />
</div>
<div class="col-8 text-right">
<%: traduci("FilterStatus") %>
<asp:DropDownList runat="server" ID="ddlStatus" AutoPostBack="true" OnSelectedIndexChanged="ddlStatus_SelectedIndexChanged">
<asp:ListItem Selected="True" Text="-- Show All --" Value="-1"></asp:ListItem>
<asp:ListItem Text="Imported" Value="0"></asp:ListItem>
<asp:ListItem Text="Estimating Requested" Value="1"></asp:ListItem>
<asp:ListItem Text="Estimating Completed" Value="2"></asp:ListItem>
<asp:ListItem Text="Nesting Requested" Value="3"></asp:ListItem>
<asp:ListItem Text="Nesting Completed" Value="4"></asp:ListItem>
<%--<asp:ListItem Text="Nesting Approved" Value="5"></asp:ListItem>--%>
<asp:ListItem Text="Nesting Discarded" Value="6"></asp:ListItem>
<asp:ListItem Text="Errors Present" Value="7"></asp:ListItem>
<asp:ListItem Text="Validation UNKNOWN" Value="8"></asp:ListItem>
<asp:ListItem Text="Parts INVALID" Value="9"></asp:ListItem>
<asp:ListItem Text="Parts OK" Value="10"></asp:ListItem>
</asp:DropDownList>
&nbsp;
<div class="col-12">
<hr />
<div class="row">
<div class="col-4">
<h3><%: traduci("CallList") %></h3>
</div>
<div class="col-8 text-right">
<%: traduci("FilterStatus") %>
<asp:DropDownList runat="server" ID="ddlStatus" AutoPostBack="true" OnSelectedIndexChanged="ddlStatus_SelectedIndexChanged">
<asp:ListItem Selected="True" Text="-- Show All --" Value="-1"></asp:ListItem>
<asp:ListItem Text="Imported" Value="0"></asp:ListItem>
<asp:ListItem Text="Estimating Requested" Value="1"></asp:ListItem>
<asp:ListItem Text="Estimating Completed" Value="2"></asp:ListItem>
<asp:ListItem Text="Nesting Requested" Value="3"></asp:ListItem>
<asp:ListItem Text="Nesting Completed" Value="4"></asp:ListItem>
<%--<asp:ListItem Text="Nesting Approved" Value="5"></asp:ListItem>--%>
<asp:ListItem Text="Nesting Discarded" Value="6"></asp:ListItem>
<asp:ListItem Text="Errors Present" Value="7"></asp:ListItem>
<asp:ListItem Text="Validation UNKNOWN" Value="8"></asp:ListItem>
<asp:ListItem Text="Parts INVALID" Value="9"></asp:ListItem>
<asp:ListItem Text="Parts OK" Value="10"></asp:ListItem>
</asp:DropDownList>
&nbsp;
<uc1:cmp_numRow runat="server" ID="cmp_numRow" numRow="10" />
</div>
</div>
</div>
</div>
<div class="col-12">
<asp:GridView ID="grView" runat="server" AllowPaging="True" AutoGenerateColumns="False" DataKeyNames="BatchID" DataSourceID="ods" CssClass="table table-sm table-striped" AllowSorting="True" OnSelectedIndexChanged="grView_SelectedIndexChanged" OnPageIndexChanged="grView_PageIndexChanged">
<HeaderStyle CssClass="default" />
<PagerStyle CssClass="active GridPager" />
<PagerSettings Mode="NumericFirstLast" />
<SelectedRowStyle CssClass="table-info" />
<EmptyDataTemplate>
<%: traduci("NoRecord") %>
</EmptyDataTemplate>
<Columns>
<asp:TemplateField ShowHeader="False">
<HeaderTemplate>
<div class="text-center">
<asp:LinkButton ID="lbtReset" runat="server" OnClick="lbtReset_Click" CssClass="btn btn-sm btn-primary" Visible="true" ToolTip="Reset"><i class="fa fa-refresh"></i></asp:LinkButton>
</div>
</HeaderTemplate>
<ItemTemplate>
<div class="text-center">
<asp:LinkButton ID="lbRedoEval" runat="server" CausesValidation="False" CommandName="Cancel" CommandArgument='<%# Eval("Takt") %>' CssClass="btn btn-sm btn-info" Visible='<%# listMode== NKC_SDK.BatchListMode.PartsEval %>' ToolTip="Re-Validate single ITEM" OnClick="lbRedoEval_Click" OnClientClick='return confirm("ITEM Re-Validation requested. Are you sure to proceed?")'><i class="fa fa-check-circle-o" aria-hidden="true"></i></asp:LinkButton>
<asp:LinkButton ID="lbSelect" runat="server" CausesValidation="False" CommandName="Select" CommandArgument="" CssClass="btn btn-sm btn-primary" Visible='<%# listMode== NKC_SDK.BatchListMode.Standard %>'><i class="fa fa-search" aria-hidden="true"></i></asp:LinkButton>
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Takt" HeaderText="#" InsertVisible="False" ReadOnly="True" SortExpression="Takt" />
<asp:TemplateField HeaderText="Status" SortExpression="Status">
<ItemTemplate>
<asp:HyperLink runat="server" ID="hlSheetPreview" Target="_blank" NavigateUrl='<%# $"../site/BatchPreview?BatchId={Eval("BatchID")}" %>' Visible='<%# isPreviewVisible(Eval("Status")) %>' ToolTip="Show Batch preview" CssClass="btn btn-info"><i class="fa fa-object-group" aria-hidden="true"></i></asp:HyperLink>
<asp:Label ID="lblStatus" runat="server" CssClass='<%# cssByStatus(Eval("Status")) %>'><%# BStatus(Eval("Status")) %></asp:Label>
<i class="fa fa-spinner fa-spin" aria-hidden="true" runat="server" visible='<%# Eval("Status").ToString()=="1" || Eval("Status").ToString()=="3" %>'></i>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Errors" SortExpression="Errors">
<ItemTemplate>
<asp:HyperLink runat="server" ID="hlShowErr" NavigateUrl='<%# $"../site/ErrorsLog?PUID=B.{Eval("BatchID")}" %>' CssClass="text-warning" Visible='<%# Eval("NumErrPre").ToString()!="0" %>' Target="_blank" ToolTip="Show errors"><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> <%# $"{Eval("Errors")} (tot: {Eval("NumErrPre")} err)" %></asp:HyperLink>
<asp:HyperLink runat="server" ID="HyperLink1" NavigateUrl='<%# $"../site/ErrorsLog?PUID={Eval("EnvNum")}" %>' CssClass="text-danger" Visible='<%# Eval("NumErr").ToString()!="0" %>' Target="_blank" ToolTip="Show errors"><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> <%# $"{Eval("Errors")} (tot: {Eval("NumErr")} err)" %></asp:HyperLink>
</ItemTemplate>
<ItemStyle CssClass="text-right" />
</asp:TemplateField>
<asp:BoundField DataField="TotalTime" HeaderText="Estimated Time" SortExpression="TotalTime" DataFormatString="{0:N2} min" ItemStyle-CssClass="text-right">
<ItemStyle CssClass="text-right"></ItemStyle>
</asp:BoundField>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="updPanelGrView" runat="server">
<ContentTemplate>
<div class="row">
<div class="col-12">
<asp:GridView ID="grView" runat="server" AllowPaging="True" AutoGenerateColumns="False" DataKeyNames="BatchID" DataSourceID="ods" CssClass="table table-sm table-striped" AllowSorting="True" OnSelectedIndexChanged="grView_SelectedIndexChanged" OnPageIndexChanged="grView_PageIndexChanged">
<HeaderStyle CssClass="default" />
<PagerStyle CssClass="active GridPager" />
<PagerSettings Mode="NumericFirstLast" />
<SelectedRowStyle CssClass="table-info" />
<EmptyDataTemplate>
<%: traduci("NoRecord") %>
</EmptyDataTemplate>
<Columns>
<asp:TemplateField ShowHeader="False">
<HeaderTemplate>
<div class="text-center">
<asp:LinkButton ID="lbtReset" runat="server" OnClick="lbtReset_Click" CssClass="btn btn-sm btn-primary" Visible="true" ToolTip="Reset"><i class="fa fa-refresh"></i></asp:LinkButton>
</div>
</HeaderTemplate>
<ItemTemplate>
<div class="text-center">
<asp:LinkButton ID="lbRedoEval" runat="server" CausesValidation="False" CommandName="Cancel" CommandArgument='<%# Eval("Takt") %>' CssClass="btn btn-sm btn-info" Visible='<%# listMode== NKC_SDK.BatchListMode.PartsEval %>' ToolTip="Re-Validate single ITEM" OnClick="lbRedoEval_Click" OnClientClick='return confirm("ITEM Re-Validation requested. Are you sure to proceed?")'><i class="fa fa-check-circle-o" aria-hidden="true"></i></asp:LinkButton>
<asp:LinkButton ID="lbSelect" runat="server" CausesValidation="False" CommandName="Select" CommandArgument="" CssClass="btn btn-sm btn-primary" Visible='<%# listMode== NKC_SDK.BatchListMode.Standard %>'><i class="fa fa-search" aria-hidden="true"></i></asp:LinkButton>
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Takt" HeaderText="#" InsertVisible="False" ReadOnly="True" SortExpression="Takt" />
<asp:TemplateField HeaderText="Status" SortExpression="Status">
<ItemTemplate>
<asp:HyperLink runat="server" ID="hlSheetPreview" Target="_blank" NavigateUrl='<%# $"../site/BatchPreview?BatchId={Eval("BatchID")}" %>' Visible='<%# isPreviewVisible(Eval("Status")) %>' ToolTip="Show Batch preview" CssClass="btn btn-info"><i class="fa fa-object-group" aria-hidden="true"></i></asp:HyperLink>
<asp:Label ID="lblStatus" runat="server" CssClass='<%# cssByStatus(Eval("Status")) %>'><%# BStatus(Eval("Status")) %></asp:Label>
<i class="fa fa-spinner fa-spin" aria-hidden="true" runat="server" visible='<%# Eval("Status").ToString()=="1" || Eval("Status").ToString()=="3" %>'></i>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Errors" SortExpression="Errors">
<ItemTemplate>
<asp:HyperLink runat="server" ID="hlShowErr" NavigateUrl='<%# $"../site/ErrorsLog?PUID=B.{Eval("BatchID")}" %>' CssClass="text-warning" Visible='<%# Eval("NumErrPre").ToString()!="0" %>' Target="_blank" ToolTip="Show errors"><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> <%# $"{Eval("Errors")} (tot: {Eval("NumErrPre")} err)" %></asp:HyperLink>
<asp:HyperLink runat="server" ID="HyperLink1" NavigateUrl='<%# $"../site/ErrorsLog?PUID={Eval("EnvNum")}" %>' CssClass="text-danger" Visible='<%# Eval("NumErr").ToString()!="0" %>' Target="_blank" ToolTip="Show errors"><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> <%# $"{Eval("Errors")} (tot: {Eval("NumErr")} err)" %></asp:HyperLink>
</ItemTemplate>
<ItemStyle CssClass="text-right" />
</asp:TemplateField>
<asp:BoundField DataField="TotalTime" HeaderText="Estimated Time" SortExpression="TotalTime" DataFormatString="{0:N2} min" ItemStyle-CssClass="text-right">
<ItemStyle CssClass="text-right"></ItemStyle>
</asp:BoundField>
<asp:TemplateField ShowHeader="False">
<HeaderTemplate>
<div class="text-center">
<asp:LinkButton ID="lbtEnableDel" runat="server" CssClass="btn btn-sm btn-danger" Visible='<%# listMode== NKC_SDK.BatchListMode.Standard && !deleteEnabled %>' ToolTip="Enable Delete ALL" OnClick="lbtEnableDel_Click"><i class="fa fa-eraser"></i></asp:LinkButton>
<asp:LinkButton ID="lbtDisableDel" runat="server" CssClass="btn btn-sm btn-success" Visible='<%# listMode== NKC_SDK.BatchListMode.Standard && deleteEnabled %>' ToolTip="Disable Delete ALL" OnClick="lbtDisableDel_Click"><i class="fa fa-eraser"></i></asp:LinkButton>
</div>
</HeaderTemplate>
<ItemTemplate>
<div class="text-center">
<asp:LinkButton ID="lbtDelete" runat="server" CausesValidation="False" CommandName="Delete" CommandArgument="" CssClass="btn btn-sm btn-danger" Visible='<%# (listMode== NKC_SDK.BatchListMode.Standard && (Eval("Status").ToString() == "0" || Eval("Status").ToString() == "6" || Eval("Status").ToString() == "7")) || deleteEnabled %>' OnClientClick='return confirm("Record deletion requested. Proceed?")'><i class="fa fa-trash" aria-hidden="true"></i></asp:LinkButton>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:HiddenField ID="hfDeleteEnabled" runat="server" />
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="Original_{0}" SelectMethod="getByStatus" TypeName="AppData.DS_AppTableAdapters.BatchListTableAdapter" DeleteMethod="deleteTree" FilterExpression="Status <> 5">
<SelectParameters>
<asp:ControlParameter ControlID="ddlStatus" DefaultValue="-1" Name="Status" PropertyName="SelectedValue" Type="Int32" />
<asp:SessionParameter Name="SearchVal" SessionField="valoreSearch" Type="String" DefaultValue="" />
<asp:ControlParameter ControlID="hfPartValid" DefaultValue="0" Name="PartValid" PropertyName="Value" Type="Int32" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="Original_BatchID" Type="Int32" />
<asp:Parameter Name="ForceDelete" Type="Int32" DefaultValue="1" />
</DeleteParameters>
</asp:ObjectDataSource>
<asp:HiddenField runat="server" ID="hfPartValid" />
<asp:TemplateField ShowHeader="False">
<HeaderTemplate>
<div class="text-center">
<asp:LinkButton ID="lbtEnableDel" runat="server" CssClass="btn btn-sm btn-danger" Visible='<%# listMode== NKC_SDK.BatchListMode.Standard && !deleteEnabled %>' ToolTip="Enable Delete ALL" OnClick="lbtEnableDel_Click"><i class="fa fa-eraser"></i></asp:LinkButton>
<asp:LinkButton ID="lbtDisableDel" runat="server" CssClass="btn btn-sm btn-success" Visible='<%# listMode== NKC_SDK.BatchListMode.Standard && deleteEnabled %>' ToolTip="Disable Delete ALL" OnClick="lbtDisableDel_Click"><i class="fa fa-eraser"></i></asp:LinkButton>
</div>
</HeaderTemplate>
<ItemTemplate>
<div class="text-center">
<asp:LinkButton ID="lbtDelete" runat="server" CausesValidation="False" CommandName="Delete" CommandArgument="" CssClass="btn btn-sm btn-danger" Visible='<%# (listMode== NKC_SDK.BatchListMode.Standard && (Eval("Status").ToString() == "0" || Eval("Status").ToString() == "6" || Eval("Status").ToString() == "7")) || deleteEnabled %>' OnClientClick='return confirm("Record deletion requested. Proceed?")'><i class="fa fa-trash" aria-hidden="true"></i></asp:LinkButton>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:HiddenField ID="hfDeleteEnabled" runat="server" />
<asp:ObjectDataSource ID="ods" runat="server" OldValuesParameterFormatString="Original_{0}" SelectMethod="getByStatus" TypeName="AppData.DS_AppTableAdapters.BatchListTableAdapter" DeleteMethod="deleteTree" FilterExpression="Status <> 5">
<SelectParameters>
<asp:ControlParameter ControlID="ddlStatus" DefaultValue="-1" Name="Status" PropertyName="SelectedValue" Type="Int32" />
<asp:SessionParameter Name="SearchVal" SessionField="valoreSearch" Type="String" DefaultValue="" />
<asp:ControlParameter ControlID="hfPartValid" DefaultValue="0" Name="PartValid" PropertyName="Value" Type="Int32" />
</SelectParameters>
<DeleteParameters>
<asp:Parameter Name="Original_BatchID" Type="Int32" />
<asp:Parameter Name="ForceDelete" Type="Int32" DefaultValue="1" />
</DeleteParameters>
</asp:ObjectDataSource>
<asp:HiddenField runat="server" ID="hfPartValid" />
</div>
<asp:Timer ID="Timer1" runat="server" Interval="2000" OnTick="Timer1_Tick"></asp:Timer>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
+49 -3
View File
@@ -180,8 +180,10 @@ namespace NKC_WF.WebUserControls
{
checkFixOds();
grView.SelectedIndex = -1;
lastSelRow = -1;
grView.DataBind();
divDetail.Visible = false;
updPanelDetail.Update();
raiseReset();
}
@@ -193,21 +195,60 @@ namespace NKC_WF.WebUserControls
get
{
int answ = 0;
int.TryParse(grView.SelectedValue.ToString(), out answ);
if (grView.SelectedValue != null)
{
int.TryParse(grView.SelectedValue.ToString(), out answ);
}
return answ;
}
}
protected int currSelRow
{
get
{
return grView.SelectedIndex;
}
set
{
grView.SelectedIndex = value;
}
}
protected void grView_SelectedIndexChanged(object sender, EventArgs e)
{
divDetail.Visible = true;
fixDetails();
}
private void fixDetails()
{
divDetail.Visible = currSelRow >= 0;
lastSelRow = currSelRow;
// recupero BatchId selezionato
cmp_batchDetail.BatchId = BatchIdSel;
updPanelDetail.Update();
}
protected int lastSelRow
{
get
{
int answ = -1;
if (!string.IsNullOrEmpty(hfLastSelRow.Value))
{
int.TryParse(hfLastSelRow.Value, out answ);
}
return answ;
}
set
{
hfLastSelRow.Value = value.ToString();
}
}
public void doUpdate()
{
cmp_batchDetail.doUpdate();
grView.DataBind();
currSelRow = lastSelRow;
fixDetails();
}
protected void grView_PageIndexChanged(object sender, EventArgs e)
@@ -258,5 +299,10 @@ namespace NKC_WF.WebUserControls
hfDeleteEnabled.Value = value.ToString();
}
}
protected void Timer1_Tick(object sender, EventArgs e)
{
doUpdate();
}
}
}
+36
View File
@@ -14,6 +14,15 @@ namespace NKC_WF.WebUserControls
public partial class cmp_batchList
{
/// <summary>
/// Controllo updPanelDetail.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.UpdatePanel updPanelDetail;
/// <summary>
/// Controllo divDetail.
/// </summary>
@@ -32,6 +41,15 @@ namespace NKC_WF.WebUserControls
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_batchDetail cmp_batchDetail;
/// <summary>
/// Controllo hfLastSelRow.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfLastSelRow;
/// <summary>
/// Controllo ddlStatus.
/// </summary>
@@ -50,6 +68,15 @@ namespace NKC_WF.WebUserControls
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_numRow cmp_numRow;
/// <summary>
/// Controllo updPanelGrView.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.UpdatePanel updPanelGrView;
/// <summary>
/// Controllo grView.
/// </summary>
@@ -85,5 +112,14 @@ namespace NKC_WF.WebUserControls
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.HiddenField hfPartValid;
/// <summary>
/// Controllo Timer1.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.Timer Timer1;
}
}
@@ -63,7 +63,6 @@
<div class="col-12 px-0">
<b>
<asp:Label runat="server" ID="lblLastBCode" /></b><br />
<asp:Label runat="server" ID="lblMessage" /><br />
<asp:Label runat="server" ID="lblDestination" />
</div>
<div class="col-12 px-0">
@@ -766,7 +766,6 @@ namespace NKC_WF.WebUserControls
private void resetIcons()
{
lblDestination.CssClass = "text-secondary";
lblMessage.Text = "";
lblDestination.Text = "";
lblLastBCode.Text = "";
lbtCancel.Visible = false;
@@ -221,15 +221,6 @@ namespace NKC_WF.WebUserControls
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblLastBCode;
/// <summary>
/// Controllo lblMessage.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblMessage;
/// <summary>
/// Controllo lblDestination.
/// </summary>
+1 -1
View File
@@ -68,7 +68,7 @@
<asp:Label runat="server" ID="lblDestination" />
</div>
<div class="col-12 px-0">
<asp:LinkButton runat="server" ID="lbtScrapped" CssClass="btn btn-block btn-danger" OnClick="lbtScrapped_Click" OnClientClick='return confirm("Confirm Item as SCRAP? It will be sent to offline rework list.")'><i class="fa fa-trash" aria-hidden="true"></i> <%: traduci("scrapped") %></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtScrapped" CssClass="btn btn-block btn-danger" OnClick="lbtScrapped_Click" OnClientClick='<%: SteamWare.jsUtils.getCBE("ConfirmSendScrap") %>'><i class="fa fa-trash" aria-hidden="true"></i> <%: traduci("scrapped") %></asp:LinkButton>
<asp:LinkButton runat="server" ID="lbtParkArea" CssClass="btn btn-block btn-secondary" OnClick="lbtParkArea_Click"><i class="fa fa-thumb-tack" aria-hidden="true"></i> <%: traduci("toPark") %></asp:LinkButton>
</div>
<div class="col-12 px-0">
+1 -7
View File
@@ -15,13 +15,7 @@
<uc1:cmp_fileUpload runat="server" ID="cmp_fileUpload" isWriteEnabled="true" />
</div>
<div class="col-12 my-2" runat="server" id="divBatchList">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<uc1:cmp_batchList runat="server" ID="cmp_batchList" />
<asp:Timer ID="Timer1" runat="server" Interval="4000" OnTick="Timer1_Tick"></asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>
<uc1:cmp_batchList runat="server" ID="cmp_batchList" />
</div>
</div>
</div>
-4
View File
@@ -231,9 +231,5 @@ namespace NKC_WF
cmp_batchList.doUpdate();
}
protected void Timer1_Tick(object sender, EventArgs e)
{
doUpdate();
}
}
}
-18
View File
@@ -32,15 +32,6 @@ namespace NKC_WF
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divBatchList;
/// <summary>
/// Controllo UpdatePanel1.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.UpdatePanel UpdatePanel1;
/// <summary>
/// Controllo cmp_batchList.
/// </summary>
@@ -49,14 +40,5 @@ namespace NKC_WF
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::NKC_WF.WebUserControls.cmp_batchList cmp_batchList;
/// <summary>
/// Controllo Timer1.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.Timer Timer1;
}
}