Fix login con plain pwd

This commit is contained in:
Samuele E. Locatelli
2019-09-27 21:58:06 +02:00
parent 14ea55ab4b
commit c12d596ce2
6 changed files with 173 additions and 131 deletions
+17 -1
View File
@@ -7791,11 +7791,16 @@ namespace GPW_data.DS_UtilityTableAdapters {
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")]
private void InitCommandCollection() {
this._commandCollection = new global::System.Data.SqlClient.SqlCommand[1];
this._commandCollection = new global::System.Data.SqlClient.SqlCommand[2];
this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand();
this._commandCollection[0].Connection = this.Connection;
this._commandCollection[0].CommandText = "SELECT value, label\r\nFROM v_selDipendenti\r\nORDER BY label";
this._commandCollection[0].CommandType = global::System.Data.CommandType.Text;
this._commandCollection[1] = new global::System.Data.SqlClient.SqlCommand();
this._commandCollection[1].Connection = this.Connection;
this._commandCollection[1].CommandText = "SELECT value, label\r\nFROM v_selDipendentiAttivi\r\nORDER BY label" +
"";
this._commandCollection[1].CommandType = global::System.Data.CommandType.Text;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
@@ -7821,6 +7826,17 @@ namespace GPW_data.DS_UtilityTableAdapters {
this.Adapter.Fill(dataTable);
return dataTable;
}
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "16.0.0.0")]
[global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")]
[global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)]
public virtual DS_Utility.v_selDipendentiDataTable getAttivi() {
this.Adapter.SelectCommand = this.CommandCollection[1];
DS_Utility.v_selDipendentiDataTable dataTable = new DS_Utility.v_selDipendentiDataTable();
this.Adapter.Fill(dataTable);
return dataTable;
}
}
/// <summary>
+29 -18
View File
@@ -24,7 +24,18 @@ ORDER BY label</CommandText>
<Mapping SourceColumn="value" DataSetColumn="value" />
<Mapping SourceColumn="label" DataSetColumn="label" />
</Mappings>
<Sources />
<Sources>
<DbSource ConnectionRef="GPWConnectionString (Settings)" DbObjectName="GPW.dbo.v_selDipendentiAttivi" DbObjectType="View" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getAttivi" GetMethodModifier="Public" GetMethodName="getAttivi" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getAttivi" UserSourceName="getAttivi">
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="true">
<CommandText>SELECT value, label
FROM v_selDipendentiAttivi
ORDER BY label</CommandText>
<Parameters />
</DbCommand>
</SelectCommand>
</DbSource>
</Sources>
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="stp_getLastDaysTableAdapter" GeneratorDataComponentClassName="stp_getLastDaysTableAdapter" Name="stp_getLastDays" UserDataComponentName="stp_getLastDaysTableAdapter">
<MainSource>
@@ -458,7 +469,7 @@ ORDER BY ordinal</CommandText>
<xs:element name="DS_Utility" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="DS_Utility" msprop:Generator_UserDSName="DS_Utility">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="v_selDipendenti" msprop:Generator_TableClassName="v_selDipendentiDataTable" msprop:Generator_TableVarName="tablev_selDipendenti" msprop:Generator_RowChangedName="v_selDipendentiRowChanged" msprop:Generator_TablePropName="v_selDipendenti" msprop:Generator_RowDeletingName="v_selDipendentiRowDeleting" msprop:Generator_RowChangingName="v_selDipendentiRowChanging" msprop:Generator_RowEvHandlerName="v_selDipendentiRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selDipendentiRowDeleted" msprop:Generator_RowClassName="v_selDipendentiRow" msprop:Generator_UserTableName="v_selDipendenti" msprop:Generator_RowEvArgName="v_selDipendentiRowChangeEvent">
<xs:element name="v_selDipendenti" msprop:Generator_TableClassName="v_selDipendentiDataTable" msprop:Generator_TableVarName="tablev_selDipendenti" msprop:Generator_TablePropName="v_selDipendenti" msprop:Generator_RowDeletingName="v_selDipendentiRowDeleting" msprop:Generator_RowChangingName="v_selDipendentiRowChanging" msprop:Generator_RowEvHandlerName="v_selDipendentiRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selDipendentiRowDeleted" msprop:Generator_UserTableName="v_selDipendenti" msprop:Generator_RowChangedName="v_selDipendentiRowChanged" msprop:Generator_RowEvArgName="v_selDipendentiRowChangeEvent" msprop:Generator_RowClassName="v_selDipendentiRow">
<xs:complexType>
<xs:sequence>
<xs:element name="value" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnPropNameInTable="valueColumn" msprop:Generator_UserColumnName="value" type="xs:int" />
@@ -472,7 +483,7 @@ ORDER BY ordinal</CommandText>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="stp_getLastDays" msprop:Generator_TableClassName="stp_getLastDaysDataTable" msprop:Generator_TableVarName="tablestp_getLastDays" msprop:Generator_TablePropName="stp_getLastDays" msprop:Generator_RowDeletingName="stp_getLastDaysRowDeleting" msprop:Generator_RowChangingName="stp_getLastDaysRowChanging" msprop:Generator_RowEvHandlerName="stp_getLastDaysRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_getLastDaysRowDeleted" msprop:Generator_UserTableName="stp_getLastDays" msprop:Generator_RowChangedName="stp_getLastDaysRowChanged" msprop:Generator_RowEvArgName="stp_getLastDaysRowChangeEvent" msprop:Generator_RowClassName="stp_getLastDaysRow">
<xs:element name="stp_getLastDays" msprop:Generator_TableClassName="stp_getLastDaysDataTable" msprop:Generator_TableVarName="tablestp_getLastDays" msprop:Generator_RowChangedName="stp_getLastDaysRowChanged" msprop:Generator_TablePropName="stp_getLastDays" msprop:Generator_RowDeletingName="stp_getLastDaysRowDeleting" msprop:Generator_RowChangingName="stp_getLastDaysRowChanging" msprop:Generator_RowEvHandlerName="stp_getLastDaysRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_getLastDaysRowDeleted" msprop:Generator_RowClassName="stp_getLastDaysRow" msprop:Generator_UserTableName="stp_getLastDays" msprop:Generator_RowEvArgName="stp_getLastDaysRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="Data" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnData" msprop:Generator_ColumnPropNameInRow="Data" msprop:Generator_ColumnPropNameInTable="DataColumn" msprop:Generator_UserColumnName="Data" minOccurs="0">
@@ -485,21 +496,21 @@ ORDER BY ordinal</CommandText>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="stp_getMin" msprop:Generator_TableClassName="stp_getMinDataTable" msprop:Generator_TableVarName="tablestp_getMin" msprop:Generator_TablePropName="stp_getMin" msprop:Generator_RowDeletingName="stp_getMinRowDeleting" msprop:Generator_RowChangingName="stp_getMinRowChanging" msprop:Generator_RowEvHandlerName="stp_getMinRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_getMinRowDeleted" msprop:Generator_UserTableName="stp_getMin" msprop:Generator_RowChangedName="stp_getMinRowChanged" msprop:Generator_RowEvArgName="stp_getMinRowChangeEvent" msprop:Generator_RowClassName="stp_getMinRow">
<xs:element name="stp_getMin" msprop:Generator_TableClassName="stp_getMinDataTable" msprop:Generator_TableVarName="tablestp_getMin" msprop:Generator_RowChangedName="stp_getMinRowChanged" msprop:Generator_TablePropName="stp_getMin" msprop:Generator_RowDeletingName="stp_getMinRowDeleting" msprop:Generator_RowChangingName="stp_getMinRowChanging" msprop:Generator_RowEvHandlerName="stp_getMinRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_getMinRowDeleted" msprop:Generator_RowClassName="stp_getMinRow" msprop:Generator_UserTableName="stp_getMin" msprop:Generator_RowEvArgName="stp_getMinRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="minuto" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnminuto" msprop:Generator_ColumnPropNameInRow="minuto" msprop:Generator_ColumnPropNameInTable="minutoColumn" msprop:Generator_UserColumnName="minuto" type="xs:int" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="stp_getHours" msprop:Generator_TableClassName="stp_getHoursDataTable" msprop:Generator_TableVarName="tablestp_getHours" msprop:Generator_TablePropName="stp_getHours" msprop:Generator_RowDeletingName="stp_getHoursRowDeleting" msprop:Generator_RowChangingName="stp_getHoursRowChanging" msprop:Generator_RowEvHandlerName="stp_getHoursRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_getHoursRowDeleted" msprop:Generator_UserTableName="stp_getHours" msprop:Generator_RowChangedName="stp_getHoursRowChanged" msprop:Generator_RowEvArgName="stp_getHoursRowChangeEvent" msprop:Generator_RowClassName="stp_getHoursRow">
<xs:element name="stp_getHours" msprop:Generator_TableClassName="stp_getHoursDataTable" msprop:Generator_TableVarName="tablestp_getHours" msprop:Generator_RowChangedName="stp_getHoursRowChanged" msprop:Generator_TablePropName="stp_getHours" msprop:Generator_RowDeletingName="stp_getHoursRowDeleting" msprop:Generator_RowChangingName="stp_getHoursRowChanging" msprop:Generator_RowEvHandlerName="stp_getHoursRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_getHoursRowDeleted" msprop:Generator_RowClassName="stp_getHoursRow" msprop:Generator_UserTableName="stp_getHours" msprop:Generator_RowEvArgName="stp_getHoursRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="ora" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnora" msprop:Generator_ColumnPropNameInRow="ora" msprop:Generator_ColumnPropNameInTable="oraColumn" msprop:Generator_UserColumnName="ora" type="xs:int" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="v_selProgetti" msprop:Generator_TableClassName="v_selProgettiDataTable" msprop:Generator_TableVarName="tablev_selProgetti" msprop:Generator_RowChangedName="v_selProgettiRowChanged" msprop:Generator_TablePropName="v_selProgetti" msprop:Generator_RowDeletingName="v_selProgettiRowDeleting" msprop:Generator_RowChangingName="v_selProgettiRowChanging" msprop:Generator_RowEvHandlerName="v_selProgettiRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selProgettiRowDeleted" msprop:Generator_RowClassName="v_selProgettiRow" msprop:Generator_UserTableName="v_selProgetti" msprop:Generator_RowEvArgName="v_selProgettiRowChangeEvent">
<xs:element name="v_selProgetti" msprop:Generator_TableClassName="v_selProgettiDataTable" msprop:Generator_TableVarName="tablev_selProgetti" msprop:Generator_TablePropName="v_selProgetti" msprop:Generator_RowDeletingName="v_selProgettiRowDeleting" msprop:Generator_RowChangingName="v_selProgettiRowChanging" msprop:Generator_RowEvHandlerName="v_selProgettiRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selProgettiRowDeleted" msprop:Generator_UserTableName="v_selProgetti" msprop:Generator_RowChangedName="v_selProgettiRowChanged" msprop:Generator_RowEvArgName="v_selProgettiRowChangeEvent" msprop:Generator_RowClassName="v_selProgettiRow">
<xs:complexType>
<xs:sequence>
<xs:element name="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnPropNameInTable="valueColumn" msprop:Generator_UserColumnName="value" type="xs:int" />
@@ -515,7 +526,7 @@ ORDER BY ordinal</CommandText>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="v_selFasi" msprop:Generator_TableClassName="v_selFasiDataTable" msprop:Generator_TableVarName="tablev_selFasi" msprop:Generator_RowChangedName="v_selFasiRowChanged" msprop:Generator_TablePropName="v_selFasi" msprop:Generator_RowDeletingName="v_selFasiRowDeleting" msprop:Generator_RowChangingName="v_selFasiRowChanging" msprop:Generator_RowEvHandlerName="v_selFasiRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selFasiRowDeleted" msprop:Generator_RowClassName="v_selFasiRow" msprop:Generator_UserTableName="v_selFasi" msprop:Generator_RowEvArgName="v_selFasiRowChangeEvent">
<xs:element name="v_selFasi" msprop:Generator_TableClassName="v_selFasiDataTable" msprop:Generator_TableVarName="tablev_selFasi" msprop:Generator_TablePropName="v_selFasi" msprop:Generator_RowDeletingName="v_selFasiRowDeleting" msprop:Generator_RowChangingName="v_selFasiRowChanging" msprop:Generator_RowEvHandlerName="v_selFasiRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selFasiRowDeleted" msprop:Generator_UserTableName="v_selFasi" msprop:Generator_RowChangedName="v_selFasiRowChanged" msprop:Generator_RowEvArgName="v_selFasiRowChangeEvent" msprop:Generator_RowClassName="v_selFasiRow">
<xs:complexType>
<xs:sequence>
<xs:element name="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnPropNameInTable="valueColumn" msprop:Generator_UserColumnName="value" type="xs:int" />
@@ -530,7 +541,7 @@ ORDER BY ordinal</CommandText>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="v_selClienti" msprop:Generator_TableClassName="v_selClientiDataTable" msprop:Generator_TableVarName="tablev_selClienti" msprop:Generator_TablePropName="v_selClienti" msprop:Generator_RowDeletingName="v_selClientiRowDeleting" msprop:Generator_RowChangingName="v_selClientiRowChanging" msprop:Generator_RowEvHandlerName="v_selClientiRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selClientiRowDeleted" msprop:Generator_UserTableName="v_selClienti" msprop:Generator_RowChangedName="v_selClientiRowChanged" msprop:Generator_RowEvArgName="v_selClientiRowChangeEvent" msprop:Generator_RowClassName="v_selClientiRow">
<xs:element name="v_selClienti" msprop:Generator_TableClassName="v_selClientiDataTable" msprop:Generator_TableVarName="tablev_selClienti" msprop:Generator_RowChangedName="v_selClientiRowChanged" msprop:Generator_TablePropName="v_selClienti" msprop:Generator_RowDeletingName="v_selClientiRowDeleting" msprop:Generator_RowChangingName="v_selClientiRowChanging" msprop:Generator_RowEvHandlerName="v_selClientiRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selClientiRowDeleted" msprop:Generator_RowClassName="v_selClientiRow" msprop:Generator_UserTableName="v_selClienti" msprop:Generator_RowEvArgName="v_selClientiRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="value" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnPropNameInTable="valueColumn" msprop:Generator_UserColumnName="value" type="xs:int" />
@@ -544,7 +555,7 @@ ORDER BY ordinal</CommandText>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="stp_statsProj" msprop:Generator_TableClassName="stp_statsProjDataTable" msprop:Generator_TableVarName="tablestp_statsProj" msprop:Generator_RowChangedName="stp_statsProjRowChanged" msprop:Generator_TablePropName="stp_statsProj" msprop:Generator_RowDeletingName="stp_statsProjRowDeleting" msprop:Generator_RowChangingName="stp_statsProjRowChanging" msprop:Generator_RowEvHandlerName="stp_statsProjRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_statsProjRowDeleted" msprop:Generator_RowClassName="stp_statsProjRow" msprop:Generator_UserTableName="stp_statsProj" msprop:Generator_RowEvArgName="stp_statsProjRowChangeEvent">
<xs:element name="stp_statsProj" msprop:Generator_TableClassName="stp_statsProjDataTable" msprop:Generator_TableVarName="tablestp_statsProj" msprop:Generator_TablePropName="stp_statsProj" msprop:Generator_RowDeletingName="stp_statsProjRowDeleting" msprop:Generator_RowChangingName="stp_statsProjRowChanging" msprop:Generator_RowEvHandlerName="stp_statsProjRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_statsProjRowDeleted" msprop:Generator_UserTableName="stp_statsProj" msprop:Generator_RowChangedName="stp_statsProjRowChanged" msprop:Generator_RowEvArgName="stp_statsProjRowChangeEvent" msprop:Generator_RowClassName="stp_statsProjRow">
<xs:complexType>
<xs:sequence>
<xs:element name="oreBudget" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnoreBudget" msprop:Generator_ColumnPropNameInRow="oreBudget" msprop:Generator_ColumnPropNameInTable="oreBudgetColumn" msprop:Generator_UserColumnName="oreBudget" type="xs:decimal" minOccurs="0" />
@@ -556,7 +567,7 @@ ORDER BY ordinal</CommandText>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="v_selCodGiust" msprop:Generator_TableClassName="v_selCodGiustDataTable" msprop:Generator_TableVarName="tablev_selCodGiust" msprop:Generator_TablePropName="v_selCodGiust" msprop:Generator_RowDeletingName="v_selCodGiustRowDeleting" msprop:Generator_RowChangingName="v_selCodGiustRowChanging" msprop:Generator_RowEvHandlerName="v_selCodGiustRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selCodGiustRowDeleted" msprop:Generator_UserTableName="v_selCodGiust" msprop:Generator_RowChangedName="v_selCodGiustRowChanged" msprop:Generator_RowEvArgName="v_selCodGiustRowChangeEvent" msprop:Generator_RowClassName="v_selCodGiustRow">
<xs:element name="v_selCodGiust" msprop:Generator_TableClassName="v_selCodGiustDataTable" msprop:Generator_TableVarName="tablev_selCodGiust" msprop:Generator_RowChangedName="v_selCodGiustRowChanged" msprop:Generator_TablePropName="v_selCodGiust" msprop:Generator_RowDeletingName="v_selCodGiustRowDeleting" msprop:Generator_RowChangingName="v_selCodGiustRowChanging" msprop:Generator_RowEvHandlerName="v_selCodGiustRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selCodGiustRowDeleted" msprop:Generator_RowClassName="v_selCodGiustRow" msprop:Generator_UserTableName="v_selCodGiust" msprop:Generator_RowEvArgName="v_selCodGiustRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnPropNameInTable="valueColumn" msprop:Generator_UserColumnName="value">
@@ -576,14 +587,14 @@ ORDER BY ordinal</CommandText>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="nextValContatore" msprop:Generator_TableClassName="nextValContatoreDataTable" msprop:Generator_TableVarName="tablenextValContatore" msprop:Generator_RowChangedName="nextValContatoreRowChanged" msprop:Generator_TablePropName="nextValContatore" msprop:Generator_RowDeletingName="nextValContatoreRowDeleting" msprop:Generator_RowChangingName="nextValContatoreRowChanging" msprop:Generator_RowEvHandlerName="nextValContatoreRowChangeEventHandler" msprop:Generator_RowDeletedName="nextValContatoreRowDeleted" msprop:Generator_RowClassName="nextValContatoreRow" msprop:Generator_UserTableName="nextValContatore" msprop:Generator_RowEvArgName="nextValContatoreRowChangeEvent">
<xs:element name="nextValContatore" msprop:Generator_TableClassName="nextValContatoreDataTable" msprop:Generator_TableVarName="tablenextValContatore" msprop:Generator_TablePropName="nextValContatore" msprop:Generator_RowDeletingName="nextValContatoreRowDeleting" msprop:Generator_RowChangingName="nextValContatoreRowChanging" msprop:Generator_RowEvHandlerName="nextValContatoreRowChangeEventHandler" msprop:Generator_RowDeletedName="nextValContatoreRowDeleted" msprop:Generator_UserTableName="nextValContatore" msprop:Generator_RowChangedName="nextValContatoreRowChanged" msprop:Generator_RowEvArgName="nextValContatoreRowChangeEvent" msprop:Generator_RowClassName="nextValContatoreRow">
<xs:complexType>
<xs:sequence>
<xs:element name="Column1" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnColumn1" msprop:Generator_ColumnPropNameInRow="Column1" msprop:Generator_ColumnPropNameInTable="Column1Column" msprop:Generator_UserColumnName="Column1" type="xs:int" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="v_selFasiOpt" msprop:Generator_TableClassName="v_selFasiOptDataTable" msprop:Generator_TableVarName="tablev_selFasiOpt" msprop:Generator_TablePropName="v_selFasiOpt" msprop:Generator_RowDeletingName="v_selFasiOptRowDeleting" msprop:Generator_RowChangingName="v_selFasiOptRowChanging" msprop:Generator_RowEvHandlerName="v_selFasiOptRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selFasiOptRowDeleted" msprop:Generator_UserTableName="v_selFasiOpt" msprop:Generator_RowChangedName="v_selFasiOptRowChanged" msprop:Generator_RowEvArgName="v_selFasiOptRowChangeEvent" msprop:Generator_RowClassName="v_selFasiOptRow">
<xs:element name="v_selFasiOpt" msprop:Generator_TableClassName="v_selFasiOptDataTable" msprop:Generator_TableVarName="tablev_selFasiOpt" msprop:Generator_RowChangedName="v_selFasiOptRowChanged" msprop:Generator_TablePropName="v_selFasiOpt" msprop:Generator_RowDeletingName="v_selFasiOptRowDeleting" msprop:Generator_RowChangingName="v_selFasiOptRowChanging" msprop:Generator_RowEvHandlerName="v_selFasiOptRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selFasiOptRowDeleted" msprop:Generator_RowClassName="v_selFasiOptRow" msprop:Generator_UserTableName="v_selFasiOpt" msprop:Generator_RowEvArgName="v_selFasiOptRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="valueGroup" msprop:Generator_ColumnVarNameInTable="columnvalueGroup" msprop:Generator_ColumnPropNameInRow="valueGroup" msprop:Generator_ColumnPropNameInTable="valueGroupColumn" msprop:Generator_UserColumnName="valueGroup" type="xs:int" />
@@ -599,7 +610,7 @@ ORDER BY ordinal</CommandText>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AnagKeyValue" msprop:Generator_TableClassName="AnagKeyValueDataTable" msprop:Generator_TableVarName="tableAnagKeyValue" msprop:Generator_RowChangedName="AnagKeyValueRowChanged" msprop:Generator_TablePropName="AnagKeyValue" msprop:Generator_RowDeletingName="AnagKeyValueRowDeleting" msprop:Generator_RowChangingName="AnagKeyValueRowChanging" msprop:Generator_RowEvHandlerName="AnagKeyValueRowChangeEventHandler" msprop:Generator_RowDeletedName="AnagKeyValueRowDeleted" msprop:Generator_RowClassName="AnagKeyValueRow" msprop:Generator_UserTableName="AnagKeyValue" msprop:Generator_RowEvArgName="AnagKeyValueRowChangeEvent">
<xs:element name="AnagKeyValue" msprop:Generator_TableClassName="AnagKeyValueDataTable" msprop:Generator_TableVarName="tableAnagKeyValue" msprop:Generator_TablePropName="AnagKeyValue" msprop:Generator_RowDeletingName="AnagKeyValueRowDeleting" msprop:Generator_RowChangingName="AnagKeyValueRowChanging" msprop:Generator_RowEvHandlerName="AnagKeyValueRowChangeEventHandler" msprop:Generator_RowDeletedName="AnagKeyValueRowDeleted" msprop:Generator_UserTableName="AnagKeyValue" msprop:Generator_RowChangedName="AnagKeyValueRowChanged" msprop:Generator_RowEvArgName="AnagKeyValueRowChangeEvent" msprop:Generator_RowClassName="AnagKeyValueRow">
<xs:complexType>
<xs:sequence>
<xs:element name="nomeVar" msprop:Generator_ColumnVarNameInTable="columnnomeVar" msprop:Generator_ColumnPropNameInRow="nomeVar" msprop:Generator_ColumnPropNameInTable="nomeVarColumn" msprop:Generator_UserColumnName="nomeVar">
@@ -628,7 +639,7 @@ ORDER BY ordinal</CommandText>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="v_selCodOrario" msprop:Generator_TableClassName="v_selCodOrarioDataTable" msprop:Generator_TableVarName="tablev_selCodOrario" msprop:Generator_TablePropName="v_selCodOrario" msprop:Generator_RowDeletingName="v_selCodOrarioRowDeleting" msprop:Generator_RowChangingName="v_selCodOrarioRowChanging" msprop:Generator_RowEvHandlerName="v_selCodOrarioRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selCodOrarioRowDeleted" msprop:Generator_UserTableName="v_selCodOrario" msprop:Generator_RowChangedName="v_selCodOrarioRowChanged" msprop:Generator_RowEvArgName="v_selCodOrarioRowChangeEvent" msprop:Generator_RowClassName="v_selCodOrarioRow">
<xs:element name="v_selCodOrario" msprop:Generator_TableClassName="v_selCodOrarioDataTable" msprop:Generator_TableVarName="tablev_selCodOrario" msprop:Generator_RowChangedName="v_selCodOrarioRowChanged" msprop:Generator_TablePropName="v_selCodOrario" msprop:Generator_RowDeletingName="v_selCodOrarioRowDeleting" msprop:Generator_RowChangingName="v_selCodOrarioRowChanging" msprop:Generator_RowEvHandlerName="v_selCodOrarioRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selCodOrarioRowDeleted" msprop:Generator_RowClassName="v_selCodOrarioRow" msprop:Generator_UserTableName="v_selCodOrario" msprop:Generator_RowEvArgName="v_selCodOrarioRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnPropNameInTable="valueColumn" msprop:Generator_UserColumnName="value">
@@ -648,7 +659,7 @@ ORDER BY ordinal</CommandText>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="v_selPageSize" msprop:Generator_TableClassName="v_selPageSizeDataTable" msprop:Generator_TableVarName="tablev_selPageSize" msprop:Generator_TablePropName="v_selPageSize" msprop:Generator_RowDeletingName="v_selPageSizeRowDeleting" msprop:Generator_RowChangingName="v_selPageSizeRowChanging" msprop:Generator_RowEvHandlerName="v_selPageSizeRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selPageSizeRowDeleted" msprop:Generator_UserTableName="v_selPageSize" msprop:Generator_RowChangedName="v_selPageSizeRowChanged" msprop:Generator_RowEvArgName="v_selPageSizeRowChangeEvent" msprop:Generator_RowClassName="v_selPageSizeRow">
<xs:element name="v_selPageSize" msprop:Generator_TableClassName="v_selPageSizeDataTable" msprop:Generator_TableVarName="tablev_selPageSize" msprop:Generator_RowChangedName="v_selPageSizeRowChanged" msprop:Generator_TablePropName="v_selPageSize" msprop:Generator_RowDeletingName="v_selPageSizeRowDeleting" msprop:Generator_RowChangingName="v_selPageSizeRowChanging" msprop:Generator_RowEvHandlerName="v_selPageSizeRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selPageSizeRowDeleted" msprop:Generator_RowClassName="v_selPageSizeRow" msprop:Generator_UserTableName="v_selPageSize" msprop:Generator_RowEvArgName="v_selPageSizeRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="value" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnPropNameInTable="valueColumn" msprop:Generator_UserColumnName="value">
@@ -669,7 +680,7 @@ ORDER BY ordinal</CommandText>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="stp_VSProjFasi_search" msprop:Generator_TableClassName="stp_VSProjFasi_searchDataTable" msprop:Generator_TableVarName="tablestp_VSProjFasi_search" msprop:Generator_TablePropName="stp_VSProjFasi_search" msprop:Generator_RowDeletingName="stp_VSProjFasi_searchRowDeleting" msprop:Generator_RowChangingName="stp_VSProjFasi_searchRowChanging" msprop:Generator_RowEvHandlerName="stp_VSProjFasi_searchRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_VSProjFasi_searchRowDeleted" msprop:Generator_UserTableName="stp_VSProjFasi_search" msprop:Generator_RowChangedName="stp_VSProjFasi_searchRowChanged" msprop:Generator_RowEvArgName="stp_VSProjFasi_searchRowChangeEvent" msprop:Generator_RowClassName="stp_VSProjFasi_searchRow">
<xs:element name="stp_VSProjFasi_search" msprop:Generator_TableClassName="stp_VSProjFasi_searchDataTable" msprop:Generator_TableVarName="tablestp_VSProjFasi_search" msprop:Generator_RowChangedName="stp_VSProjFasi_searchRowChanged" msprop:Generator_TablePropName="stp_VSProjFasi_search" msprop:Generator_RowDeletingName="stp_VSProjFasi_searchRowDeleting" msprop:Generator_RowChangingName="stp_VSProjFasi_searchRowChanging" msprop:Generator_RowEvHandlerName="stp_VSProjFasi_searchRowChangeEventHandler" msprop:Generator_RowDeletedName="stp_VSProjFasi_searchRowDeleted" msprop:Generator_RowClassName="stp_VSProjFasi_searchRow" msprop:Generator_UserTableName="stp_VSProjFasi_search" msprop:Generator_RowEvArgName="stp_VSProjFasi_searchRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="idxProgetto" msprop:Generator_ColumnVarNameInTable="columnidxProgetto" msprop:Generator_ColumnPropNameInRow="idxProgetto" msprop:Generator_ColumnPropNameInTable="idxProgettoColumn" msprop:Generator_UserColumnName="idxProgetto" type="xs:int" minOccurs="0" />
@@ -677,7 +688,7 @@ ORDER BY ordinal</CommandText>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="freqProgetti" msprop:Generator_TableClassName="freqProgettiDataTable" msprop:Generator_TableVarName="tablefreqProgetti" msprop:Generator_RowChangedName="freqProgettiRowChanged" msprop:Generator_TablePropName="freqProgetti" msprop:Generator_RowDeletingName="freqProgettiRowDeleting" msprop:Generator_RowChangingName="freqProgettiRowChanging" msprop:Generator_RowEvHandlerName="freqProgettiRowChangeEventHandler" msprop:Generator_RowDeletedName="freqProgettiRowDeleted" msprop:Generator_RowClassName="freqProgettiRow" msprop:Generator_UserTableName="freqProgetti" msprop:Generator_RowEvArgName="freqProgettiRowChangeEvent">
<xs:element name="freqProgetti" msprop:Generator_TableClassName="freqProgettiDataTable" msprop:Generator_TableVarName="tablefreqProgetti" msprop:Generator_TablePropName="freqProgetti" msprop:Generator_RowDeletingName="freqProgettiRowDeleting" msprop:Generator_RowChangingName="freqProgettiRowChanging" msprop:Generator_RowEvHandlerName="freqProgettiRowChangeEventHandler" msprop:Generator_RowDeletedName="freqProgettiRowDeleted" msprop:Generator_UserTableName="freqProgetti" msprop:Generator_RowChangedName="freqProgettiRowChanged" msprop:Generator_RowEvArgName="freqProgettiRowChangeEvent" msprop:Generator_RowClassName="freqProgettiRow">
<xs:complexType>
<xs:sequence>
<xs:element name="nomeComm" msprop:Generator_ColumnVarNameInTable="columnnomeComm" msprop:Generator_ColumnPropNameInRow="nomeComm" msprop:Generator_ColumnPropNameInTable="nomeCommColumn" msprop:Generator_UserColumnName="nomeComm" minOccurs="0">
@@ -710,7 +721,7 @@ ORDER BY ordinal</CommandText>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="v_selProjFasi" msprop:Generator_TableClassName="v_selProjFasiDataTable" msprop:Generator_TableVarName="tablev_selProjFasi" msprop:Generator_RowChangedName="v_selProjFasiRowChanged" msprop:Generator_TablePropName="v_selProjFasi" msprop:Generator_RowDeletingName="v_selProjFasiRowDeleting" msprop:Generator_RowChangingName="v_selProjFasiRowChanging" msprop:Generator_RowEvHandlerName="v_selProjFasiRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selProjFasiRowDeleted" msprop:Generator_RowClassName="v_selProjFasiRow" msprop:Generator_UserTableName="v_selProjFasi" msprop:Generator_RowEvArgName="v_selProjFasiRowChangeEvent">
<xs:element name="v_selProjFasi" msprop:Generator_TableClassName="v_selProjFasiDataTable" msprop:Generator_TableVarName="tablev_selProjFasi" msprop:Generator_TablePropName="v_selProjFasi" msprop:Generator_RowDeletingName="v_selProjFasiRowDeleting" msprop:Generator_RowChangingName="v_selProjFasiRowChanging" msprop:Generator_RowEvHandlerName="v_selProjFasiRowChangeEventHandler" msprop:Generator_RowDeletedName="v_selProjFasiRowDeleted" msprop:Generator_UserTableName="v_selProjFasi" msprop:Generator_RowChangedName="v_selProjFasiRowChanged" msprop:Generator_RowEvArgName="v_selProjFasiRowChangeEvent" msprop:Generator_RowClassName="v_selProjFasiRow">
<xs:complexType>
<xs:sequence>
<xs:element name="value" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnvalue" msprop:Generator_ColumnPropNameInRow="value" msprop:Generator_ColumnPropNameInTable="valueColumn" msprop:Generator_UserColumnName="value" minOccurs="0">
@@ -8,7 +8,7 @@
DataTextField="label" DataValueField="value">
</asp:DropDownList>
<asp:ObjectDataSource ID="odsDipendenti" runat="server" OldValuesParameterFormatString="original_{0}"
SelectMethod="GetData" TypeName="GPW_data.DS_UtilityTableAdapters.v_selDipendentiTableAdapter">
SelectMethod="getAttivi" TypeName="GPW_data.DS_UtilityTableAdapters.v_selDipendentiTableAdapter">
</asp:ObjectDataSource>
<br />
<label for="UserAuthKey">
@@ -9,104 +9,119 @@ using GPW_data;
namespace GPW.WebUserControls
{
public partial class mod_enrollByAuthKey : System.Web.UI.UserControl
public partial class mod_enrollByAuthKey : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
protected void Page_Load(object sender, EventArgs e)
{
}
/// <summary>
/// salvo nuovo device...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnConferma_Click(object sender, EventArgs e)
}
/// <summary>
/// salvo nuovo device...
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnConferma_Click(object sender, EventArgs e)
{
// controllo se ho i dati...
string plainUserAuthKey = txtUserAuthKey.Text.Trim();
// in primis cerco il dipendente data la authKey...
int idxDipendente = 0;
try
{
idxDipendente = Convert.ToInt32(ddlIdxDipendente.SelectedValue);
}
catch
{ }
try
{
// controllo dipendente... che sia selezionato uno valido
if (idxDipendente > 0)
{
// controllo se ho i dati...
string plainUserAuthKey = txtUserAuthKey.Text.Trim();
// in primis cerco il dipendente data la authKey...
int idxDipendente = 0;
// dichiarazione variabili
string userAgent = "";
bool fatto = false;
string DeviceName = "";
string IPv4 = "";
string md5UserAuthKey = "";
int trovate = 0;
try
{
// recupero dati da session
userAgent = Request.UserAgent;
DeviceName = Request.UserHostName;
IPv4 = Request.UserHostName;
}
catch
{
logger.lg.scriviLog("Errore recupero dati da sessione x user, device, IP", tipoLog.ERROR);
}
// calcolo authKey... cerco se ne trovo x utente encrypted o unencrypted
md5UserAuthKey = SteamCrypto.EncryptString(plainUserAuthKey, "AuthGPW");
logger.lg.scriviLog(string.Format("Richiesta auth smart device per idxDipendente {0} con key MD5 {1}", idxDipendente, md5UserAuthKey), tipoLog.INFO);
int trovatePlain = 0;
int trovateMd5 = 0;
try
{
trovateMd5 = DataProxy.DP.taDipendenti.getByAuthKey(idxDipendente, md5UserAuthKey).Rows.Count;
trovatePlain = DataProxy.DP.taDipendenti.getByAuthKey(idxDipendente, plainUserAuthKey).Rows.Count;
trovate = trovatePlain + trovateMd5;
}
catch
{
logger.lg.scriviLog("Errore ricerca key in chiaro/MD5 x utente", tipoLog.ERROR);
}
if (trovate > 0)
{
try
{
idxDipendente = Convert.ToInt32(ddlIdxDipendente.SelectedValue);
}
catch
{ }
try
{
// controllo dipendente... che sia selezionato uno valido
if (idxDipendente > 0)
{
// dichiarazione variabili
string userAgent = "";
bool fatto = false;
string DeviceName = "";
string IPv4 = "";
string md5UserAuthKey = "";
int trovate = 0;
try
{
// recupero dati da session
userAgent = Request.UserAgent;
DeviceName = Request.UserHostName;
IPv4 = Request.UserHostName;
}
catch
{
logger.lg.scriviLog("Errore recupero dati da sessione x user, device, IP", tipoLog.ERROR);
}
// calcolo authKey... cerco se ne trovo x utente encrypted o unencrypted
md5UserAuthKey = SteamCrypto.EncryptString(plainUserAuthKey, "AuthGPW");
logger.lg.scriviLog(string.Format("Richiesta auth smart device per idxDipendente {0} con key MD5 {1}", idxDipendente, md5UserAuthKey), tipoLog.INFO);
try
{
trovate = DataProxy.DP.taDipendenti.getByAuthKey(idxDipendente, md5UserAuthKey).Rows.Count + DataProxy.DP.taDipendenti.getByAuthKey(idxDipendente, plainUserAuthKey).Rows.Count;
}
catch
{
logger.lg.scriviLog("Errore ricerca key in chiaro/MD5 x utente", tipoLog.ERROR);
}
if (trovate > 0)
{
try
{
fatto = DataProxy.DP.enrollDevice(md5UserAuthKey, IPv4, DeviceName, userAgent, idxDipendente);
if (fatto)
{
Response.Redirect("~/Timbrature.aspx");
}
}
catch (Exception exc)
{
logger.lg.scriviLog(string.Format("Errore in registrazione nuovo device con AuthKey CIFRATA x utente: {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
}
}
else
{
lblWarning.Text = "AuthKey non trovata! richiedere reset ad Admin.";
lblWarning.Visible = true;
}
}
else
{
lblWarning.Text = "Dipendente non trovato!";
lblWarning.Visible = true;
}
if (trovateMd5 > 0)
{
fatto = DataProxy.DP.enrollDevice(md5UserAuthKey, IPv4, DeviceName, userAgent, idxDipendente);
}
else if (trovatePlain > 0)
{
fatto = DataProxy.DP.enrollDevice(plainUserAuthKey, IPv4, DeviceName, userAgent, idxDipendente);
}
if (fatto)
{
Response.Redirect("~/Timbrature.aspx");
}
else
{
}
}
catch (Exception exc)
{
logger.lg.scriviLog(string.Format("Errore in registrazione device: {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
logger.lg.scriviLog(string.Format("Errore in registrazione nuovo device con AuthKey CIFRATA x utente: {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
}
}
else
{
lblWarning.Text = "AuthKey non trovata! richiedere reset ad Admin.";
lblWarning.Visible = true;
}
}
/// <summary>
/// resetto tutto
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAnnulla_Click(object sender, EventArgs e)
else
{
txtUserAuthKey.Text = "";
lblWarning.Text = "Dipendente non trovato!";
lblWarning.Visible = true;
}
}
catch (Exception exc)
{
logger.lg.scriviLog(string.Format("Errore in registrazione device: {0}{1}", Environment.NewLine, exc), tipoLog.EXCEPTION);
}
}
/// <summary>
/// resetto tutto
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAnnulla_Click(object sender, EventArgs e)
{
txtUserAuthKey.Text = "";
}
}
}
+23 -23
View File
@@ -1,10 +1,10 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// <generato automaticamente>
// Codice generato da uno strumento.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se
// il codice viene rigenerato.
// </generato automaticamente>
//------------------------------------------------------------------------------
namespace GPW.WebUserControls {
@@ -13,56 +13,56 @@ namespace GPW.WebUserControls {
public partial class mod_enrollByAuthKey {
/// <summary>
/// ddlIdxDipendente control.
/// Controllo ddlIdxDipendente.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// 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.DropDownList ddlIdxDipendente;
/// <summary>
/// odsDipendenti control.
/// Controllo odsDipendenti.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// 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 odsDipendenti;
/// <summary>
/// txtUserAuthKey control.
/// Controllo txtUserAuthKey.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// 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.TextBox txtUserAuthKey;
/// <summary>
/// lblWarning control.
/// Controllo lblWarning.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// 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 lblWarning;
/// <summary>
/// btnConferma control.
/// Controllo btnConferma.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// 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.Button btnConferma;
/// <summary>
/// btnAnnulla control.
/// Controllo btnAnnulla.
/// </summary>
/// <remarks>
/// Auto-generated field.
/// To modify move field declaration from designer file to code-behind file.
/// 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.Button btnAnnulla;
}
Vendored
+1 -1
View File
@@ -2,7 +2,7 @@ pipeline {
agent none
environment {
enableIIS01 = 'Y'
enableIIS02 = 'N'
enableIIS02 = 'Y'
}
stages {
stage('Checkout') {