From fa46eb0404a0a8feecc51c2ae9dc879c2c699d91 Mon Sep 17 00:00:00 2001 From: "Samuele E. Locatelli" Date: Tue, 29 Apr 2014 15:43:08 +0200 Subject: [PATCH] iniziata apgina delle revisioni storiche --- C2P/C2P.csproj | 8 + C2P/OffersArchive.aspx.cs | 11 +- C2P/RepOffers.aspx | 2 +- C2P/RevisionHistory.aspx | 103 +++++++++ C2P/RevisionHistory.aspx.cs | 322 +++++++++++++++++++++++++++ C2P/RevisionHistory.aspx.designer.cs | 78 +++++++ C2P/bin/C2P.dll | Bin 344576 -> 347648 bytes C2P/bin/C2P_Data.dll | Bin 316928 -> 317440 bytes C2P/bin/SteamWare.dll | Bin 501248 -> 501248 bytes C2P_Data/DS_Quotes.Designer.cs | 110 +++++---- C2P_Data/DS_Quotes.xsd | 36 ++- VersGen/C2P.cs | 4 +- VersGen/C2P.tt | 4 +- 13 files changed, 611 insertions(+), 67 deletions(-) create mode 100644 C2P/RevisionHistory.aspx create mode 100644 C2P/RevisionHistory.aspx.cs create mode 100644 C2P/RevisionHistory.aspx.designer.cs diff --git a/C2P/C2P.csproj b/C2P/C2P.csproj index 7abdf48..9ff24da 100644 --- a/C2P/C2P.csproj +++ b/C2P/C2P.csproj @@ -279,6 +279,7 @@ + @@ -495,6 +496,13 @@ Report.aspx + + RevisionHistory.aspx + ASPXCodeBehind + + + RevisionHistory.aspx + True True diff --git a/C2P/OffersArchive.aspx.cs b/C2P/OffersArchive.aspx.cs index 74dd54a..3f88b64 100644 --- a/C2P/OffersArchive.aspx.cs +++ b/C2P/OffersArchive.aspx.cs @@ -8,20 +8,11 @@ using SteamWare; namespace C2P { - public partial class OffersArchive : System.Web.UI.Page + public partial class OffersArchive : SteamWare.UserPage { protected void Page_Load(object sender, EventArgs e) { } - /// - /// wrapper traduzione - /// - /// - /// - public string traduci(object lemma) - { - return user_std.UtSn.Traduci(lemma.ToString()); - } } } \ No newline at end of file diff --git a/C2P/RepOffers.aspx b/C2P/RepOffers.aspx index 1bc8b60..d138396 100644 --- a/C2P/RepOffers.aspx +++ b/C2P/RepOffers.aspx @@ -8,6 +8,6 @@
- +
diff --git a/C2P/RevisionHistory.aspx b/C2P/RevisionHistory.aspx new file mode 100644 index 0000000..a707b8e --- /dev/null +++ b/C2P/RevisionHistory.aspx @@ -0,0 +1,103 @@ +<%@ Page Title="" Language="C#" MasterPageFile="~/FullPage.master" AutoEventWireup="true" CodeBehind="RevisionHistory.aspx.cs" Inherits="C2P.RevisionHistory" %> + + + + + + +
+
+
+
+

<%: traduci("RevisionHistory") %>

+
+
+
+
+ <%:traduci("Open") %> +
+
+ <%:traduci("Duplicate") %> +
+
+ <%:traduci("Simulate") %> +
+
+ <%:traduci("Print") %> +
+
+
+
+ + + <%# traduci("NoRecords") %> + + + + + . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <%: numRecords %> + + + + + + + + + + <%-- + --%> +
+
+
+
+
+
+
diff --git a/C2P/RevisionHistory.aspx.cs b/C2P/RevisionHistory.aspx.cs new file mode 100644 index 0000000..d0337c4 --- /dev/null +++ b/C2P/RevisionHistory.aspx.cs @@ -0,0 +1,322 @@ +using C2P_Data; +using SteamWare; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +namespace C2P +{ + public partial class RevisionHistory : SteamWare.UserPage + { + /// + /// richiesta caricamento tabella (da filtro configurato) + /// + public event EventHandler eh_loadReq; + /// + /// sistema visibilità button... + /// + private void setBtnVisib() + { + string baseCss = "btn btn-"; + if (numSel == 0) + { + baseCss = "btn disabled btn-"; + lbOpen.CssClass = baseCss + "success"; + lbDuplicate.CssClass = baseCss + "warning"; + lbSimulate.CssClass = baseCss + "danger"; + lbPrint.CssClass = baseCss + "info"; + } + else if (numSel == 1) + { + lbOpen.CssClass = baseCss + "success"; + lbDuplicate.CssClass = baseCss + "warning"; + lbSimulate.CssClass = baseCss + "danger"; + lbPrint.CssClass = baseCss + "info"; + + // cerco riga selezionata... + CheckBox chkBox; + for (int i = 0; i < grView.Rows.Count; i++) + { + grView.SelectedIndex = i; + chkBox = ((CheckBox)grView.SelectedRow.FindControl("chkSelect")); + if (chkBox.Checked) + { + QuoteType = grView.SelectedDataKey["QuoteType"].ToString(); + CodQuote = grView.SelectedDataKey["CodQuote"].ToString(); + QuoteRev = grView.SelectedDataKey["QuoteRev"].ToString(); + } + } + } + else + { + lbPrint.CssClass = baseCss + "info"; + baseCss = "btn disabled btn-"; + lbOpen.CssClass = baseCss + "success"; + lbDuplicate.CssClass = baseCss + "warning"; + lbSimulate.CssClass = baseCss + "danger"; + } + } + /// + /// numero offerte selezionate + /// + protected int numSel + { + get + { + return memLayer.ML.IntSessionObj("numOffSel"); + } + set + { + memLayer.ML.setSessionVal("numOffSel", value); + } + } + /// + /// Tipo Quote + /// + protected string QuoteType + { + get + { + return memLayer.ML.StringSessionObj("LastQuoteType"); + } + set + { + memLayer.ML.setSessionVal("LastQuoteType", value); + } + } + /// + /// Codice Quote + /// + protected string CodQuote + { + get + { + return memLayer.ML.StringSessionObj("LastCodQuote"); + } + set + { + memLayer.ML.setSessionVal("LastCodQuote", value); + } + } + /// + /// Revisione + /// + protected string QuoteRev + { + get + { + return memLayer.ML.StringSessionObj("LastQuoteRev"); + } + set + { + memLayer.ML.setSessionVal("LastQuoteRev", value); + } + } + protected void Page_Load(object sender, EventArgs e) + { + + } + /// + /// Calcola css dato valore prezzo offerto vs importi full cost e min price + /// + /// + /// + /// + /// + public string priceVsCost(object _FullCost, object _MinPrice, object _PriceOff) + { + string answ = ""; + double FullCost = 0; + double MinPrice = 0; + double PriceOff = 0; + try + { + FullCost = Convert.ToDouble(_FullCost); + MinPrice = Convert.ToDouble(_MinPrice); + PriceOff = Convert.ToDouble(_PriceOff); + } + catch + { } + if (PriceOff > MinPrice) + { + answ = "allOk"; + } + else if (PriceOff > FullCost) + { + answ = "warnOrange"; + } + else + { + answ = "warnRed"; + } + return answ; + } + /// + /// stringa formattata del numero di record mostrati + /// + public string numRecords + { + get + { + return string.Format("{0} ({1})", grView.Rows.Count, grView.PageSize * (grView.PageCount - 1) + grView.Rows.Count); + } + } + /// + /// seleziona/deseleziona le righe indicate... + /// + /// + /// + protected void btnSelAll_Click(object sender, EventArgs e) + { + // seleziono tutti i valori visibili nel datagrid + CheckBox chkbox = ((CheckBox)sender); + bool isChecked = chkbox.Checked; + if (!isChecked) + { + chkbox.ToolTip = traduci("btnSelAll"); + numSel = 0; + } + else + { + chkbox.ToolTip = traduci("btnDeselAll"); + numSel = grView.Rows.Count; + } + foreach (GridViewRow riga in grView.Rows) + { + ((CheckBox)riga.FindControl("chkSelect")).Checked = isChecked; + } + setBtnVisib(); + } + /// + /// gestione singolo click + /// + /// + /// + protected void btnSel_Click(object sender, EventArgs e) + { + CheckBox chkbox = ((CheckBox)sender); + bool isChecked = chkbox.Checked; + if (isChecked) + { + numSel++; + } + else + { + numSel--; + } + //grView.SelectedIndex = -1; + // fix visibilità buttons + setBtnVisib(); + } /// + /// Apre offerta selezionata! + /// + /// + /// + protected void lbOpen_Click(object sender, EventArgs e) + { + // apro con link nuova offerta! + Response.Redirect(string.Format("Quote?QuoteType={0}&CodQuote={1}&QuoteRev={2}", QuoteType, CodQuote, QuoteRev)); + } + /// + /// duplica offerta selezionata + /// + /// + /// + protected void lbDuplicate_Click(object sender, EventArgs e) + { + // duplica offerta! + DS_Quotes.QuoteListDataTable tab = DtProxy.man.taQL.clone(QuoteType, Convert.ToInt32(CodQuote), Convert.ToInt32(QuoteRev)); + if (tab.Rows.Count > 0) + { + // seleziona l'offerta duplicata! + Response.Redirect(string.Format("Quote?QuoteType={0}&CodQuote={1}&QuoteRev={2}", tab[0].QuoteType, tab[0].CodQuote, tab[0].QuoteRev)); + } + } + /// + /// crea nuova simulazioen da offerta selezionata + /// + /// + /// + protected void lbSimulate_Click(object sender, EventArgs e) + { + + } + /// + /// stampa offerta(e) selezionata(e) + /// + /// + /// + protected void lbPrint_Click(object sender, EventArgs e) + { + // genero un nuovo ticket x la richiesta di stampa... + int ticket = 0; + try + { + ticket = DtProxy.man.taRPT.reserveTicket("SchedaCosto", user_std.UtSn.userNameAD)[0].Ticket; + } + catch + { + ticket = 0; + } + bool togliSegnaposto = true; + if (ticket > 0) + { + //DS_Quotes.QuoteFull_QRow rigaQuote; + // salvo i valori selezionati con il ticket corrente (eliminando reservation...) + foreach (GridViewRow riga in grView.Rows) + { + if (((CheckBox)riga.FindControl("chkSelect")).Checked) + { + grView.SelectedIndex = riga.DataItemIndex; + // ricavo dati della riga x inserire in elenco richieste stampa... + DtProxy.man.taRPT.insertNew(ticket, "SchedaCosto", string.Format("QuoteType={0}&CodQuote={1}&QuoteRev={2}", grView.SelectedDataKey["QuoteType"], grView.SelectedDataKey["CodQuote"], grView.SelectedDataKey["QuoteRev"]), user_std.UtSn.userNameAD, DateTime.Now, togliSegnaposto); + togliSegnaposto = false; + } + } + // rimando a pagina di stampa reports... + Response.Redirect(string.Format("RepOffers?ticket={0}", ticket)); + } + } + /// + /// salvo e vado a dettaglio! + /// + /// + /// + protected void grView_SelectedIndexChanged(object sender, EventArgs e) + { + // verifico parametri riga scelta + QuoteType = grView.SelectedDataKey["QuoteType"].ToString(); + CodQuote = grView.SelectedDataKey["CodQuote"].ToString(); + QuoteRev = grView.SelectedDataKey["QuoteRev"].ToString(); + // verifico tipo di caricamento... + string _comando = ""; + if (SteamWare.memLayer.ML.isInSessionObject("nextObjCommand")) + { + _comando = SteamWare.memLayer.ML.StringSessionObj("nextObjCommand"); + SteamWare.memLayer.ML.emptySessionVal("nextObjCommand"); + } + switch (_comando) + { + case "load": + memLayer.ML.setSessionVal("QuoteType", QuoteType); + memLayer.ML.setSessionVal("CodQuote", CodQuote); + memLayer.ML.setSessionVal("QuoteRev", QuoteRev); + // sollevo evento + if (eh_loadReq != null) + { + eh_loadReq(this, new EventArgs()); + } + break; + case "toDetail": + // rimando a dettaglio! + Response.Redirect(string.Format("QuoteDet?QuoteType={0}&CodQuote={1}&QuoteRev={2}", QuoteType, CodQuote, QuoteRev)); + break; + default: + break; + } + } + } +} \ No newline at end of file diff --git a/C2P/RevisionHistory.aspx.designer.cs b/C2P/RevisionHistory.aspx.designer.cs new file mode 100644 index 0000000..fb7ddbc --- /dev/null +++ b/C2P/RevisionHistory.aspx.designer.cs @@ -0,0 +1,78 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace C2P { + + + public partial class RevisionHistory { + + /// + /// lbOpen control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.LinkButton lbOpen; + + /// + /// lbDuplicate control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.LinkButton lbDuplicate; + + /// + /// lbSimulate control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.LinkButton lbSimulate; + + /// + /// lbPrint control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.LinkButton lbPrint; + + /// + /// grView control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.GridView grView; + + /// + /// lblResults control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.Label lblResults; + + /// + /// odsQuotes control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.ObjectDataSource odsQuotes; + } +} diff --git a/C2P/bin/C2P.dll b/C2P/bin/C2P.dll index c917bcf62b2b489d9d709d29dcab286aff5b55d3..e0468d3e17c150e515adfac75ae0647a1be3fe9e 100644 GIT binary patch delta 40540 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 delta 37651 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 b{u=n}z+dO~?QYje#~L(nd;RI^d-eYT3WGM_ diff --git a/C2P/bin/C2P_Data.dll b/C2P/bin/C2P_Data.dll index 788955f5fab4e890a107cb04680fb55ec548c299..e9432e91c6bf7f85d1f3bcbd70cd01690743eb33 100644 GIT binary patch delta 45756 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 Sf7w<-yc6-Y40@`kh5QFv0?ju7 diff --git a/C2P/bin/SteamWare.dll b/C2P/bin/SteamWare.dll index 8f9bdd184edc9d8e18f49b3da339d85da463cdf6..8f034bfd29c8a127cce07473a92713d9e76f7d45 100644 GIT binary patch delta 110 zcmZoTBiC?7ZbApsgVl{)tzC?*T}-WA%&lE4tzE3GU2I#s*rQSfelhV|%vkine`#e| z(#G^d{mZ|kvRmjrSREhC00c}xEW^maz_W*)foC2&Lr}0waJh5P|AtB@m+77EP9pEV N>4|PvoX38j9ROEAD0u(? delta 110 zcmZoTBiC?7ZbAps{rbkP)-J}@E~eHl=GHEj)-Kl8F1D>*>`|!#(faKD*>c7%ZTkPa znvTU!S^g!J-9q<%eS9zj5HJC;3?l;r&mMLLo_XvHLBTG;PKrKmLcM{mOE^9X?U=ar Mj^cL3dF=Pu0l!El0{{R3 diff --git a/C2P_Data/DS_Quotes.Designer.cs b/C2P_Data/DS_Quotes.Designer.cs index 1402fb6..29cd89d 100644 --- a/C2P_Data/DS_Quotes.Designer.cs +++ b/C2P_Data/DS_Quotes.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:4.0.30319.34011 +// Runtime Version:4.0.30319.34014 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -12271,7 +12271,7 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] private void InitCommandCollection() { - this._commandCollection = new global::System.Data.SqlClient.SqlCommand[11]; + this._commandCollection = new global::System.Data.SqlClient.SqlCommand[12]; this._commandCollection[0] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[0].Connection = this.Connection; this._commandCollection[0].CommandText = "dbo.stp_QL_fullDataAll"; @@ -12310,67 +12310,74 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas this._commandCollection[4].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@DateMax", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[5] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[5].Connection = this.Connection; - this._commandCollection[5].CommandText = "dbo.stp_QLF_Insert"; + this._commandCollection[5].CommandText = "dbo.stp_QLF_revHist"; this._commandCollection[5].CommandType = global::System.Data.CommandType.StoredProcedure; this._commandCollection[5].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[5].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@QuoteType", global::System.Data.SqlDbType.Char, 1, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[5].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodClient", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[5].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodItem", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[5].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RawMat", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[5].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RawMatCost", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[5].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RawMatExtraCost", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[5].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@BatchQty", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[5].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodInco", global::System.Data.SqlDbType.NVarChar, 5, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[5].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Note", global::System.Data.SqlDbType.NVarChar, 2500, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[5].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodQuote", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 19, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[6] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[6].Connection = this.Connection; - this._commandCollection[6].CommandText = "dbo.stp_QuoteFull_Q_update"; + this._commandCollection[6].CommandText = "dbo.stp_QLF_Insert"; this._commandCollection[6].CommandType = global::System.Data.CommandType.StoredProcedure; this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_QuoteType", global::System.Data.SqlDbType.Char, 1, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CodQuote", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 19, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_QuoteRev", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PriceOff", global::System.Data.SqlDbType.Decimal, 5, global::System.Data.ParameterDirection.Input, 9, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@QuoteType", global::System.Data.SqlDbType.Char, 1, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodClient", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodItem", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RawMat", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RawMatCost", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RawMatExtraCost", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@BatchQty", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodInco", global::System.Data.SqlDbType.NVarChar, 5, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[6].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Note", global::System.Data.SqlDbType.NVarChar, 2500, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[7] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[7].Connection = this.Connection; - this._commandCollection[7].CommandText = "dbo.stp_prt_dsQuoteFull_Q_Data"; + this._commandCollection[7].CommandText = "dbo.stp_QuoteFull_Q_update"; this._commandCollection[7].CommandType = global::System.Data.CommandType.StoredProcedure; this._commandCollection[7].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[7].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Ticket", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[7].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_QuoteType", global::System.Data.SqlDbType.Char, 1, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[7].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CodQuote", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 19, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[7].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_QuoteRev", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[7].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PriceOff", global::System.Data.SqlDbType.Decimal, 5, global::System.Data.ParameterDirection.Input, 9, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[8] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[8].Connection = this.Connection; - this._commandCollection[8].CommandText = "dbo.stp_QLF_UpdCosts"; + this._commandCollection[8].CommandText = "dbo.stp_prt_dsQuoteFull_Q_Data"; this._commandCollection[8].CommandType = global::System.Data.CommandType.StoredProcedure; this._commandCollection[8].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[8].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_QuoteType", global::System.Data.SqlDbType.Char, 1, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[8].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CodQuote", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 19, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[8].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_QuoteRev", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[8].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PriceOff", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[8].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Ticket", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[9] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[9].Connection = this.Connection; - this._commandCollection[9].CommandText = "dbo.stp_QLF_UpdHead"; + this._commandCollection[9].CommandText = "dbo.stp_QLF_UpdCosts"; this._commandCollection[9].CommandType = global::System.Data.CommandType.StoredProcedure; this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_QuoteType", global::System.Data.SqlDbType.Char, 1, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CodQuote", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 19, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_QuoteRev", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodClient", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodItem", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RawMat", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RawMatCost", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RawMatExtraCost", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@BatchQty", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodInco", global::System.Data.SqlDbType.NVarChar, 5, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Note", global::System.Data.SqlDbType.NVarChar, 2500, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[9].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@PriceOff", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[10] = new global::System.Data.SqlClient.SqlCommand(); this._commandCollection[10].Connection = this.Connection; - this._commandCollection[10].CommandText = "dbo.stp_QLF_UpdQState"; + this._commandCollection[10].CommandText = "dbo.stp_QLF_UpdHead"; this._commandCollection[10].CommandType = global::System.Data.CommandType.StoredProcedure; this._commandCollection[10].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[10].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_QuoteType", global::System.Data.SqlDbType.Char, 1, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[10].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CodQuote", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 19, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); this._commandCollection[10].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_QuoteRev", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); - this._commandCollection[10].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IdxQState", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[10].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodClient", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[10].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodItem", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[10].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RawMat", global::System.Data.SqlDbType.NVarChar, 50, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[10].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RawMatCost", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[10].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RawMatExtraCost", global::System.Data.SqlDbType.Decimal, 9, global::System.Data.ParameterDirection.Input, 18, 6, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[10].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@BatchQty", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[10].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@CodInco", global::System.Data.SqlDbType.NVarChar, 5, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[10].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Note", global::System.Data.SqlDbType.NVarChar, 2500, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[11] = new global::System.Data.SqlClient.SqlCommand(); + this._commandCollection[11].Connection = this.Connection; + this._commandCollection[11].CommandText = "dbo.stp_QLF_UpdQState"; + this._commandCollection[11].CommandType = global::System.Data.CommandType.StoredProcedure; + this._commandCollection[11].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@RETURN_VALUE", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.ReturnValue, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[11].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_QuoteType", global::System.Data.SqlDbType.Char, 1, global::System.Data.ParameterDirection.Input, 0, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[11].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_CodQuote", global::System.Data.SqlDbType.BigInt, 8, global::System.Data.ParameterDirection.Input, 19, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[11].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@Original_QuoteRev", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); + this._commandCollection[11].Parameters.Add(new global::System.Data.SqlClient.SqlParameter("@IdxQState", global::System.Data.SqlDbType.Int, 4, global::System.Data.ParameterDirection.Input, 10, 0, null, global::System.Data.DataRowVersion.Current, false, null, "", "", "")); } [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] @@ -12511,7 +12518,7 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] - public virtual DS_Quotes.QuoteFull_QDataTable insertNew(string QuoteType, string CodClient, string CodItem, string RawMat, global::System.Nullable RawMatCost, global::System.Nullable RawMatExtraCost, global::System.Nullable BatchQty, string CodInco, string Note) { + public virtual DS_Quotes.QuoteFull_QDataTable getRevHist(string QuoteType, global::System.Nullable CodQuote) { this.Adapter.SelectCommand = this.CommandCollection[5]; if ((QuoteType == null)) { this.Adapter.SelectCommand.Parameters[1].Value = global::System.DBNull.Value; @@ -12519,6 +12526,29 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas else { this.Adapter.SelectCommand.Parameters[1].Value = ((string)(QuoteType)); } + if ((CodQuote.HasValue == true)) { + this.Adapter.SelectCommand.Parameters[2].Value = ((long)(CodQuote.Value)); + } + else { + this.Adapter.SelectCommand.Parameters[2].Value = global::System.DBNull.Value; + } + DS_Quotes.QuoteFull_QDataTable dataTable = new DS_Quotes.QuoteFull_QDataTable(); + this.Adapter.Fill(dataTable); + return dataTable; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] + [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] + [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] + public virtual DS_Quotes.QuoteFull_QDataTable insertNew(string QuoteType, string CodClient, string CodItem, string RawMat, global::System.Nullable RawMatCost, global::System.Nullable RawMatExtraCost, global::System.Nullable BatchQty, string CodInco, string Note) { + this.Adapter.SelectCommand = this.CommandCollection[6]; + if ((QuoteType == null)) { + this.Adapter.SelectCommand.Parameters[1].Value = global::System.DBNull.Value; + } + else { + this.Adapter.SelectCommand.Parameters[1].Value = ((string)(QuoteType)); + } if ((CodClient == null)) { this.Adapter.SelectCommand.Parameters[2].Value = global::System.DBNull.Value; } @@ -12577,7 +12607,7 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] public virtual DS_Quotes.QuoteFull_QDataTable repOffersByTicket(global::System.Nullable Ticket) { - this.Adapter.SelectCommand = this.CommandCollection[7]; + this.Adapter.SelectCommand = this.CommandCollection[8]; if ((Ticket.HasValue == true)) { this.Adapter.SelectCommand.Parameters[1].Value = ((int)(Ticket.Value)); } @@ -12594,7 +12624,7 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] public virtual DS_Quotes.QuoteFull_QDataTable updateCosts(string Original_QuoteType, global::System.Nullable Original_CodQuote, global::System.Nullable Original_QuoteRev, global::System.Nullable PriceOff) { - this.Adapter.SelectCommand = this.CommandCollection[8]; + this.Adapter.SelectCommand = this.CommandCollection[9]; if ((Original_QuoteType == null)) { this.Adapter.SelectCommand.Parameters[1].Value = global::System.DBNull.Value; } @@ -12629,7 +12659,7 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] public virtual DS_Quotes.QuoteFull_QDataTable updateHeaders(string Original_QuoteType, global::System.Nullable Original_CodQuote, global::System.Nullable Original_QuoteRev, string CodClient, string CodItem, string RawMat, global::System.Nullable RawMatCost, global::System.Nullable RawMatExtraCost, global::System.Nullable BatchQty, string CodInco, string Note) { - this.Adapter.SelectCommand = this.CommandCollection[9]; + this.Adapter.SelectCommand = this.CommandCollection[10]; if ((Original_QuoteType == null)) { this.Adapter.SelectCommand.Parameters[1].Value = global::System.DBNull.Value; } @@ -12706,7 +12736,7 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] [global::System.ComponentModel.DataObjectMethodAttribute(global::System.ComponentModel.DataObjectMethodType.Select, false)] public virtual DS_Quotes.QuoteFull_QDataTable updateQState(string Original_QuoteType, global::System.Nullable Original_CodQuote, global::System.Nullable Original_QuoteRev, global::System.Nullable IdxQState) { - this.Adapter.SelectCommand = this.CommandCollection[10]; + this.Adapter.SelectCommand = this.CommandCollection[11]; if ((Original_QuoteType == null)) { this.Adapter.SelectCommand.Parameters[1].Value = global::System.DBNull.Value; } @@ -12740,7 +12770,7 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "4.0.0.0")] [global::System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")] public virtual int QuoteFull_Q_update(string Original_QuoteType, global::System.Nullable Original_CodQuote, global::System.Nullable Original_QuoteRev, global::System.Nullable PriceOff) { - global::System.Data.SqlClient.SqlCommand command = this.CommandCollection[6]; + global::System.Data.SqlClient.SqlCommand command = this.CommandCollection[7]; if ((Original_QuoteType == null)) { command.Parameters[1].Value = global::System.DBNull.Value; } diff --git a/C2P_Data/DS_Quotes.xsd b/C2P_Data/DS_Quotes.xsd index 363e1ee..5ad769d 100644 --- a/C2P_Data/DS_Quotes.xsd +++ b/C2P_Data/DS_Quotes.xsd @@ -900,6 +900,18 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas + + + + dbo.stp_QLF_revHist + + + + + + + + @@ -1003,7 +1015,7 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas - + @@ -1087,7 +1099,7 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas - + @@ -1123,7 +1135,7 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas - + @@ -1148,7 +1160,7 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas - + @@ -1228,7 +1240,7 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas - + @@ -1265,7 +1277,7 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas - + @@ -1335,7 +1347,7 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas - + @@ -1612,11 +1624,11 @@ SELECT QuoteType, CodQuote, QuoteRev, NumEx, ProcessNum, CodPlant, Class01, Clas - - - - - + + + + + \ No newline at end of file diff --git a/VersGen/C2P.cs b/VersGen/C2P.cs index 680ede3..87ac705 100644 --- a/VersGen/C2P.cs +++ b/VersGen/C2P.cs @@ -5,7 +5,7 @@ using System.Reflection; -[assembly: AssemblyVersion("0.6.56.149")] -[assembly: AssemblyFileVersion("0.6.56.149")] +[assembly: AssemblyVersion("0.6.57.149")] +[assembly: AssemblyFileVersion("0.6.57.149")] [assembly: AssemblyCopyright("Proxima & Steamware © 2013-2014")] [assembly: AssemblyCompany("Steamware")] diff --git a/VersGen/C2P.tt b/VersGen/C2P.tt index 1abe4e4..fb68ebc 100644 --- a/VersGen/C2P.tt +++ b/VersGen/C2P.tt @@ -6,8 +6,8 @@ using System.Reflection; -[assembly: AssemblyVersion("0.6.56.<#= this.RevisionNumber #>")] -[assembly: AssemblyFileVersion("0.6.56.<#= this.RevisionNumber #>")] +[assembly: AssemblyVersion("0.6.57.<#= this.RevisionNumber #>")] +[assembly: AssemblyFileVersion("0.6.57.<#= this.RevisionNumber #>")] [assembly: AssemblyCopyright("Proxima & Steamware © 2013-<#= DateTime.Now.Year #>")] [assembly: AssemblyCompany("Steamware")] <#+