Merge branch 'feature/NewOrderPage' into develop
This commit is contained in:
Vendored
+1
-1
@@ -11,7 +11,7 @@ pipeline {
|
||||
steps {
|
||||
/* calcolo numero versione... diverso x branch MASTER/DEVELOP */
|
||||
script {
|
||||
withEnv(['NEXT_BUILD_NUMBER=400']) {
|
||||
withEnv(['NEXT_BUILD_NUMBER=401']) {
|
||||
// env.versionNumber = VersionNumber(versionNumberString : '2.0.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true)
|
||||
env.versionNumber = VersionNumber(versionNumberString : '2.0.${BUILD_DATE_FORMATTED, "yyMM"}.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
|
||||
env.versionNumberBeta = VersionNumber(versionNumberString : '1.3.${BUILD_DATE_FORMATTED, "yyMM"}-beta.${BUILDS_ALL_TIME}', projectStartDate : '2019-07-01', skipFailedBuilds: true, overrideBuildsAllTime: '${NEXT_BUILD_NUMBER}')
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 14 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 83 KiB |
@@ -305,12 +305,7 @@
|
||||
<Content Include="export\BunkDetail.aspx" />
|
||||
<Content Include="Home.aspx" />
|
||||
<Content Include="Images\999999999.svg" />
|
||||
<Content Include="Images\LogoEgaltech.png">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Images\LogoSteamware.png">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="Images\LogoEgalware.png" />
|
||||
<Content Include="Images\test.svg" />
|
||||
<Content Include="Resources\ChangeLog.html">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
@@ -478,6 +473,7 @@
|
||||
<Content Include="WebUserControls\cmp_barcode.ascx" />
|
||||
<Content Include="WebUserControls\cmp_batchDetail.ascx" />
|
||||
<Content Include="WebUserControls\cmp_batchDetailData.ascx" />
|
||||
<Content Include="WebUserControls\cmp_batchDetailMongo.ascx" />
|
||||
<Content Include="WebUserControls\cmp_batchDetailSplit.ascx" />
|
||||
<Content Include="WebUserControls\cmp_batchDetailSplitInfo.ascx" />
|
||||
<Content Include="WebUserControls\cmp_batchList.ascx" />
|
||||
@@ -1108,6 +1104,13 @@
|
||||
<Compile Include="WebUserControls\cmp_batchDetailData.ascx.designer.cs">
|
||||
<DependentUpon>cmp_batchDetailData.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WebUserControls\cmp_batchDetailMongo.ascx.cs">
|
||||
<DependentUpon>cmp_batchDetailMongo.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
</Compile>
|
||||
<Compile Include="WebUserControls\cmp_batchDetailMongo.ascx.designer.cs">
|
||||
<DependentUpon>cmp_batchDetailMongo.ascx</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="WebUserControls\cmp_batchDetailSplit.ascx.cs">
|
||||
<DependentUpon>cmp_batchDetailSplit.ascx</DependentUpon>
|
||||
<SubType>ASPXCodeBehind</SubType>
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_batchDetail.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_batchDetail" %>
|
||||
<%@ Register Src="~/WebUserControls/cmp_batchDetailSplit.ascx" TagPrefix="uc1" TagName="cmp_batchDetailSplit" %>
|
||||
|
||||
<%--<%@ Register Src="~/WebUserControls/cmp_orderExtList.ascx" TagPrefix="uc1" TagName="cmp_orderExtList" %>--%>
|
||||
<%@ Register Src="~/WebUserControls/cmp_batchDetailMongo.ascx" TagPrefix="uc1" TagName="cmp_batchDetailMongo" %>
|
||||
|
||||
<asp:FormView ID="frmView" runat="server" DataKeyNames="BatchID" DataSourceID="ods" Width="100%">
|
||||
<ItemTemplate>
|
||||
@@ -82,81 +81,7 @@
|
||||
<asp:ControlParameter ControlID="hfBatchId" DefaultValue="0" Name="BatchID" PropertyName="Value" Type="Int32" />
|
||||
</SelectParameters>
|
||||
</asp:ObjectDataSource>
|
||||
|
||||
<div class="row small text-dark">
|
||||
<div class="col-6">
|
||||
<div class="form-group row py-0 mt-0 mb-1">
|
||||
<label for="TotalTimeLabel" class="col-sm-4 col-form-label py-0">Mat OEE</label>
|
||||
<div class="col-sm-8 font-weight-bold">
|
||||
<asp:Label runat="server" ID="lblMatDet" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="form-group row py-0 mt-0 mb-1">
|
||||
<label for="TotalTimeLabel" class="col-sm-4 col-form-label py-0">Prod</label>
|
||||
<div class="col-sm-8 font-weight-bold">
|
||||
<asp:Label runat="server" ID="lblProdDet" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 ">
|
||||
<asp:Label runat="server" ID="lblTestJson" />
|
||||
</div>
|
||||
</div>
|
||||
<uc1:cmp_batchDetailMongo runat="server" ID="cmp_batchDetailMongo" showInline="true" />
|
||||
<div runat="server" id="divSplit">
|
||||
<uc1:cmp_batchDetailSplit runat="server" ID="cmp_batchDetailSplit" />
|
||||
</div>
|
||||
<%--<div class="card" runat="server" id="divSplit">
|
||||
<div class="card-header text-center">
|
||||
<h5><%: traduci("BatchSplit") %></h5>
|
||||
<asp:HiddenField runat="server" ID="hfNeedSave" />
|
||||
<asp:HiddenField runat="server" ID="hfLastRatio" />
|
||||
<asp:HiddenField runat="server" ID="hfFullTime" />
|
||||
<asp:TextBox runat="server" ID="txtRatio" TextMode="Range" CssClass="form-control-range" AutoPostBack="true" OnTextChanged="txtRatio_TextChanged" />
|
||||
</div>
|
||||
<div class="card-body p-1">
|
||||
<div class="row small text-center">
|
||||
<div class="col-6">
|
||||
<div class="card">
|
||||
<div class="card-header bg-primary text-light py-1">
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
<asp:Label runat="server" ID="lblTime01" />
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<b>NE01</b>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<asp:Label runat="server" ID="lblRatio01" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body p-1">
|
||||
<uc1:cmp_orderextlist runat="server" id="cmp_orderExtListNE01" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<div class="card">
|
||||
<div class="card-header bg-secondary text-light py-1">
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
<asp:Label runat="server" ID="lblTime02" />
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<b>NE02</b>
|
||||
</div>
|
||||
<div class="col-4">
|
||||
<asp:Label runat="server" ID="lblRatio02" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body p-1">
|
||||
<uc1:cmp_orderextlist runat="server" id="cmp_orderExtListNE02" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>--%>
|
||||
</div>
|
||||
@@ -30,189 +30,8 @@ namespace NKC_WF.WebUserControls
|
||||
{
|
||||
hfBatchId.Value = value.ToString();
|
||||
frmView.DataBind();
|
||||
lblMatDet.Text = "";
|
||||
lblProdDet.Text = "";
|
||||
if (memLayer.ML.CRB("enableMongo"))
|
||||
{
|
||||
// cerco da lista salvataggi Estim/Nest...
|
||||
var estimAnsw = ComLib.man.getEstAnsw(value);
|
||||
var nestAnsw = ComLib.man.getNestAnsw(value);
|
||||
StringBuilder sbDebug = new StringBuilder();
|
||||
sbDebug.AppendLine("Debug Info:");
|
||||
// elenchi x ricerca duplicati
|
||||
List<int> partListEstim = new List<int>();
|
||||
List<int> partListEstimDupl = new List<int>();
|
||||
List<int> partListNest = new List<int>();
|
||||
List<int> partListNestDupl = new List<int>();
|
||||
if (estimAnsw != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
foreach (var part in estimAnsw.PartList)
|
||||
{
|
||||
if (partListEstim.Contains(part.PartId))
|
||||
{
|
||||
partListEstimDupl.Add(part.PartId);
|
||||
}
|
||||
else
|
||||
{
|
||||
partListEstim.Add(part.PartId);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
try
|
||||
{
|
||||
sbDebug.AppendLine($"ESTIM: EnvNum: {estimAnsw.EnvNum} | Worktime: {estimAnsw.EstimatedWorktime / 60:N2} min | Processing Runtime {estimAnsw.ProcessingRuntime / 60:N2} min | Parts #: {estimAnsw.PartList.Count} | Distinct Part # {partListEstim.Count}");
|
||||
// se ho duplicati indico:
|
||||
if (partListEstimDupl.Count > 0)
|
||||
{
|
||||
sbDebug.AppendLine("---------------------");
|
||||
sbDebug.AppendLine($"ESTIM: FOUND {partListEstimDupl.Count} duplicate:");
|
||||
foreach (var partId in partListEstimDupl)
|
||||
{
|
||||
sbDebug.AppendLine($"{partId}");
|
||||
}
|
||||
sbDebug.AppendLine("---------------------");
|
||||
}
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
if (nestAnsw != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (nestAnsw.BunkList != null)
|
||||
{
|
||||
foreach (var bunk in nestAnsw.BunkList)
|
||||
{
|
||||
foreach (var sheet in bunk.SheetList)
|
||||
{
|
||||
foreach (var part in sheet.PartList)
|
||||
{
|
||||
if (partListNest.Contains(part.PartId))
|
||||
{
|
||||
partListNestDupl.Add(part.PartId);
|
||||
}
|
||||
else
|
||||
{
|
||||
partListNest.Add(part.PartId);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
int totKit = 0;
|
||||
try
|
||||
{
|
||||
if (nestAnsw.CartList != null)
|
||||
{
|
||||
foreach (var cart in nestAnsw.CartList)
|
||||
{
|
||||
totKit += cart.KitList.Count;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
//il tot delle part è in bunk > Sheet > part
|
||||
int totPartNum = 0;
|
||||
int totSheet = 0;
|
||||
List<int> materialsList = new List<int>();
|
||||
double num = 0;
|
||||
double den = 1;
|
||||
double currRatio = 0;
|
||||
List<double> workRatio = new List<double>();
|
||||
try
|
||||
{
|
||||
if (nestAnsw.BunkList != null)
|
||||
{
|
||||
foreach (var bunk in nestAnsw.BunkList)
|
||||
{
|
||||
totSheet += bunk.SheetList.Count;
|
||||
foreach (var sheet in bunk.SheetList)
|
||||
{
|
||||
totPartNum += sheet.PartList.Count;
|
||||
num = sheet.SurfaceWork > 0 ? sheet.SurfaceWork : 0;
|
||||
den = sheet.SurfaceTotal > 0 ? sheet.SurfaceTotal : 1;
|
||||
currRatio = ratioProt(num, den);
|
||||
workRatio.Add(currRatio);
|
||||
if (!materialsList.Contains(sheet.MatId))
|
||||
{
|
||||
materialsList.Add(sheet.MatId);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
try
|
||||
{
|
||||
// ordino le medie
|
||||
workRatio.Sort();
|
||||
// elimino le + basse quanti materiali ci sono...
|
||||
workRatio.RemoveRange(0, materialsList.Count);
|
||||
double avgRatio = workRatio.Average();
|
||||
double minRatio = workRatio.Min();
|
||||
double maxRatio = workRatio.Max();
|
||||
sbDebug.AppendLine($"NEST: EnvNum: {nestAnsw.EnvNum} | Worktime: {nestAnsw.EstimatedWorktime / 60:N2} min | Processing Runtime {nestAnsw.ProcessingRuntime / 60:N2} min");
|
||||
lblMatDet.Text = $"avg: <b>{avgRatio:P1}</b> (<b>{minRatio:P1}</b> → <b>{maxRatio:P1}</b>) | {materialsList.Count} materials";
|
||||
lblProdDet.Text = $"Bunks: <b>{nestAnsw.BunkList.Count}</b> | Sheets: <b>{totSheet}</b> | Carts: <b>{nestAnsw.CartList.Count}</b> | Bins: <b>{nestAnsw.BinList.Count}</b>";
|
||||
// se ho duplicati indico:
|
||||
if (partListNestDupl.Count > 0)
|
||||
{
|
||||
sbDebug.AppendLine("---------------------");
|
||||
sbDebug.AppendLine($"NEST: FOUND {partListNestDupl.Count} duplicate:");
|
||||
foreach (var partId in partListNestDupl)
|
||||
{
|
||||
sbDebug.AppendLine($"{partId}");
|
||||
}
|
||||
sbDebug.AppendLine("---------------------");
|
||||
}
|
||||
// s enon corrispondono
|
||||
if (partListEstim.Count != partListNest.Count)
|
||||
{
|
||||
sbDebug.AppendLine("---------------------");
|
||||
if (partListEstim.Count > partListNest.Count)
|
||||
{
|
||||
sbDebug.AppendLine($"EST OK | NEST missing:");
|
||||
foreach (var partId in partListEstim)
|
||||
{
|
||||
if (!partListNest.Contains(partId))
|
||||
{
|
||||
sbDebug.AppendLine($"{partId}");
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sbDebug.AppendLine($"EST missing | NEST OK:");
|
||||
foreach (var partId in partListNest)
|
||||
{
|
||||
if (!partListEstim.Contains(partId))
|
||||
{
|
||||
sbDebug.AppendLine($"{partId}");
|
||||
}
|
||||
}
|
||||
}
|
||||
sbDebug.AppendLine("---------------------");
|
||||
}
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
if (memLayer.ML.CRS("environment") == "DEV")
|
||||
{
|
||||
lblTestJson.Text = "<hr/>" + sbDebug.Replace("\r\n", "<br/>").ToString();
|
||||
}
|
||||
}
|
||||
cmp_batchDetailSplit.BatchId = value;
|
||||
cmp_batchDetailMongo.BatchId = value;
|
||||
if (BatchId > 0)
|
||||
{
|
||||
fixDisplayDesc();
|
||||
@@ -245,6 +64,7 @@ namespace NKC_WF.WebUserControls
|
||||
private void fixDisplayDesc()
|
||||
{
|
||||
divSplit.Visible = BatchIsAncestor;
|
||||
cmp_batchDetailMongo.Visible = !BatchIsAncestor;
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
@@ -270,6 +90,8 @@ namespace NKC_WF.WebUserControls
|
||||
/// <param name="e"></param>
|
||||
protected void lbtResetNest_Click(object sender, EventArgs e)
|
||||
{
|
||||
// ri-assegnazione ordini/kit a batch ancestor
|
||||
DLMan.taOLT.setBatchSplit(BatchId, false);
|
||||
// registro accettazione Nesting
|
||||
DLMan.taBL.refuseNesting(BatchId, DLMan.CodSoggCurrUser);
|
||||
raiseEvent();
|
||||
@@ -353,15 +175,6 @@ namespace NKC_WF.WebUserControls
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Internal Methods
|
||||
|
||||
internal void doUpdate()
|
||||
{
|
||||
frmView.DataBind();
|
||||
}
|
||||
|
||||
#endregion Internal Methods
|
||||
|
||||
#region Public Methods
|
||||
|
||||
/// <summary>
|
||||
@@ -405,6 +218,16 @@ namespace NKC_WF.WebUserControls
|
||||
return answ;
|
||||
}
|
||||
|
||||
public void doUpdate()
|
||||
{
|
||||
frmView.DataBind();
|
||||
fixDisplayDesc();
|
||||
if (divSplit.Visible)
|
||||
{
|
||||
cmp_batchDetailSplit.doUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
+2
-20
@@ -42,31 +42,13 @@ namespace NKC_WF.WebUserControls
|
||||
protected global::System.Web.UI.WebControls.ObjectDataSource ods;
|
||||
|
||||
/// <summary>
|
||||
/// lblMatDet control.
|
||||
/// cmp_batchDetailMongo control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblMatDet;
|
||||
|
||||
/// <summary>
|
||||
/// lblProdDet control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblProdDet;
|
||||
|
||||
/// <summary>
|
||||
/// lblTestJson control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblTestJson;
|
||||
protected global::NKC_WF.WebUserControls.cmp_batchDetailMongo cmp_batchDetailMongo;
|
||||
|
||||
/// <summary>
|
||||
/// divSplit control.
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_batchDetailMongo.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_batchDetailMongo" %>
|
||||
|
||||
<div class="row small text-dark text-left">
|
||||
<div class='<%: cssSized %>'>
|
||||
<div class="form-group my-0 row">
|
||||
<label for="TotalTimeLabel" class="col-4">Mat OEE</label>
|
||||
<div class="col-8 font-weight-bold">
|
||||
<asp:Label runat="server" ID="lblMatDet" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class='<%: cssSized %>'>
|
||||
<div class="form-group my-0 row">
|
||||
<label for="TotalTimeLabel" class="col-4">Prod</label>
|
||||
<div class="col-8 font-weight-bold">
|
||||
<asp:Label runat="server" ID="lblProdDet" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<asp:Label runat="server" ID="lblTestJson" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<asp:HiddenField ID="hfBatchId" runat="server" />
|
||||
<asp:HiddenField ID="hfShowInline" runat="server" />
|
||||
@@ -0,0 +1,271 @@
|
||||
using AppData;
|
||||
using SteamWare;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
|
||||
namespace NKC_WF.WebUserControls
|
||||
{
|
||||
public partial class cmp_batchDetailMongo : BaseUserControl
|
||||
{
|
||||
#region Public Properties
|
||||
|
||||
public int BatchId
|
||||
{
|
||||
set
|
||||
{
|
||||
hfBatchId.Value = value.ToString();
|
||||
if (value > 0)
|
||||
{
|
||||
updateMongoData(value);
|
||||
}
|
||||
}
|
||||
get
|
||||
{
|
||||
int answ = 0;
|
||||
int.TryParse(hfBatchId.Value, out answ);
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
|
||||
public string cssSized
|
||||
{
|
||||
get
|
||||
{
|
||||
string answ = showInline ? "col-6" : "col-12";
|
||||
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
|
||||
public bool showInline
|
||||
{
|
||||
set
|
||||
{
|
||||
hfShowInline.Value = value.ToString();
|
||||
}
|
||||
get
|
||||
{
|
||||
bool answ = false;
|
||||
bool.TryParse(hfShowInline.Value, out answ);
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Private Methods
|
||||
|
||||
private void updateMongoData(int value)
|
||||
{
|
||||
lblMatDet.Text = "";
|
||||
lblProdDet.Text = "";
|
||||
if (memLayer.ML.CRB("enableMongo"))
|
||||
{
|
||||
// cerco da lista salvataggi Estim/Nest...
|
||||
var estimAnsw = ComLib.man.getEstAnsw(value);
|
||||
var nestAnsw = ComLib.man.getNestAnsw(value);
|
||||
StringBuilder sbDebug = new StringBuilder();
|
||||
sbDebug.AppendLine("Debug Info:");
|
||||
// elenchi x ricerca duplicati
|
||||
List<int> partListEstim = new List<int>();
|
||||
List<int> partListEstimDupl = new List<int>();
|
||||
List<int> partListNest = new List<int>();
|
||||
List<int> partListNestDupl = new List<int>();
|
||||
if (estimAnsw != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
foreach (var part in estimAnsw.PartList)
|
||||
{
|
||||
if (partListEstim.Contains(part.PartId))
|
||||
{
|
||||
partListEstimDupl.Add(part.PartId);
|
||||
}
|
||||
else
|
||||
{
|
||||
partListEstim.Add(part.PartId);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
try
|
||||
{
|
||||
sbDebug.AppendLine($"ESTIM: EnvNum: {estimAnsw.EnvNum} | Worktime: {estimAnsw.EstimatedWorktime / 60:N2} min | Processing Runtime {estimAnsw.ProcessingRuntime / 60:N2} min | Parts #: {estimAnsw.PartList.Count} | Distinct Part # {partListEstim.Count}");
|
||||
// se ho duplicati indico:
|
||||
if (partListEstimDupl.Count > 0)
|
||||
{
|
||||
sbDebug.AppendLine("---------------------");
|
||||
sbDebug.AppendLine($"ESTIM: FOUND {partListEstimDupl.Count} duplicate:");
|
||||
foreach (var partId in partListEstimDupl)
|
||||
{
|
||||
sbDebug.AppendLine($"{partId}");
|
||||
}
|
||||
sbDebug.AppendLine("---------------------");
|
||||
}
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
if (nestAnsw != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (nestAnsw.BunkList != null)
|
||||
{
|
||||
foreach (var bunk in nestAnsw.BunkList)
|
||||
{
|
||||
foreach (var sheet in bunk.SheetList)
|
||||
{
|
||||
foreach (var part in sheet.PartList)
|
||||
{
|
||||
if (partListNest.Contains(part.PartId))
|
||||
{
|
||||
partListNestDupl.Add(part.PartId);
|
||||
}
|
||||
else
|
||||
{
|
||||
partListNest.Add(part.PartId);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
int totKit = 0;
|
||||
try
|
||||
{
|
||||
if (nestAnsw.CartList != null)
|
||||
{
|
||||
foreach (var cart in nestAnsw.CartList)
|
||||
{
|
||||
totKit += cart.KitList.Count;
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
//il tot delle part è in bunk > Sheet > part
|
||||
int totPartNum = 0;
|
||||
int totSheet = 0;
|
||||
List<int> materialsList = new List<int>();
|
||||
double num = 0;
|
||||
double den = 1;
|
||||
double currRatio = 0;
|
||||
List<double> workRatio = new List<double>();
|
||||
try
|
||||
{
|
||||
if (nestAnsw.BunkList != null)
|
||||
{
|
||||
foreach (var bunk in nestAnsw.BunkList)
|
||||
{
|
||||
totSheet += bunk.SheetList.Count;
|
||||
foreach (var sheet in bunk.SheetList)
|
||||
{
|
||||
totPartNum += sheet.PartList.Count;
|
||||
num = sheet.SurfaceWork > 0 ? sheet.SurfaceWork : 0;
|
||||
den = sheet.SurfaceTotal > 0 ? sheet.SurfaceTotal : 1;
|
||||
currRatio = ratioProt(num, den);
|
||||
workRatio.Add(currRatio);
|
||||
if (!materialsList.Contains(sheet.MatId))
|
||||
{
|
||||
materialsList.Add(sheet.MatId);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
try
|
||||
{
|
||||
// ordino le medie
|
||||
workRatio.Sort();
|
||||
// elimino le + basse quanti materiali ci sono...
|
||||
workRatio.RemoveRange(0, materialsList.Count);
|
||||
double avgRatio = workRatio.Average();
|
||||
double minRatio = workRatio.Min();
|
||||
double maxRatio = workRatio.Max();
|
||||
sbDebug.AppendLine($"NEST: EnvNum: {nestAnsw.EnvNum} | Worktime: {nestAnsw.EstimatedWorktime / 60:N2} min | Processing Runtime {nestAnsw.ProcessingRuntime / 60:N2} min");
|
||||
lblMatDet.Text = $"avg: <b>{avgRatio:P1}</b> (<b>{minRatio:P1}</b> → <b>{maxRatio:P1}</b>) | {materialsList.Count} materials";
|
||||
lblProdDet.Text = $"Bunks: <b>{nestAnsw.BunkList.Count}</b> | Sheets: <b>{totSheet}</b> | Carts: <b>{nestAnsw.CartList.Count}</b> | Bins: <b>{nestAnsw.BinList.Count}</b>";
|
||||
// se ho duplicati indico:
|
||||
if (partListNestDupl.Count > 0)
|
||||
{
|
||||
sbDebug.AppendLine("---------------------");
|
||||
sbDebug.AppendLine($"NEST: FOUND {partListNestDupl.Count} duplicate:");
|
||||
foreach (var partId in partListNestDupl)
|
||||
{
|
||||
sbDebug.AppendLine($"{partId}");
|
||||
}
|
||||
sbDebug.AppendLine("---------------------");
|
||||
}
|
||||
// s enon corrispondono
|
||||
if (partListEstim.Count != partListNest.Count)
|
||||
{
|
||||
sbDebug.AppendLine("---------------------");
|
||||
if (partListEstim.Count > partListNest.Count)
|
||||
{
|
||||
sbDebug.AppendLine($"EST OK | NEST missing:");
|
||||
foreach (var partId in partListEstim)
|
||||
{
|
||||
if (!partListNest.Contains(partId))
|
||||
{
|
||||
sbDebug.AppendLine($"{partId}");
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sbDebug.AppendLine($"EST missing | NEST OK:");
|
||||
foreach (var partId in partListNest)
|
||||
{
|
||||
if (!partListEstim.Contains(partId))
|
||||
{
|
||||
sbDebug.AppendLine($"{partId}");
|
||||
}
|
||||
}
|
||||
}
|
||||
sbDebug.AppendLine("---------------------");
|
||||
}
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
if (memLayer.ML.CRS("environment") == "DEV")
|
||||
{
|
||||
lblTestJson.Text = "<hr/>" + sbDebug.Replace("\r\n", "<br/>").ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Private Methods
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Effettua divisione evitando zeri a den...
|
||||
/// </summary>
|
||||
/// <param name="num"></param>
|
||||
/// <param name="den"></param>
|
||||
/// <returns></returns>
|
||||
protected double ratioProt(double num, double den)
|
||||
{
|
||||
den = den == 0 ? 1 : den;
|
||||
return num / den;
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,62 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace NKC_WF.WebUserControls
|
||||
{
|
||||
|
||||
|
||||
public partial class cmp_batchDetailMongo
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// lblMatDet control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblMatDet;
|
||||
|
||||
/// <summary>
|
||||
/// lblProdDet control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblProdDet;
|
||||
|
||||
/// <summary>
|
||||
/// lblTestJson control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Label lblTestJson;
|
||||
|
||||
/// <summary>
|
||||
/// hfBatchId control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.HiddenField hfBatchId;
|
||||
|
||||
/// <summary>
|
||||
/// hfShowInline control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.HiddenField hfShowInline;
|
||||
}
|
||||
}
|
||||
@@ -143,9 +143,7 @@ namespace NKC_WF.WebUserControls
|
||||
if (BatchId > 0)
|
||||
{
|
||||
checkCreateDescendant();
|
||||
showBatchDescendant();
|
||||
fixChildBatch();
|
||||
checkDisplayMode();
|
||||
doUpdate();
|
||||
}
|
||||
fixRatio();
|
||||
}
|
||||
@@ -390,5 +388,16 @@ namespace NKC_WF.WebUserControls
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Public Methods
|
||||
|
||||
public void doUpdate()
|
||||
{
|
||||
showBatchDescendant();
|
||||
fixChildBatch();
|
||||
checkDisplayMode();
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_batchDetailSplitInfo.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_batchDetailSplitInfo" %>
|
||||
<%@ Register Src="~/WebUserControls/cmp_batchDetailMongo.ascx" TagPrefix="uc1" TagName="cmp_batchDetailMongo" %>
|
||||
|
||||
<asp:HiddenField runat="server" ID="hfBatchId" />
|
||||
|
||||
@@ -13,6 +14,10 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="row textCondens">
|
||||
<div class="col-4 text-right">
|
||||
<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>
|
||||
</div>
|
||||
<div class="col-8 text-left">
|
||||
<div class="d-flex">
|
||||
<div class="px-2 flex-grow-1">
|
||||
@@ -25,13 +30,15 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-4 text-right">
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
</ItemTemplate>
|
||||
</asp:FormView>
|
||||
|
||||
<div class="row table-info">
|
||||
<div class="col-12">
|
||||
<uc1:cmp_batchDetailMongo runat="server" ID="cmp_batchDetailMongo" showInline="false" />
|
||||
</div>
|
||||
</div>
|
||||
<asp:HiddenField ID="hfDeleteEnabled" runat="server" />
|
||||
<asp:ObjectDataSource ID="ods" runat="server" SelectMethod="getByKey" TypeName="AppData.DS_AppTableAdapters.BatchListTableAdapter" FilterExpression="Status <> 5">
|
||||
<SelectParameters>
|
||||
|
||||
@@ -17,6 +17,8 @@ namespace NKC_WF.WebUserControls
|
||||
set
|
||||
{
|
||||
hfBatchId.Value = value.ToString();
|
||||
frmView.DataBind();
|
||||
cmp_batchDetailMongo.BatchId = value;
|
||||
}
|
||||
get
|
||||
{
|
||||
|
||||
@@ -32,6 +32,15 @@ namespace NKC_WF.WebUserControls
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.FormView frmView;
|
||||
|
||||
/// <summary>
|
||||
/// cmp_batchDetailMongo control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::NKC_WF.WebUserControls.cmp_batchDetailMongo cmp_batchDetailMongo;
|
||||
|
||||
/// <summary>
|
||||
/// hfDeleteEnabled control.
|
||||
/// </summary>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<uc1:cmp_batchDetail runat="server" ID="cmp_batchDetail" />
|
||||
<asp:HiddenField runat="server" ID="hfLastSelRow" />
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<div class="col-12 px-0">
|
||||
<div class="row">
|
||||
<div class="col-4">
|
||||
<b class="text-uppercase"><%: traduci("CallList") %></b>
|
||||
@@ -45,7 +45,7 @@
|
||||
<asp:UpdatePanel ID="updPanelGrView" runat="server">
|
||||
<ContentTemplate>
|
||||
<div class="row">
|
||||
<div class="col-12 textCondens">
|
||||
<div class="col-12 textCondens px-0">
|
||||
<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" />
|
||||
|
||||
@@ -169,7 +169,9 @@ namespace NKC_WF.WebUserControls
|
||||
divDetail.Visible = currSelRow >= 0;
|
||||
lastSelRow = currSelRow;
|
||||
// recupero BatchId selezionato
|
||||
cmp_batchDetail.BatchId = 0;
|
||||
cmp_batchDetail.BatchId = BatchIdSel;
|
||||
cmp_batchDetail.doUpdate();
|
||||
updPanelDetail.Update();
|
||||
}
|
||||
|
||||
|
||||
@@ -1,52 +1,48 @@
|
||||
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="cmp_menuTop.ascx.cs" Inherits="NKC_WF.WebUserControls.cmp_menuTop" %>
|
||||
|
||||
<asp:HiddenField runat="server" ID="hfAnonym" />
|
||||
<nav class="navbar navbar-expand-lg navbar-dark bg-dark text-light py-1 mb-1">
|
||||
<%--<asp:LinkButton runat="server" ID="lbnUpdate" Text="---" OnClick="lbnUpdate_Click" CssClass="navbar-brand" ToolTip="HOME">Sauder NKC <i class="fa fa-object-group" aria-hidden="true"></i></asp:LinkButton>--%>
|
||||
<a class="navbar-brand" href="../">Sauder NKC <i class="fa fa-object-group" aria-hidden="true"></i></a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<nav class="navbar navbar-expand-lg navbar-dark bg-primary text-light py-1 mb-1">
|
||||
<a class="navbar-brand" href="../">Sauder NKC <i class="fa fa-object-group" aria-hidden="true"></i></a>
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
|
||||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
<asp:Repeater ID="menu" runat="server" DataSourceID="XmlMenu">
|
||||
<ItemTemplate>
|
||||
<li class="nav-item dropdown">
|
||||
<a href='<%# XPath("@url").ToString().Replace("~/","") %>' class="nav-link dropdown-toggle text-light bg-dark" data-toggle="dropdown">
|
||||
<i class='<%# XPath("@description")%>'></i>
|
||||
<%# XPath("@title")%>
|
||||
<b class="caret"></b>
|
||||
</a>
|
||||
<div class="dropdown-menu">
|
||||
<asp:Repeater ID="voci" runat="server" DataSource='<%# XPathSelect("voce") %>'>
|
||||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
<asp:Repeater ID="menu" runat="server" DataSourceID="XmlMenu">
|
||||
<ItemTemplate>
|
||||
<a href='<%# XPath("@url").ToString().Replace("~/","")%>' class="dropdown-item py-0">
|
||||
<i class='<%# XPath("@description")%>'></i>
|
||||
<%# XPath("@title")%>
|
||||
</a>
|
||||
<li class="nav-item dropdown">
|
||||
<a href='<%# XPath("@url").ToString().Replace("~/","") %>' class="nav-link dropdown-toggle text-light" data-toggle="dropdown">
|
||||
<i class='<%# XPath("@description")%>'></i>
|
||||
<%# XPath("@title")%>
|
||||
<b class="caret"></b>
|
||||
</a>
|
||||
<div class="dropdown-menu">
|
||||
<asp:Repeater ID="voci" runat="server" DataSource='<%# XPathSelect("voce") %>'>
|
||||
<ItemTemplate>
|
||||
<a href='<%# XPath("@url").ToString().Replace("~/","")%>' class="dropdown-item py-0">
|
||||
<i class='<%# XPath("@description")%>'></i>
|
||||
<%# XPath("@title")%>
|
||||
</a>
|
||||
</ItemTemplate>
|
||||
</asp:Repeater>
|
||||
</div>
|
||||
</li>
|
||||
</ItemTemplate>
|
||||
</asp:Repeater>
|
||||
</div>
|
||||
</li>
|
||||
</ItemTemplate>
|
||||
<SeparatorTemplate>
|
||||
</SeparatorTemplate>
|
||||
</asp:Repeater>
|
||||
<asp:XmlDataSource ID="XmlMenu" runat="server" enablecaching="True" cacheduration="5"></asp:XmlDataSource>
|
||||
<%--<li class="nav-item">
|
||||
<a class="nav-link text-light" href="ForceReload"><i class="fa fa-retweet shortcut-icon"></i> <%: traduci("ForceReload") %></a>
|
||||
</li>--%>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link text-light" href="About"><i class="fa fa-dot-circle-o" aria-hidden="true"></i> <%: traduci ("About") %></a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link text-light" href="Contact"><i class="fa fa-handshake-o" aria-hidden="true"></i> <%: traduci ("Contacts") %></a>
|
||||
</li>
|
||||
</ul>
|
||||
<div runat="server" id="divSearch" class="form-inline my-2 my-lg-0">
|
||||
<asp:TextBox runat="server" ID="txtSearch" class="form-control mr-sm-2" type="search" placeholder="[S]earch" aria-label="Search" AutoPostBack="true" OnTextChanged="txtSearch_TextChanged" AccessKey="S" />
|
||||
<asp:LinkButton runat="server" ID="lbtSearch" class="btn btn-secondary my-2 my-sm-0" type="submit" OnClick="lbtSearch_Click"># <%: traduci ("Search") %> <i class="fa fa-search" aria-hidden="true"></i></asp:LinkButton>
|
||||
<SeparatorTemplate>
|
||||
</SeparatorTemplate>
|
||||
</asp:Repeater>
|
||||
<asp:XmlDataSource ID="XmlMenu" runat="server" EnableCaching="True" CacheDuration="5"></asp:XmlDataSource>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link text-light" href="About"><i class="fa fa-dot-circle-o" aria-hidden="true"></i> <%: traduci ("About") %></a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link text-light" href="Contact"><i class="fa fa-handshake-o" aria-hidden="true"></i> <%: traduci ("Contacts") %></a>
|
||||
</li>
|
||||
</ul>
|
||||
<div runat="server" id="divSearch" class="form-inline my-2 my-lg-0">
|
||||
<asp:TextBox runat="server" ID="txtSearch" class="form-control mr-sm-2" type="search" placeholder="[S]earch" aria-label="Search" AutoPostBack="true" OnTextChanged="txtSearch_TextChanged" AccessKey="S" />
|
||||
<asp:LinkButton runat="server" ID="lbtSearch" class="btn btn-secondary my-2 my-sm-0" type="submit" OnClick="lbtSearch_Click"># <%: traduci ("Search") %> <i class="fa fa-search" aria-hidden="true"></i></asp:LinkButton>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
</nav>
|
||||
+23
-23
@@ -1,10 +1,10 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <generato automaticamente>
|
||||
// Codice generato da uno strumento.
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
|
||||
// il codice viene rigenerato.
|
||||
// </generato automaticamente>
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace NKC_WF.WebUserControls
|
||||
@@ -15,56 +15,56 @@ namespace NKC_WF.WebUserControls
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
/// Controllo hfAnonym.
|
||||
/// hfAnonym control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.HiddenField hfAnonym;
|
||||
|
||||
/// <summary>
|
||||
/// Controllo menu.
|
||||
/// menu control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Repeater menu;
|
||||
|
||||
/// <summary>
|
||||
/// Controllo XmlMenu.
|
||||
/// XmlMenu control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.XmlDataSource XmlMenu;
|
||||
|
||||
/// <summary>
|
||||
/// Controllo divSearch.
|
||||
/// divSearch control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divSearch;
|
||||
|
||||
/// <summary>
|
||||
/// Controllo txtSearch.
|
||||
/// txtSearch control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.TextBox txtSearch;
|
||||
|
||||
/// <summary>
|
||||
/// Controllo lbtSearch.
|
||||
/// lbtSearch control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.LinkButton lbtSearch;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<div class="container mt-2">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h2><%: Title %> NKC</h2>
|
||||
<h2><%: Title %> NKC.2</h2>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<p class="lead"><%: traduci("NkcPresentationText") %></p>
|
||||
@@ -14,4 +14,4 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</asp:Content>
|
||||
</asp:Content>
|
||||
Generated
+11
-9
@@ -1,15 +1,17 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <generato automaticamente>
|
||||
// Codice generato da uno strumento.
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
|
||||
// il codice viene rigenerato.
|
||||
// </generato automaticamente>
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace NKC_WF {
|
||||
|
||||
|
||||
public partial class About {
|
||||
namespace NKC_WF
|
||||
{
|
||||
|
||||
|
||||
public partial class About
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
+13
-29
@@ -8,40 +8,24 @@
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="row">
|
||||
<div class="col-12 col-md-4">
|
||||
<asp:Image runat="server" CssClass="img-fluid" Height="64" ImageUrl="~/Images/LogoEgaltech.png" />
|
||||
<address>
|
||||
<b>Egaltech srl</b><br />
|
||||
<hr />
|
||||
Via Cremasca 24<br />
|
||||
24052 Azzano San Paolo<br />
|
||||
Bergamo – Italy<br />
|
||||
<abbr title="Phone"><i class="fa fa-phone" aria-hidden="true"></i></abbr>
|
||||
+39 035-0444806
|
||||
</address>
|
||||
<address>
|
||||
<i class="fa fa-envelope-o" aria-hidden="true"></i> <a href="mailto:info@egaltech.com">info@egaltech.com</a>
|
||||
</address>
|
||||
<div class="col-12 col-md-6">
|
||||
<asp:Image runat="server" CssClass="img-fluid" Height="128" ImageUrl="~/Images/LogoEgalware.png" />
|
||||
</div>
|
||||
<div class="col-md-4"></div>
|
||||
<div class="col-12 col-md-4 text-right">
|
||||
<asp:Image runat="server" CssClass="img-fluid" Height="64" ImageUrl="~/Images/LogoSteamware.png" />
|
||||
<div class="col-12 col-md-6 text-right">
|
||||
<address>
|
||||
<b>Steamware srl</b><br />
|
||||
<hr />
|
||||
via Nazionale 93<br />
|
||||
24068 Seriate<br />
|
||||
Bergamo – Italy<br />
|
||||
<abbr title="Phone"><i class="fa fa-phone" aria-hidden="true"></i></abbr>
|
||||
+39 035-460560
|
||||
</address>
|
||||
<address>
|
||||
<i class="fa fa-envelope-o" aria-hidden="true"></i> <a href="mailto:info@steamware.net">info@steamware.net</a>
|
||||
<h3>Egalware srl</h3>
|
||||
<div class="small">
|
||||
via Nazionale 93<br />
|
||||
24068 Seriate<br />
|
||||
Bergamo – Italy<br />
|
||||
<abbr title="Phone"><i class="fa fa-phone" aria-hidden="true"></i></abbr>
|
||||
+39 035-460560<br />
|
||||
<i class="fa fa-envelope-o" aria-hidden="true"></i><a href="mailto:info@egalware.com">info@egalware.com</a>
|
||||
</div>
|
||||
</address>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</asp:Content>
|
||||
</asp:Content>
|
||||
Generated
+5
-5
@@ -1,10 +1,10 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <generato automaticamente>
|
||||
// Codice generato da uno strumento.
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
//
|
||||
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
|
||||
// il codice viene rigenerato.
|
||||
// </generato automaticamente>
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace NKC_WF
|
||||
|
||||
Reference in New Issue
Block a user