imbastito anche i controlli...

This commit is contained in:
Samuele Locatelli
2017-07-18 15:51:42 +02:00
parent 7ed4a9b38b
commit aa2d225054
12 changed files with 2390 additions and 436 deletions
+293 -290
View File
@@ -5,133 +5,136 @@ using System.Text;
namespace ETS_Data
{
/// <summary>
/// classe proxy dati x PROJ-ETS
/// </summary>
public class DataProxy_ProjEts
{
#region area table adapters
/* Ds_ProjEts */
public Ds_ProjEtsTableAdapters.AnagLabelsTableAdapter taAL;
public Ds_ProjEtsTableAdapters.AnagProgettiTableAdapter taAP;
public Ds_ProjEtsTableAdapters.AnagFasiTableAdapter taAF;
public Ds_ProjEtsTableAdapters.DatiCommessaTableAdapter taDC;
public Ds_ProjEtsTableAdapters.DatiCommFornTableAdapter taDCF;
public Ds_ProjEtsTableAdapters.DatiCommIntegTableAdapter taDCI;
public Ds_ProjEtsTableAdapters.BdgtRisorseFasiTableAdapter taBRF;
public Ds_ProjEtsTableAdapters.AnagTipoRisorseTableAdapter taATR;
public Ds_ProjEtsTableAdapters.BazaarRisorseTableAdapter taBaz;
public Ds_ProjEtsTableAdapters.Dip2ATRTableAdapter taD2ATR;
public Ds_ProjEtsTableAdapters.DipendentiTableAdapter taDip;
public Ds_ProjEtsTableAdapters.ImpiegoRisorseTableAdapter taIR;
public Ds_ProjEtsTableAdapters.LabelsCommTableAdapter taL2C;
public Ds_ProjEtsTableAdapters.LogEmailBazTableAdapter taLEB;
public Ds_ProjEtsTableAdapters.ReleasedWeekTableAdapter taReW;
public Ds_ProjEtsTableAdapters.TLockBazRATableAdapter taTLB;
public Ds_ProjEtsTableAdapters.v_CommessaTableAdapter taVComm;
/* DS_utilsProjEts */
public DS_utilsProjEtsTableAdapters.v_selClientiTableAdapter taSelCli;
public DS_utilsProjEtsTableAdapters.v_selProgettiTableAdapter taSelPro;
public DS_utilsProjEtsTableAdapters.v_selCommesseTableAdapter taSelCom;
public DS_utilsProjEtsTableAdapters.v_selFornitoriClaTableAdapter taSelForn;
public DS_utilsProjEtsTableAdapters.v_FattureETSTableAdapter taFattETS;
/// <summary>
/// classe proxy dati x PROJ-ETS
/// init dei table adapters
/// </summary>
public class DataProxy_ProjEts
protected void initTA()
{
#region area table adapters
taAL = new Ds_ProjEtsTableAdapters.AnagLabelsTableAdapter();
taAP = new Ds_ProjEtsTableAdapters.AnagProgettiTableAdapter();
taAF = new Ds_ProjEtsTableAdapters.AnagFasiTableAdapter();
taDC = new Ds_ProjEtsTableAdapters.DatiCommessaTableAdapter();
taDCF = new Ds_ProjEtsTableAdapters.DatiCommFornTableAdapter();
taDCI = new Ds_ProjEtsTableAdapters.DatiCommIntegTableAdapter();
taBRF = new Ds_ProjEtsTableAdapters.BdgtRisorseFasiTableAdapter();
taATR = new Ds_ProjEtsTableAdapters.AnagTipoRisorseTableAdapter();
taBaz = new Ds_ProjEtsTableAdapters.BazaarRisorseTableAdapter();
taD2ATR = new Ds_ProjEtsTableAdapters.Dip2ATRTableAdapter();
taDip = new Ds_ProjEtsTableAdapters.DipendentiTableAdapter();
taIR = new Ds_ProjEtsTableAdapters.ImpiegoRisorseTableAdapter();
taL2C = new Ds_ProjEtsTableAdapters.LabelsCommTableAdapter();
taLEB = new Ds_ProjEtsTableAdapters.LogEmailBazTableAdapter();
taReW = new Ds_ProjEtsTableAdapters.ReleasedWeekTableAdapter();
taTLB = new Ds_ProjEtsTableAdapters.TLockBazRATableAdapter();
taVComm = new Ds_ProjEtsTableAdapters.v_CommessaTableAdapter();
taSelCli = new DS_utilsProjEtsTableAdapters.v_selClientiTableAdapter();
taSelPro = new DS_utilsProjEtsTableAdapters.v_selProgettiTableAdapter();
taSelCom = new DS_utilsProjEtsTableAdapters.v_selCommesseTableAdapter();
taSelForn = new DS_utilsProjEtsTableAdapters.v_selFornitoriClaTableAdapter();
taFattETS = new DS_utilsProjEtsTableAdapters.v_FattureETSTableAdapter();
}
/// <summary>
/// effettua setup dei connection strings da web.config delal singola applicazione
/// </summary>
protected virtual void setupConnectionStringBase()
{
// connections del db
taAL.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taAP.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taAF.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taDC.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taDCF.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taDCI.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taBRF.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taATR.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taBaz.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taD2ATR.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taDip.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taIR.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taL2C.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taLEB.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taReW.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taTLB.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taVComm.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taSelCli.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taSelPro.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taSelCom.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taSelForn.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taFattETS.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
}
/* Ds_ProjEts */
public Ds_ProjEtsTableAdapters.AnagLabelsTableAdapter taAL;
public Ds_ProjEtsTableAdapters.AnagProgettiTableAdapter taAP;
public Ds_ProjEtsTableAdapters.AnagFasiTableAdapter taAF;
public Ds_ProjEtsTableAdapters.DatiCommessaTableAdapter taDC;
public Ds_ProjEtsTableAdapters.DatiCommFornTableAdapter taDCF;
public Ds_ProjEtsTableAdapters.DatiCommIntegTableAdapter taDCI;
public Ds_ProjEtsTableAdapters.BdgtRisorseFasiTableAdapter taBRF;
public Ds_ProjEtsTableAdapters.AnagTipoRisorseTableAdapter taATR;
public Ds_ProjEtsTableAdapters.BazaarRisorseTableAdapter taBaz;
public Ds_ProjEtsTableAdapters.Dip2ATRTableAdapter taD2ATR;
public Ds_ProjEtsTableAdapters.DipendentiTableAdapter taDip;
public Ds_ProjEtsTableAdapters.ImpiegoRisorseTableAdapter taIR;
public Ds_ProjEtsTableAdapters.LabelsCommTableAdapter taL2C;
public Ds_ProjEtsTableAdapters.LogEmailBazTableAdapter taLEB;
public Ds_ProjEtsTableAdapters.ReleasedWeekTableAdapter taReW;
public Ds_ProjEtsTableAdapters.TLockBazRATableAdapter taTLB;
/* DS_utilsProjEts */
public DS_utilsProjEtsTableAdapters.v_selClientiTableAdapter taSelCli;
public DS_utilsProjEtsTableAdapters.v_selProgettiTableAdapter taSelPro;
public DS_utilsProjEtsTableAdapters.v_selCommesseTableAdapter taSelCom;
public DS_utilsProjEtsTableAdapters.v_selFornitoriClaTableAdapter taSelForn;
public DS_utilsProjEtsTableAdapters.v_FattureETSTableAdapter taFattETS;
#endregion
/// <summary>
/// init dei table adapters
/// </summary>
protected void initTA()
protected DataProxy_ProjEts()
{
initTA();
setupConnectionStringBase();
}
/// <summary>
/// Singleton accesso a DataProxy
/// </summary>
public static DataProxy_ProjEts DP = new DataProxy_ProjEts();
#region utility public esposte
/// <summary>
/// idxDipendente in sessione
/// </summary>
public static int idxDipendente
{
get
{
int idx = 0;
try
{
taAL = new Ds_ProjEtsTableAdapters.AnagLabelsTableAdapter();
taAP = new Ds_ProjEtsTableAdapters.AnagProgettiTableAdapter();
taAF = new Ds_ProjEtsTableAdapters.AnagFasiTableAdapter();
taDC = new Ds_ProjEtsTableAdapters.DatiCommessaTableAdapter();
taDCF = new Ds_ProjEtsTableAdapters.DatiCommFornTableAdapter();
taDCI = new Ds_ProjEtsTableAdapters.DatiCommIntegTableAdapter();
taBRF = new Ds_ProjEtsTableAdapters.BdgtRisorseFasiTableAdapter();
taATR = new Ds_ProjEtsTableAdapters.AnagTipoRisorseTableAdapter();
taBaz = new Ds_ProjEtsTableAdapters.BazaarRisorseTableAdapter();
taD2ATR = new Ds_ProjEtsTableAdapters.Dip2ATRTableAdapter();
taDip = new Ds_ProjEtsTableAdapters.DipendentiTableAdapter();
taIR = new Ds_ProjEtsTableAdapters.ImpiegoRisorseTableAdapter();
taL2C = new Ds_ProjEtsTableAdapters.LabelsCommTableAdapter();
taLEB = new Ds_ProjEtsTableAdapters.LogEmailBazTableAdapter();
taReW = new Ds_ProjEtsTableAdapters.ReleasedWeekTableAdapter();
taTLB = new Ds_ProjEtsTableAdapters.TLockBazRATableAdapter();
taSelCli = new DS_utilsProjEtsTableAdapters.v_selClientiTableAdapter();
taSelPro = new DS_utilsProjEtsTableAdapters.v_selProgettiTableAdapter();
taSelCom = new DS_utilsProjEtsTableAdapters.v_selCommesseTableAdapter();
taSelForn = new DS_utilsProjEtsTableAdapters.v_selFornitoriClaTableAdapter();
taFattETS = new DS_utilsProjEtsTableAdapters.v_FattureETSTableAdapter();
}
/// <summary>
/// effettua setup dei connection strings da web.config delal singola applicazione
/// </summary>
protected virtual void setupConnectionStringBase()
{
// connections del db
taAL.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taAP.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taAF.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taDC.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taDCF.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taDCI.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taBRF.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taATR.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taBaz.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taD2ATR.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taDip.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taIR.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taL2C.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taLEB.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taReW.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taTLB.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taSelCli.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taSelPro.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taSelCom.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taSelForn.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
taFattETS.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
idx = utils.obj.IntSessionObj("IdxDipendente");
}
catch
{ }
return idx;
}
set
{
utils.obj.setSessionVal("idxDipendente", value);
}
}
#endregion
protected DataProxy_ProjEts()
{
initTA();
setupConnectionStringBase();
}
/// <summary>
/// Singleton accesso a DataProxy
/// </summary>
public static DataProxy_ProjEts DP = new DataProxy_ProjEts();
#region utility public esposte
/// <summary>
/// idxDipendente in sessione
/// </summary>
public static int idxDipendente
{
get
{
int idx = 0;
try
{
idx = utils.obj.IntSessionObj("IdxDipendente");
}
catch
{ }
return idx;
}
set
{
utils.obj.setSessionVal("idxDipendente", value);
}
}
public string CognomeNomeByIdx(int idxDip)
{
string answ = "";
public string CognomeNomeByIdx(int idxDip)
{
string answ = "";
#if false
try
{
@@ -141,176 +144,176 @@ namespace ETS_Data
catch
{ }
#endif
return answ;
}
/// <summary>
/// calcola se una commessa sia attiva (da idxFase)
/// </summary>
/// <param name="idxFase"></param>
/// <returns></returns>
public bool commessaAttiva(int idxFase)
{
bool answ = false;
try
{
answ = taAF.getByIdx(idxFase)[0].Attivo;
}
catch
{ }
return answ;
}
/// <summary>
/// effettua export su GPW dei singoli dipendenti delle ore programmate x la settimana indicata
/// </summary>
/// <param name="anno">anno</param>
/// <param name="settimana">num settimana 1-53</param>
/// <param name="UsernameAD">Utente che congela la settimana</param>
/// <returns></returns>
public bool esportaBazaarSuGPW(int anno, int settimana, string UsernameAD)
{
bool answ = false;
try
{
taBaz.copy2GPW(anno, settimana, UsernameAD);
answ = true;
}
catch
{ }
return answ;
}
/// <summary>
/// invia email ai singoli dipendenti delle ore programmate x la settimana indicata con link a bazaar
/// </summary>
/// <param name="anno">anno</param>
/// <param name="settimana">num settimana 1-53</param>
/// <returns></returns>
public bool inviaEmailBazaar(int anno, int settimana)
{
bool answ = false;
int inviate = 0;
string oggettoEmail = utils.obj.confReadString("emailBaz_subject");
string fromEmail = utils.obj.confReadString("_fromEmail");
string toEmail = "";
string aCapo = "<br />";
string corpoEmail = "";
string progSett = "";
int idxDipendente = 0;
// leggo tutte commesse ed i dipendenti...
tabComm = DataProxy_ProjEts.DP.taSelCom.GetData();
tabDip = DataProxy_ProjEts.DP.taDip.GetData();
tabD2ATR = DataProxy_ProjEts.DP.taD2ATR.getBazOrd();
Ds_ProjEts.DipendentiRow rigaDip;
// ciclo su TUTTI i dipendenti inseriti come risorse in bazaar
foreach (Ds_ProjEts.Dip2ATRRow riga in tabD2ATR)
{
idxDipendente = riga.idxDipendente;
rigaDip = (Ds_ProjEts.DipendentiRow)tabDip.Select(string.Format("idxDipendente={0}", idxDipendente))[0];
// se sono in testing resetto email a mia...
if (utils.obj.confReadBool("testMode"))
{
toEmail = utils.obj.confReadString("stdEmail");
}
else
{
toEmail = rigaDip.email;
}
corpoEmail = "<div style=\"background-color: #0A64A4; margin-bottom: 0.2em; color: #FDFDFD; text-align: center; font-size: 2em; font-weight: bold; width: 100%;\">PROJ-ETS</div>";
corpoEmail += string.Format(utils.obj.confReadString("emailBaz_body_Head") + " <b>{1:00}/{0}</b> - {2} {3}", anno, settimana, rigaDip.Cognome, rigaDip.Nome) + aCapo + aCapo;
corpoEmail += string.Format(@"<a href='{0}/Bazaar'>{1}</a>", utils.obj.confReadString("baseUrl"), utils.obj.confReadString("emailBaz_body_Link"));
corpoEmail += aCapo + aCapo;
// compongo la programmazione settimanale utente... EVENTUALMENTE CON GIORNI VUOTI!!!
progSett = getAgendDip(idxDipendente, anno, settimana);
corpoEmail += progSett;
corpoEmail += "<i style=\"color: #696969;\">" + utils.obj.confReadString("emailBaz_body_Firma") + "</i>";
try
{
// invio email con link + resoconto breve impegno settimanale
utils.gestEmail.geAuth.mandaEmail(fromEmail, toEmail, oggettoEmail, corpoEmail);
inviate++;
}
catch
{ }
if (utils.obj.confReadBool("testMode") && inviate > 5)
{
answ = true;
return answ;
}
}
answ = inviate > 0; // controlla che ALMENO 1 email sia stata inviata...
return answ;
}
protected Ds_ProjEts.DipendentiDataTable tabDip = new Ds_ProjEts.DipendentiDataTable();
protected Ds_ProjEts.Dip2ATRDataTable tabD2ATR = new Ds_ProjEts.Dip2ATRDataTable();
protected Ds_ProjEts.BazaarRisorseDataTable tabBazSingle = new Ds_ProjEts.BazaarRisorseDataTable();
protected DS_utilsProjEts.v_selCommesseDataTable tabComm = new DS_utilsProjEts.v_selCommesseDataTable();
/// <summary>
/// Formatta blocco impegni del dipendente x la settimana indicata
/// </summary>
/// <param name="idxDipendente">identificativo dipendente</param>
/// <param name="anno">anno di riferimento</param>
/// <param name="sett">settimana desiderata</param>
/// <returns></returns>
protected string getAgendDip(int idxDipendente, int anno, int sett)
{
//default
string answ = "";
// inizio a comporre tabella utente
answ += "<table style=\"width: 100%;\">";
// recupero i dati x il dipendente corrente...
tabBazSingle = DataProxy_ProjEts.DP.taBaz.getByAnnoSettDip(anno, sett, idxDipendente);
// compongo la settimana a partire dalla data richiesta...
for (int i = 0; i < 5; i++)
{
answ += getAgendByDate(idxDipendente, anno, sett, i);
}
answ += "</table>";
// restituisco risultato
return answ;
}
/// <summary>
/// Formatta blocco impegno x dipendente x una specifica data
/// </summary>
/// <param name="idxDipendente">identificativo dipendente</param>
/// <param name="anno">anno di riferimento</param>
/// <param name="sett">settimana desiderata</param>
/// <param name="shiftDay">shift (add) da applicare con base lunedì (0..4)</param>
/// <returns></returns>
protected string getAgendByDate(int idxDipendente, int anno, int sett, int shiftDay)
{
// variabili
string answ = "";
DS_utilsProjEts.v_selCommesseRow rigaComm;
// parto dal lunedì della sett indicata!
DateTime dataRif = datario.FirstDateOfWeekISO8601(anno, sett);
dataRif = dataRif.AddDays(shiftDay);
// inserisco intestazione con data
answ += string.Format("<tr><td colspan=\"2\" style=\"border-bottom: 1px solid black; font-size: 1.2em;\">{0:dd.MM.yyyy} <b>{0:dddd}</b></td><td></td></tr>", dataRif).ToUpper();
// recupero tutte le assegnazioni x la giornata indicata (cerco alla posizione shiftDay se è != 0)
Ds_ProjEts.BazaarRisorseRow[] commGG = (Ds_ProjEts.BazaarRisorseRow[])tabBazSingle.Select(string.Format("SUBSTRING(SchemaWeek, {0}, 1) <> 0", shiftDay + 1));
foreach (Ds_ProjEts.BazaarRisorseRow riga in commGG)
{
// recupero dati commessa...
rigaComm = (DS_utilsProjEts.v_selCommesseRow)tabComm.Select(string.Format("value = {0}", riga.idxFase))[0];
answ += string.Format("<tr><td>{0}</td><td>&nbsp;<b>{1}</b></td></tr>", utils.trimChar(rigaComm.label, utils.obj.confReadInt("maxCharNomeComm")), riga.SchemaWeek);
}
// aggiungo spaziatura
answ += "<br/><br/>";
return answ;
}
#endregion
return answ;
}
/// <summary>
/// calcola se una commessa sia attiva (da idxFase)
/// </summary>
/// <param name="idxFase"></param>
/// <returns></returns>
public bool commessaAttiva(int idxFase)
{
bool answ = false;
try
{
answ = taAF.getByIdx(idxFase)[0].Attivo;
}
catch
{ }
return answ;
}
/// <summary>
/// effettua export su GPW dei singoli dipendenti delle ore programmate x la settimana indicata
/// </summary>
/// <param name="anno">anno</param>
/// <param name="settimana">num settimana 1-53</param>
/// <param name="UsernameAD">Utente che congela la settimana</param>
/// <returns></returns>
public bool esportaBazaarSuGPW(int anno, int settimana, string UsernameAD)
{
bool answ = false;
try
{
taBaz.copy2GPW(anno, settimana, UsernameAD);
answ = true;
}
catch
{ }
return answ;
}
/// <summary>
/// invia email ai singoli dipendenti delle ore programmate x la settimana indicata con link a bazaar
/// </summary>
/// <param name="anno">anno</param>
/// <param name="settimana">num settimana 1-53</param>
/// <returns></returns>
public bool inviaEmailBazaar(int anno, int settimana)
{
bool answ = false;
int inviate = 0;
string oggettoEmail = utils.obj.confReadString("emailBaz_subject");
string fromEmail = utils.obj.confReadString("_fromEmail");
string toEmail = "";
string aCapo = "<br />";
string corpoEmail = "";
string progSett = "";
int idxDipendente = 0;
// leggo tutte commesse ed i dipendenti...
tabComm = DataProxy_ProjEts.DP.taSelCom.GetData();
tabDip = DataProxy_ProjEts.DP.taDip.GetData();
tabD2ATR = DataProxy_ProjEts.DP.taD2ATR.getBazOrd();
Ds_ProjEts.DipendentiRow rigaDip;
// ciclo su TUTTI i dipendenti inseriti come risorse in bazaar
foreach (Ds_ProjEts.Dip2ATRRow riga in tabD2ATR)
{
idxDipendente = riga.idxDipendente;
rigaDip = (Ds_ProjEts.DipendentiRow)tabDip.Select(string.Format("idxDipendente={0}", idxDipendente))[0];
// se sono in testing resetto email a mia...
if (utils.obj.confReadBool("testMode"))
{
toEmail = utils.obj.confReadString("stdEmail");
}
else
{
toEmail = rigaDip.email;
}
corpoEmail = "<div style=\"background-color: #0A64A4; margin-bottom: 0.2em; color: #FDFDFD; text-align: center; font-size: 2em; font-weight: bold; width: 100%;\">PROJ-ETS</div>";
corpoEmail += string.Format(utils.obj.confReadString("emailBaz_body_Head") + " <b>{1:00}/{0}</b> - {2} {3}", anno, settimana, rigaDip.Cognome, rigaDip.Nome) + aCapo + aCapo;
corpoEmail += string.Format(@"<a href='{0}/Bazaar'>{1}</a>", utils.obj.confReadString("baseUrl"), utils.obj.confReadString("emailBaz_body_Link"));
corpoEmail += aCapo + aCapo;
// compongo la programmazione settimanale utente... EVENTUALMENTE CON GIORNI VUOTI!!!
progSett = getAgendDip(idxDipendente, anno, settimana);
corpoEmail += progSett;
corpoEmail += "<i style=\"color: #696969;\">" + utils.obj.confReadString("emailBaz_body_Firma") + "</i>";
try
{
// invio email con link + resoconto breve impegno settimanale
utils.gestEmail.geAuth.mandaEmail(fromEmail, toEmail, oggettoEmail, corpoEmail);
inviate++;
}
catch
{ }
if (utils.obj.confReadBool("testMode") && inviate > 5)
{
answ = true;
return answ;
}
}
answ = inviate > 0; // controlla che ALMENO 1 email sia stata inviata...
return answ;
}
protected Ds_ProjEts.DipendentiDataTable tabDip = new Ds_ProjEts.DipendentiDataTable();
protected Ds_ProjEts.Dip2ATRDataTable tabD2ATR = new Ds_ProjEts.Dip2ATRDataTable();
protected Ds_ProjEts.BazaarRisorseDataTable tabBazSingle = new Ds_ProjEts.BazaarRisorseDataTable();
protected DS_utilsProjEts.v_selCommesseDataTable tabComm = new DS_utilsProjEts.v_selCommesseDataTable();
/// <summary>
/// Formatta blocco impegni del dipendente x la settimana indicata
/// </summary>
/// <param name="idxDipendente">identificativo dipendente</param>
/// <param name="anno">anno di riferimento</param>
/// <param name="sett">settimana desiderata</param>
/// <returns></returns>
protected string getAgendDip(int idxDipendente, int anno, int sett)
{
//default
string answ = "";
// inizio a comporre tabella utente
answ += "<table style=\"width: 100%;\">";
// recupero i dati x il dipendente corrente...
tabBazSingle = DataProxy_ProjEts.DP.taBaz.getByAnnoSettDip(anno, sett, idxDipendente);
// compongo la settimana a partire dalla data richiesta...
for (int i = 0; i < 5; i++)
{
answ += getAgendByDate(idxDipendente, anno, sett, i);
}
answ += "</table>";
// restituisco risultato
return answ;
}
/// <summary>
/// Formatta blocco impegno x dipendente x una specifica data
/// </summary>
/// <param name="idxDipendente">identificativo dipendente</param>
/// <param name="anno">anno di riferimento</param>
/// <param name="sett">settimana desiderata</param>
/// <param name="shiftDay">shift (add) da applicare con base lunedì (0..4)</param>
/// <returns></returns>
protected string getAgendByDate(int idxDipendente, int anno, int sett, int shiftDay)
{
// variabili
string answ = "";
DS_utilsProjEts.v_selCommesseRow rigaComm;
// parto dal lunedì della sett indicata!
DateTime dataRif = datario.FirstDateOfWeekISO8601(anno, sett);
dataRif = dataRif.AddDays(shiftDay);
// inserisco intestazione con data
answ += string.Format("<tr><td colspan=\"2\" style=\"border-bottom: 1px solid black; font-size: 1.2em;\">{0:dd.MM.yyyy} <b>{0:dddd}</b></td><td></td></tr>", dataRif).ToUpper();
// recupero tutte le assegnazioni x la giornata indicata (cerco alla posizione shiftDay se è != 0)
Ds_ProjEts.BazaarRisorseRow[] commGG = (Ds_ProjEts.BazaarRisorseRow[])tabBazSingle.Select(string.Format("SUBSTRING(SchemaWeek, {0}, 1) <> 0", shiftDay + 1));
foreach (Ds_ProjEts.BazaarRisorseRow riga in commGG)
{
// recupero dati commessa...
rigaComm = (DS_utilsProjEts.v_selCommesseRow)tabComm.Select(string.Format("value = {0}", riga.idxFase))[0];
answ += string.Format("<tr><td>{0}</td><td>&nbsp;<b>{1}</b></td></tr>", utils.trimChar(rigaComm.label, utils.obj.confReadInt("maxCharNomeComm")), riga.SchemaWeek);
}
// aggiungo spaziatura
answ += "<br/><br/>";
return answ;
}
#endregion
}
}
+1672 -34
View File
File diff suppressed because it is too large Load Diff
+185 -28
View File
@@ -1661,7 +1661,7 @@ SELECT idxFase, CodLabel FROM LabelsComm WHERE (CodLabel = @CodLabel) AND (idxFa
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="ETS_PROJConnectionString (Settings)" DbObjectName="ETS_PROJ.dbo.stp_L2C_massRecalc" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="massRecalc" Modifier="Public" Name="massRecalc" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy2" UserSourceName="massRecalc">
<DbSource ConnectionRef="ETS_PROJConnectionString (Settings)" DbObjectName="ETS_PROJ.dbo.stp_L2C_massRecalc" DbObjectType="StoredProcedure" GenerateShortCommands="true" GeneratorSourceName="massRecalc" Modifier="Public" Name="massRecalc" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy1" UserSourceName="massRecalc">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_L2C_massRecalc</CommandText>
@@ -1671,7 +1671,7 @@ SELECT idxFase, CodLabel FROM LabelsComm WHERE (CodLabel = @CodLabel) AND (idxFa
</DbCommand>
</SelectCommand>
</DbSource>
<DbSource ConnectionRef="ETS_PROJConnectionString (Settings)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="true" GeneratorSourceName="UpsertQuery" Modifier="Public" Name="UpsertQuery" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy1" UserSourceName="UpsertQuery">
<DbSource ConnectionRef="ETS_PROJConnectionString (Settings)" DbObjectName="" DbObjectType="Unknown" GenerateShortCommands="true" GeneratorSourceName="UpsertQuery" Modifier="Public" Name="UpsertQuery" QueryType="NoData" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetDataBy2" UserSourceName="UpsertQuery">
<InsertCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_L2C_UpsertQuery</CommandText>
@@ -1855,6 +1855,60 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</DbSource>
</Sources>
</TableAdapter>
<TableAdapter BaseClass="System.ComponentModel.Component" DataAccessorModifier="AutoLayout, AnsiClass, Class, Public" DataAccessorName="v_CommessaTableAdapter" GeneratorDataComponentClassName="v_CommessaTableAdapter" Name="v_Commessa" UserDataComponentName="v_CommessaTableAdapter">
<MainSource>
<DbSource ConnectionRef="ETS_PROJConnectionString (Settings)" DbObjectName="ETS_PROJ.dbo.v_Commessa" DbObjectType="View" FillMethodModifier="Public" FillMethodName="Fill" GenerateMethods="Both" GenerateShortCommands="false" GeneratorGetMethodName="GetData" GeneratorSourceName="Fill" GetMethodModifier="Public" GetMethodName="GetData" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="GetData" UserSourceName="Fill">
<SelectCommand>
<DbCommand CommandType="Text" ModifiedByUser="false">
<CommandText>SELECT idxFase, idxProgetto, nomeFase, descrizioneFase, enableTime, enableMoney, Attivo, codExt, AnnoCommessa, NumeroCommessa, CheckOk, CapoCommessa, SQC, Pubblico, EnteProcuratore, Importo, ImportoFornExt, ImportoIntegrazioni, BCWS_ore, BCWS_money, DataApertura, rifOfferta, urlOfferta, rifOrdine, urlOrdine, Indirizzo, Note FROM dbo.v_Commessa</CommandText>
<Parameters />
</DbCommand>
</SelectCommand>
</DbSource>
</MainSource>
<Mappings>
<Mapping SourceColumn="idxFase" DataSetColumn="idxFase" />
<Mapping SourceColumn="idxProgetto" DataSetColumn="idxProgetto" />
<Mapping SourceColumn="nomeFase" DataSetColumn="nomeFase" />
<Mapping SourceColumn="descrizioneFase" DataSetColumn="descrizioneFase" />
<Mapping SourceColumn="enableTime" DataSetColumn="enableTime" />
<Mapping SourceColumn="enableMoney" DataSetColumn="enableMoney" />
<Mapping SourceColumn="Attivo" DataSetColumn="Attivo" />
<Mapping SourceColumn="codExt" DataSetColumn="codExt" />
<Mapping SourceColumn="AnnoCommessa" DataSetColumn="AnnoCommessa" />
<Mapping SourceColumn="NumeroCommessa" DataSetColumn="NumeroCommessa" />
<Mapping SourceColumn="CheckOk" DataSetColumn="CheckOk" />
<Mapping SourceColumn="CapoCommessa" DataSetColumn="CapoCommessa" />
<Mapping SourceColumn="SQC" DataSetColumn="SQC" />
<Mapping SourceColumn="Pubblico" DataSetColumn="Pubblico" />
<Mapping SourceColumn="EnteProcuratore" DataSetColumn="EnteProcuratore" />
<Mapping SourceColumn="Importo" DataSetColumn="Importo" />
<Mapping SourceColumn="ImportoFornExt" DataSetColumn="ImportoFornExt" />
<Mapping SourceColumn="ImportoIntegrazioni" DataSetColumn="ImportoIntegrazioni" />
<Mapping SourceColumn="BCWS_ore" DataSetColumn="BCWS_ore" />
<Mapping SourceColumn="BCWS_money" DataSetColumn="BCWS_money" />
<Mapping SourceColumn="DataApertura" DataSetColumn="DataApertura" />
<Mapping SourceColumn="rifOfferta" DataSetColumn="rifOfferta" />
<Mapping SourceColumn="urlOfferta" DataSetColumn="urlOfferta" />
<Mapping SourceColumn="rifOrdine" DataSetColumn="rifOrdine" />
<Mapping SourceColumn="urlOrdine" DataSetColumn="urlOrdine" />
<Mapping SourceColumn="Indirizzo" DataSetColumn="Indirizzo" />
<Mapping SourceColumn="Note" DataSetColumn="Note" />
</Mappings>
<Sources>
<DbSource ConnectionRef="ETS_PROJConnectionString (Settings)" DbObjectName="ETS_PROJ.dbo.stp_VC_getByYear" DbObjectType="StoredProcedure" GenerateMethods="Get" GenerateShortCommands="true" GeneratorGetMethodName="getByYearMin" GetMethodModifier="Public" GetMethodName="getByYearMin" QueryType="Rowset" ScalarCallRetval="System.Object, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" UseOptimisticConcurrency="true" UserGetMethodName="getByYearMin" UserSourceName="getByYearMin">
<SelectCommand>
<DbCommand CommandType="StoredProcedure" ModifiedByUser="false">
<CommandText>dbo.stp_VC_getByYear</CommandText>
<Parameters>
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="ReturnValue" ParameterName="@RETURN_VALUE" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
<Parameter AllowDbNull="true" AutogeneratedName="" DataSourceName="" DataTypeServer="int" DbType="Int32" Direction="Input" ParameterName="@minYear" Precision="10" ProviderType="Int" Scale="0" Size="4" SourceColumnNullMapping="false" SourceVersion="Current" />
</Parameters>
</DbCommand>
</SelectCommand>
</DbSource>
</Sources>
</TableAdapter>
</Tables>
<Sources />
</DataSource>
@@ -1863,7 +1917,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
<xs:element name="Ds_ProjEts" msdata:IsDataSet="true" msdata:UseCurrentLocale="true" msprop:EnableTableAdapterManager="true" msprop:Generator_DataSetName="Ds_ProjEts" msprop:Generator_UserDSName="Ds_ProjEts">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="AnagProgetti" msprop:Generator_TableClassName="AnagProgettiDataTable" msprop:Generator_TableVarName="tableAnagProgetti" msprop:Generator_RowChangedName="AnagProgettiRowChanged" msprop:Generator_TablePropName="AnagProgetti" msprop:Generator_RowDeletingName="AnagProgettiRowDeleting" msprop:Generator_RowChangingName="AnagProgettiRowChanging" msprop:Generator_RowEvHandlerName="AnagProgettiRowChangeEventHandler" msprop:Generator_RowDeletedName="AnagProgettiRowDeleted" msprop:Generator_RowClassName="AnagProgettiRow" msprop:Generator_UserTableName="AnagProgetti" msprop:Generator_RowEvArgName="AnagProgettiRowChangeEvent">
<xs:element name="AnagProgetti" msprop:Generator_TableClassName="AnagProgettiDataTable" msprop:Generator_TableVarName="tableAnagProgetti" msprop:Generator_TablePropName="AnagProgetti" msprop:Generator_RowDeletingName="AnagProgettiRowDeleting" msprop:Generator_RowChangingName="AnagProgettiRowChanging" msprop:Generator_RowEvHandlerName="AnagProgettiRowChangeEventHandler" msprop:Generator_RowDeletedName="AnagProgettiRowDeleted" msprop:Generator_UserTableName="AnagProgetti" msprop:Generator_RowChangedName="AnagProgettiRowChanged" msprop:Generator_RowEvArgName="AnagProgettiRowChangeEvent" msprop:Generator_RowClassName="AnagProgettiRow">
<xs:complexType>
<xs:sequence>
<xs:element name="idxProgetto" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnidxProgetto" msprop:Generator_ColumnPropNameInRow="idxProgetto" msprop:Generator_ColumnPropNameInTable="idxProgettoColumn" msprop:Generator_UserColumnName="idxProgetto" type="xs:int" />
@@ -1906,7 +1960,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AnagFasi" msprop:Generator_TableClassName="AnagFasiDataTable" msprop:Generator_TableVarName="tableAnagFasi" msprop:Generator_RowChangedName="AnagFasiRowChanged" msprop:Generator_TablePropName="AnagFasi" msprop:Generator_RowDeletingName="AnagFasiRowDeleting" msprop:Generator_RowChangingName="AnagFasiRowChanging" msprop:Generator_RowEvHandlerName="AnagFasiRowChangeEventHandler" msprop:Generator_RowDeletedName="AnagFasiRowDeleted" msprop:Generator_RowClassName="AnagFasiRow" msprop:Generator_UserTableName="AnagFasi" msprop:Generator_RowEvArgName="AnagFasiRowChangeEvent">
<xs:element name="AnagFasi" msprop:Generator_TableClassName="AnagFasiDataTable" msprop:Generator_TableVarName="tableAnagFasi" msprop:Generator_TablePropName="AnagFasi" msprop:Generator_RowDeletingName="AnagFasiRowDeleting" msprop:Generator_RowChangingName="AnagFasiRowChanging" msprop:Generator_RowEvHandlerName="AnagFasiRowChangeEventHandler" msprop:Generator_RowDeletedName="AnagFasiRowDeleted" msprop:Generator_UserTableName="AnagFasi" msprop:Generator_RowChangedName="AnagFasiRowChanged" msprop:Generator_RowEvArgName="AnagFasiRowChangeEvent" msprop:Generator_RowClassName="AnagFasiRow">
<xs:complexType>
<xs:sequence>
<xs:element name="idxFase" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnidxFase" msprop:Generator_ColumnPropNameInRow="idxFase" msprop:Generator_ColumnPropNameInTable="idxFaseColumn" msprop:Generator_UserColumnName="idxFase" type="xs:int" />
@@ -1956,7 +2010,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DatiCommessa" msprop:Generator_TableClassName="DatiCommessaDataTable" msprop:Generator_TableVarName="tableDatiCommessa" msprop:Generator_RowChangedName="DatiCommessaRowChanged" msprop:Generator_TablePropName="DatiCommessa" msprop:Generator_RowDeletingName="DatiCommessaRowDeleting" msprop:Generator_RowChangingName="DatiCommessaRowChanging" msprop:Generator_RowEvHandlerName="DatiCommessaRowChangeEventHandler" msprop:Generator_RowDeletedName="DatiCommessaRowDeleted" msprop:Generator_RowClassName="DatiCommessaRow" msprop:Generator_UserTableName="DatiCommessa" msprop:Generator_RowEvArgName="DatiCommessaRowChangeEvent">
<xs:element name="DatiCommessa" msprop:Generator_TableClassName="DatiCommessaDataTable" msprop:Generator_TableVarName="tableDatiCommessa" msprop:Generator_TablePropName="DatiCommessa" msprop:Generator_RowDeletingName="DatiCommessaRowDeleting" msprop:Generator_RowChangingName="DatiCommessaRowChanging" msprop:Generator_RowEvHandlerName="DatiCommessaRowChangeEventHandler" msprop:Generator_RowDeletedName="DatiCommessaRowDeleted" msprop:Generator_UserTableName="DatiCommessa" msprop:Generator_RowChangedName="DatiCommessaRowChanged" msprop:Generator_RowEvArgName="DatiCommessaRowChangeEvent" msprop:Generator_RowClassName="DatiCommessaRow">
<xs:complexType>
<xs:sequence>
<xs:element name="idxFase" msprop:Generator_ColumnVarNameInTable="columnidxFase" msprop:Generator_ColumnPropNameInRow="idxFase" msprop:Generator_ColumnPropNameInTable="idxFaseColumn" msprop:Generator_UserColumnName="idxFase" type="xs:int" />
@@ -2052,7 +2106,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DatiCommForn" msprop:Generator_TableClassName="DatiCommFornDataTable" msprop:Generator_TableVarName="tableDatiCommForn" msprop:Generator_TablePropName="DatiCommForn" msprop:Generator_RowDeletingName="DatiCommFornRowDeleting" msprop:Generator_RowChangingName="DatiCommFornRowChanging" msprop:Generator_RowEvHandlerName="DatiCommFornRowChangeEventHandler" msprop:Generator_RowDeletedName="DatiCommFornRowDeleted" msprop:Generator_UserTableName="DatiCommForn" msprop:Generator_RowChangedName="DatiCommFornRowChanged" msprop:Generator_RowEvArgName="DatiCommFornRowChangeEvent" msprop:Generator_RowClassName="DatiCommFornRow">
<xs:element name="DatiCommForn" msprop:Generator_TableClassName="DatiCommFornDataTable" msprop:Generator_TableVarName="tableDatiCommForn" msprop:Generator_RowChangedName="DatiCommFornRowChanged" msprop:Generator_TablePropName="DatiCommForn" msprop:Generator_RowDeletingName="DatiCommFornRowDeleting" msprop:Generator_RowChangingName="DatiCommFornRowChanging" msprop:Generator_RowEvHandlerName="DatiCommFornRowChangeEventHandler" msprop:Generator_RowDeletedName="DatiCommFornRowDeleted" msprop:Generator_RowClassName="DatiCommFornRow" msprop:Generator_UserTableName="DatiCommForn" msprop:Generator_RowEvArgName="DatiCommFornRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="idxDCF" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnidxDCF" msprop:Generator_ColumnPropNameInRow="idxDCF" msprop:Generator_ColumnPropNameInTable="idxDCFColumn" msprop:Generator_UserColumnName="idxDCF" type="xs:int" />
@@ -2103,7 +2157,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="DatiCommInteg" msprop:Generator_TableClassName="DatiCommIntegDataTable" msprop:Generator_TableVarName="tableDatiCommInteg" msprop:Generator_TablePropName="DatiCommInteg" msprop:Generator_RowDeletingName="DatiCommIntegRowDeleting" msprop:Generator_RowChangingName="DatiCommIntegRowChanging" msprop:Generator_RowEvHandlerName="DatiCommIntegRowChangeEventHandler" msprop:Generator_RowDeletedName="DatiCommIntegRowDeleted" msprop:Generator_UserTableName="DatiCommInteg" msprop:Generator_RowChangedName="DatiCommIntegRowChanged" msprop:Generator_RowEvArgName="DatiCommIntegRowChangeEvent" msprop:Generator_RowClassName="DatiCommIntegRow">
<xs:element name="DatiCommInteg" msprop:Generator_TableClassName="DatiCommIntegDataTable" msprop:Generator_TableVarName="tableDatiCommInteg" msprop:Generator_RowChangedName="DatiCommIntegRowChanged" msprop:Generator_TablePropName="DatiCommInteg" msprop:Generator_RowDeletingName="DatiCommIntegRowDeleting" msprop:Generator_RowChangingName="DatiCommIntegRowChanging" msprop:Generator_RowEvHandlerName="DatiCommIntegRowChangeEventHandler" msprop:Generator_RowDeletedName="DatiCommIntegRowDeleted" msprop:Generator_RowClassName="DatiCommIntegRow" msprop:Generator_UserTableName="DatiCommInteg" msprop:Generator_RowEvArgName="DatiCommIntegRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="idxDCI" msdata:ReadOnly="true" msdata:AutoIncrement="true" msdata:AutoIncrementSeed="-1" msdata:AutoIncrementStep="-1" msprop:Generator_ColumnVarNameInTable="columnidxDCI" msprop:Generator_ColumnPropNameInRow="idxDCI" msprop:Generator_ColumnPropNameInTable="idxDCIColumn" msprop:Generator_UserColumnName="idxDCI" type="xs:int" />
@@ -2155,7 +2209,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AnagCommFasi" msprop:Generator_TableClassName="AnagCommFasiDataTable" msprop:Generator_TableVarName="tableAnagCommFasi" msprop:Generator_TablePropName="AnagCommFasi" msprop:Generator_RowDeletingName="AnagCommFasiRowDeleting" msprop:Generator_RowChangingName="AnagCommFasiRowChanging" msprop:Generator_RowEvHandlerName="AnagCommFasiRowChangeEventHandler" msprop:Generator_RowDeletedName="AnagCommFasiRowDeleted" msprop:Generator_UserTableName="AnagCommFasi" msprop:Generator_RowChangedName="AnagCommFasiRowChanged" msprop:Generator_RowEvArgName="AnagCommFasiRowChangeEvent" msprop:Generator_RowClassName="AnagCommFasiRow">
<xs:element name="AnagCommFasi" msprop:Generator_TableClassName="AnagCommFasiDataTable" msprop:Generator_TableVarName="tableAnagCommFasi" msprop:Generator_RowChangedName="AnagCommFasiRowChanged" msprop:Generator_TablePropName="AnagCommFasi" msprop:Generator_RowDeletingName="AnagCommFasiRowDeleting" msprop:Generator_RowChangingName="AnagCommFasiRowChanging" msprop:Generator_RowEvHandlerName="AnagCommFasiRowChangeEventHandler" msprop:Generator_RowDeletedName="AnagCommFasiRowDeleted" msprop:Generator_RowClassName="AnagCommFasiRow" msprop:Generator_UserTableName="AnagCommFasi" msprop:Generator_RowEvArgName="AnagCommFasiRowChangeEvent">
<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" />
@@ -2258,7 +2312,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ElencoFasiExpl" msprop:Generator_TableClassName="ElencoFasiExplDataTable" msprop:Generator_TableVarName="tableElencoFasiExpl" msprop:Generator_RowChangedName="ElencoFasiExplRowChanged" msprop:Generator_TablePropName="ElencoFasiExpl" msprop:Generator_RowDeletingName="ElencoFasiExplRowDeleting" msprop:Generator_RowChangingName="ElencoFasiExplRowChanging" msprop:Generator_RowEvHandlerName="ElencoFasiExplRowChangeEventHandler" msprop:Generator_RowDeletedName="ElencoFasiExplRowDeleted" msprop:Generator_RowClassName="ElencoFasiExplRow" msprop:Generator_UserTableName="ElencoFasiExpl" msprop:Generator_RowEvArgName="ElencoFasiExplRowChangeEvent">
<xs:element name="ElencoFasiExpl" msprop:Generator_TableClassName="ElencoFasiExplDataTable" msprop:Generator_TableVarName="tableElencoFasiExpl" msprop:Generator_TablePropName="ElencoFasiExpl" msprop:Generator_RowDeletingName="ElencoFasiExplRowDeleting" msprop:Generator_RowChangingName="ElencoFasiExplRowChanging" msprop:Generator_RowEvHandlerName="ElencoFasiExplRowChangeEventHandler" msprop:Generator_RowDeletedName="ElencoFasiExplRowDeleted" msprop:Generator_UserTableName="ElencoFasiExpl" msprop:Generator_RowChangedName="ElencoFasiExplRowChanged" msprop:Generator_RowEvArgName="ElencoFasiExplRowChangeEvent" msprop:Generator_RowClassName="ElencoFasiExplRow">
<xs:complexType>
<xs:sequence>
<xs:element name="idxFase" msprop:Generator_ColumnVarNameInTable="columnidxFase" msprop:Generator_ColumnPropNameInRow="idxFase" msprop:Generator_ColumnPropNameInTable="idxFaseColumn" msprop:Generator_UserColumnName="idxFase" type="xs:int" />
@@ -2306,7 +2360,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BdgtRisorseFasi" msprop:Generator_TableClassName="BdgtRisorseFasiDataTable" msprop:Generator_TableVarName="tableBdgtRisorseFasi" msprop:Generator_TablePropName="BdgtRisorseFasi" msprop:Generator_RowDeletingName="BdgtRisorseFasiRowDeleting" msprop:Generator_RowChangingName="BdgtRisorseFasiRowChanging" msprop:Generator_RowEvHandlerName="BdgtRisorseFasiRowChangeEventHandler" msprop:Generator_RowDeletedName="BdgtRisorseFasiRowDeleted" msprop:Generator_UserTableName="BdgtRisorseFasi" msprop:Generator_RowChangedName="BdgtRisorseFasiRowChanged" msprop:Generator_RowEvArgName="BdgtRisorseFasiRowChangeEvent" msprop:Generator_RowClassName="BdgtRisorseFasiRow">
<xs:element name="BdgtRisorseFasi" msprop:Generator_TableClassName="BdgtRisorseFasiDataTable" msprop:Generator_TableVarName="tableBdgtRisorseFasi" msprop:Generator_RowChangedName="BdgtRisorseFasiRowChanged" msprop:Generator_TablePropName="BdgtRisorseFasi" msprop:Generator_RowDeletingName="BdgtRisorseFasiRowDeleting" msprop:Generator_RowChangingName="BdgtRisorseFasiRowChanging" msprop:Generator_RowEvHandlerName="BdgtRisorseFasiRowChangeEventHandler" msprop:Generator_RowDeletedName="BdgtRisorseFasiRowDeleted" msprop:Generator_RowClassName="BdgtRisorseFasiRow" msprop:Generator_UserTableName="BdgtRisorseFasi" msprop:Generator_RowEvArgName="BdgtRisorseFasiRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="idxFase" msprop:Generator_ColumnVarNameInTable="columnidxFase" msprop:Generator_ColumnPropNameInRow="idxFase" msprop:Generator_ColumnPropNameInTable="idxFaseColumn" msprop:Generator_UserColumnName="idxFase" type="xs:int" />
@@ -2323,7 +2377,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AnagTipoRisorse" msprop:Generator_TableClassName="AnagTipoRisorseDataTable" msprop:Generator_TableVarName="tableAnagTipoRisorse" msprop:Generator_TablePropName="AnagTipoRisorse" msprop:Generator_RowDeletingName="AnagTipoRisorseRowDeleting" msprop:Generator_RowChangingName="AnagTipoRisorseRowChanging" msprop:Generator_RowEvHandlerName="AnagTipoRisorseRowChangeEventHandler" msprop:Generator_RowDeletedName="AnagTipoRisorseRowDeleted" msprop:Generator_UserTableName="AnagTipoRisorse" msprop:Generator_RowChangedName="AnagTipoRisorseRowChanged" msprop:Generator_RowEvArgName="AnagTipoRisorseRowChangeEvent" msprop:Generator_RowClassName="AnagTipoRisorseRow">
<xs:element name="AnagTipoRisorse" msprop:Generator_TableClassName="AnagTipoRisorseDataTable" msprop:Generator_TableVarName="tableAnagTipoRisorse" msprop:Generator_RowChangedName="AnagTipoRisorseRowChanged" msprop:Generator_TablePropName="AnagTipoRisorse" msprop:Generator_RowDeletingName="AnagTipoRisorseRowDeleting" msprop:Generator_RowChangingName="AnagTipoRisorseRowChanging" msprop:Generator_RowEvHandlerName="AnagTipoRisorseRowChangeEventHandler" msprop:Generator_RowDeletedName="AnagTipoRisorseRowDeleted" msprop:Generator_RowClassName="AnagTipoRisorseRow" msprop:Generator_UserTableName="AnagTipoRisorse" msprop:Generator_RowEvArgName="AnagTipoRisorseRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="CodTipoRisorsa" msprop:Generator_ColumnVarNameInTable="columnCodTipoRisorsa" msprop:Generator_ColumnPropNameInRow="CodTipoRisorsa" msprop:Generator_ColumnPropNameInTable="CodTipoRisorsaColumn" msprop:Generator_UserColumnName="CodTipoRisorsa">
@@ -2344,7 +2398,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Dip2ATR" msprop:Generator_TableClassName="Dip2ATRDataTable" msprop:Generator_TableVarName="tableDip2ATR" msprop:Generator_RowChangedName="Dip2ATRRowChanged" msprop:Generator_TablePropName="Dip2ATR" msprop:Generator_RowDeletingName="Dip2ATRRowDeleting" msprop:Generator_RowChangingName="Dip2ATRRowChanging" msprop:Generator_RowEvHandlerName="Dip2ATRRowChangeEventHandler" msprop:Generator_RowDeletedName="Dip2ATRRowDeleted" msprop:Generator_RowClassName="Dip2ATRRow" msprop:Generator_UserTableName="Dip2ATR" msprop:Generator_RowEvArgName="Dip2ATRRowChangeEvent">
<xs:element name="Dip2ATR" msprop:Generator_TableClassName="Dip2ATRDataTable" msprop:Generator_TableVarName="tableDip2ATR" msprop:Generator_TablePropName="Dip2ATR" msprop:Generator_RowDeletingName="Dip2ATRRowDeleting" msprop:Generator_RowChangingName="Dip2ATRRowChanging" msprop:Generator_RowEvHandlerName="Dip2ATRRowChangeEventHandler" msprop:Generator_RowDeletedName="Dip2ATRRowDeleted" msprop:Generator_UserTableName="Dip2ATR" msprop:Generator_RowChangedName="Dip2ATRRowChanged" msprop:Generator_RowEvArgName="Dip2ATRRowChangeEvent" msprop:Generator_RowClassName="Dip2ATRRow">
<xs:complexType>
<xs:sequence>
<xs:element name="idxDipendente" msprop:Generator_ColumnVarNameInTable="columnidxDipendente" msprop:Generator_ColumnPropNameInRow="idxDipendente" msprop:Generator_ColumnPropNameInTable="idxDipendenteColumn" msprop:Generator_UserColumnName="idxDipendente" type="xs:int" />
@@ -2365,7 +2419,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Dipendenti" msprop:Generator_TableClassName="DipendentiDataTable" msprop:Generator_TableVarName="tableDipendenti" msprop:Generator_RowChangedName="DipendentiRowChanged" msprop:Generator_TablePropName="Dipendenti" msprop:Generator_RowDeletingName="DipendentiRowDeleting" msprop:Generator_RowChangingName="DipendentiRowChanging" msprop:Generator_RowEvHandlerName="DipendentiRowChangeEventHandler" msprop:Generator_RowDeletedName="DipendentiRowDeleted" msprop:Generator_RowClassName="DipendentiRow" msprop:Generator_UserTableName="Dipendenti" msprop:Generator_RowEvArgName="DipendentiRowChangeEvent">
<xs:element name="Dipendenti" msprop:Generator_TableClassName="DipendentiDataTable" msprop:Generator_TableVarName="tableDipendenti" msprop:Generator_TablePropName="Dipendenti" msprop:Generator_RowDeletingName="DipendentiRowDeleting" msprop:Generator_RowChangingName="DipendentiRowChanging" msprop:Generator_RowEvHandlerName="DipendentiRowChangeEventHandler" msprop:Generator_RowDeletedName="DipendentiRowDeleted" msprop:Generator_UserTableName="Dipendenti" msprop:Generator_RowChangedName="DipendentiRowChanged" msprop:Generator_RowEvArgName="DipendentiRowChangeEvent" msprop:Generator_RowClassName="DipendentiRow">
<xs:complexType>
<xs:sequence>
<xs:element name="idxDipendente" msprop:Generator_ColumnVarNameInTable="columnidxDipendente" msprop:Generator_ColumnPropNameInRow="idxDipendente" msprop:Generator_ColumnPropNameInTable="idxDipendenteColumn" msprop:Generator_UserColumnName="idxDipendente" type="xs:int" />
@@ -2500,7 +2554,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="BazaarRisorse" msprop:Generator_TableClassName="BazaarRisorseDataTable" msprop:Generator_TableVarName="tableBazaarRisorse" msprop:Generator_RowChangedName="BazaarRisorseRowChanged" msprop:Generator_TablePropName="BazaarRisorse" msprop:Generator_RowDeletingName="BazaarRisorseRowDeleting" msprop:Generator_RowChangingName="BazaarRisorseRowChanging" msprop:Generator_RowEvHandlerName="BazaarRisorseRowChangeEventHandler" msprop:Generator_RowDeletedName="BazaarRisorseRowDeleted" msprop:Generator_RowClassName="BazaarRisorseRow" msprop:Generator_UserTableName="BazaarRisorse" msprop:Generator_RowEvArgName="BazaarRisorseRowChangeEvent">
<xs:element name="BazaarRisorse" msprop:Generator_TableClassName="BazaarRisorseDataTable" msprop:Generator_TableVarName="tableBazaarRisorse" msprop:Generator_TablePropName="BazaarRisorse" msprop:Generator_RowDeletingName="BazaarRisorseRowDeleting" msprop:Generator_RowChangingName="BazaarRisorseRowChanging" msprop:Generator_RowEvHandlerName="BazaarRisorseRowChangeEventHandler" msprop:Generator_RowDeletedName="BazaarRisorseRowDeleted" msprop:Generator_UserTableName="BazaarRisorse" msprop:Generator_RowChangedName="BazaarRisorseRowChanged" msprop:Generator_RowEvArgName="BazaarRisorseRowChangeEvent" msprop:Generator_RowClassName="BazaarRisorseRow">
<xs:complexType>
<xs:sequence>
<xs:element name="Anno" msprop:Generator_ColumnVarNameInTable="columnAnno" msprop:Generator_ColumnPropNameInRow="Anno" msprop:Generator_ColumnPropNameInTable="AnnoColumn" msprop:Generator_UserColumnName="Anno" type="xs:int" />
@@ -2519,7 +2573,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ImpiegoRisorse" msprop:Generator_TableClassName="ImpiegoRisorseDataTable" msprop:Generator_TableVarName="tableImpiegoRisorse" msprop:Generator_TablePropName="ImpiegoRisorse" msprop:Generator_RowDeletingName="ImpiegoRisorseRowDeleting" msprop:Generator_RowChangingName="ImpiegoRisorseRowChanging" msprop:Generator_RowEvHandlerName="ImpiegoRisorseRowChangeEventHandler" msprop:Generator_RowDeletedName="ImpiegoRisorseRowDeleted" msprop:Generator_UserTableName="ImpiegoRisorse" msprop:Generator_RowChangedName="ImpiegoRisorseRowChanged" msprop:Generator_RowEvArgName="ImpiegoRisorseRowChangeEvent" msprop:Generator_RowClassName="ImpiegoRisorseRow">
<xs:element name="ImpiegoRisorse" msprop:Generator_TableClassName="ImpiegoRisorseDataTable" msprop:Generator_TableVarName="tableImpiegoRisorse" msprop:Generator_RowChangedName="ImpiegoRisorseRowChanged" msprop:Generator_TablePropName="ImpiegoRisorse" msprop:Generator_RowDeletingName="ImpiegoRisorseRowDeleting" msprop:Generator_RowChangingName="ImpiegoRisorseRowChanging" msprop:Generator_RowEvHandlerName="ImpiegoRisorseRowChangeEventHandler" msprop:Generator_RowDeletedName="ImpiegoRisorseRowDeleted" msprop:Generator_RowClassName="ImpiegoRisorseRow" msprop:Generator_UserTableName="ImpiegoRisorse" msprop:Generator_RowEvArgName="ImpiegoRisorseRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="Anno" msprop:Generator_ColumnVarNameInTable="columnAnno" msprop:Generator_ColumnPropNameInRow="Anno" msprop:Generator_ColumnPropNameInTable="AnnoColumn" msprop:Generator_UserColumnName="Anno" type="xs:int" />
@@ -2530,7 +2584,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ReleasedWeek" msprop:Generator_TableClassName="ReleasedWeekDataTable" msprop:Generator_TableVarName="tableReleasedWeek" msprop:Generator_RowChangedName="ReleasedWeekRowChanged" msprop:Generator_TablePropName="ReleasedWeek" msprop:Generator_RowDeletingName="ReleasedWeekRowDeleting" msprop:Generator_RowChangingName="ReleasedWeekRowChanging" msprop:Generator_RowEvHandlerName="ReleasedWeekRowChangeEventHandler" msprop:Generator_RowDeletedName="ReleasedWeekRowDeleted" msprop:Generator_RowClassName="ReleasedWeekRow" msprop:Generator_UserTableName="ReleasedWeek" msprop:Generator_RowEvArgName="ReleasedWeekRowChangeEvent">
<xs:element name="ReleasedWeek" msprop:Generator_TableClassName="ReleasedWeekDataTable" msprop:Generator_TableVarName="tableReleasedWeek" msprop:Generator_TablePropName="ReleasedWeek" msprop:Generator_RowDeletingName="ReleasedWeekRowDeleting" msprop:Generator_RowChangingName="ReleasedWeekRowChanging" msprop:Generator_RowEvHandlerName="ReleasedWeekRowChangeEventHandler" msprop:Generator_RowDeletedName="ReleasedWeekRowDeleted" msprop:Generator_UserTableName="ReleasedWeek" msprop:Generator_RowChangedName="ReleasedWeekRowChanged" msprop:Generator_RowEvArgName="ReleasedWeekRowChangeEvent" msprop:Generator_RowClassName="ReleasedWeekRow">
<xs:complexType>
<xs:sequence>
<xs:element name="Anno" msprop:Generator_ColumnVarNameInTable="columnAnno" msprop:Generator_ColumnPropNameInRow="Anno" msprop:Generator_ColumnPropNameInTable="AnnoColumn" msprop:Generator_UserColumnName="Anno" type="xs:int" />
@@ -2546,7 +2600,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ResocontoComm" msprop:Generator_TableClassName="ResocontoCommDataTable" msprop:Generator_TableVarName="tableResocontoComm" msprop:Generator_RowChangedName="ResocontoCommRowChanged" msprop:Generator_TablePropName="ResocontoComm" msprop:Generator_RowDeletingName="ResocontoCommRowDeleting" msprop:Generator_RowChangingName="ResocontoCommRowChanging" msprop:Generator_RowEvHandlerName="ResocontoCommRowChangeEventHandler" msprop:Generator_RowDeletedName="ResocontoCommRowDeleted" msprop:Generator_RowClassName="ResocontoCommRow" msprop:Generator_UserTableName="ResocontoComm" msprop:Generator_RowEvArgName="ResocontoCommRowChangeEvent">
<xs:element name="ResocontoComm" msprop:Generator_TableClassName="ResocontoCommDataTable" msprop:Generator_TableVarName="tableResocontoComm" msprop:Generator_TablePropName="ResocontoComm" msprop:Generator_RowDeletingName="ResocontoCommRowDeleting" msprop:Generator_RowChangingName="ResocontoCommRowChanging" msprop:Generator_RowEvHandlerName="ResocontoCommRowChangeEventHandler" msprop:Generator_RowDeletedName="ResocontoCommRowDeleted" msprop:Generator_UserTableName="ResocontoComm" msprop:Generator_RowChangedName="ResocontoCommRowChanged" msprop:Generator_RowEvArgName="ResocontoCommRowChangeEvent" msprop:Generator_RowClassName="ResocontoCommRow">
<xs:complexType>
<xs:sequence>
<xs:element name="idxFase" msprop:Generator_ColumnVarNameInTable="columnidxFase" msprop:Generator_ColumnPropNameInRow="idxFase" msprop:Generator_ColumnPropNameInTable="idxFaseColumn" msprop:Generator_UserColumnName="idxFase" type="xs:int" />
@@ -2575,7 +2629,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="AnagLabels" msprop:Generator_TableClassName="AnagLabelsDataTable" msprop:Generator_TableVarName="tableAnagLabels" msprop:Generator_TablePropName="AnagLabels" msprop:Generator_RowDeletingName="AnagLabelsRowDeleting" msprop:Generator_RowChangingName="AnagLabelsRowChanging" msprop:Generator_RowEvHandlerName="AnagLabelsRowChangeEventHandler" msprop:Generator_RowDeletedName="AnagLabelsRowDeleted" msprop:Generator_UserTableName="AnagLabels" msprop:Generator_RowChangedName="AnagLabelsRowChanged" msprop:Generator_RowEvArgName="AnagLabelsRowChangeEvent" msprop:Generator_RowClassName="AnagLabelsRow">
<xs:element name="AnagLabels" msprop:Generator_TableClassName="AnagLabelsDataTable" msprop:Generator_TableVarName="tableAnagLabels" msprop:Generator_RowChangedName="AnagLabelsRowChanged" msprop:Generator_TablePropName="AnagLabels" msprop:Generator_RowDeletingName="AnagLabelsRowDeleting" msprop:Generator_RowChangingName="AnagLabelsRowChanging" msprop:Generator_RowEvHandlerName="AnagLabelsRowChangeEventHandler" msprop:Generator_RowDeletedName="AnagLabelsRowDeleted" msprop:Generator_RowClassName="AnagLabelsRow" msprop:Generator_UserTableName="AnagLabels" msprop:Generator_RowEvArgName="AnagLabelsRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="CodLabel" msprop:Generator_ColumnVarNameInTable="columnCodLabel" msprop:Generator_ColumnPropNameInRow="CodLabel" msprop:Generator_ColumnPropNameInTable="CodLabelColumn" msprop:Generator_UserColumnName="CodLabel">
@@ -2595,7 +2649,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LabelsComm" msprop:Generator_TableClassName="LabelsCommDataTable" msprop:Generator_TableVarName="tableLabelsComm" msprop:Generator_TablePropName="LabelsComm" msprop:Generator_RowDeletingName="LabelsCommRowDeleting" msprop:Generator_RowChangingName="LabelsCommRowChanging" msprop:Generator_RowEvHandlerName="LabelsCommRowChangeEventHandler" msprop:Generator_RowDeletedName="LabelsCommRowDeleted" msprop:Generator_UserTableName="LabelsComm" msprop:Generator_RowChangedName="LabelsCommRowChanged" msprop:Generator_RowEvArgName="LabelsCommRowChangeEvent" msprop:Generator_RowClassName="LabelsCommRow">
<xs:element name="LabelsComm" msprop:Generator_TableClassName="LabelsCommDataTable" msprop:Generator_TableVarName="tableLabelsComm" msprop:Generator_RowChangedName="LabelsCommRowChanged" msprop:Generator_TablePropName="LabelsComm" msprop:Generator_RowDeletingName="LabelsCommRowDeleting" msprop:Generator_RowChangingName="LabelsCommRowChanging" msprop:Generator_RowEvHandlerName="LabelsCommRowChangeEventHandler" msprop:Generator_RowDeletedName="LabelsCommRowDeleted" msprop:Generator_RowClassName="LabelsCommRow" msprop:Generator_UserTableName="LabelsComm" msprop:Generator_RowEvArgName="LabelsCommRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="idxFase" msprop:Generator_ColumnVarNameInTable="columnidxFase" msprop:Generator_ColumnPropNameInRow="idxFase" msprop:Generator_ColumnPropNameInTable="idxFaseColumn" msprop:Generator_UserColumnName="idxFase" type="xs:int" />
@@ -2609,7 +2663,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="TLockBazRA" msprop:Generator_TableClassName="TLockBazRADataTable" msprop:Generator_TableVarName="tableTLockBazRA" msprop:Generator_RowChangedName="TLockBazRARowChanged" msprop:Generator_TablePropName="TLockBazRA" msprop:Generator_RowDeletingName="TLockBazRARowDeleting" msprop:Generator_RowChangingName="TLockBazRARowChanging" msprop:Generator_RowEvHandlerName="TLockBazRARowChangeEventHandler" msprop:Generator_RowDeletedName="TLockBazRARowDeleted" msprop:Generator_RowClassName="TLockBazRARow" msprop:Generator_UserTableName="TLockBazRA" msprop:Generator_RowEvArgName="TLockBazRARowChangeEvent">
<xs:element name="TLockBazRA" msprop:Generator_TableClassName="TLockBazRADataTable" msprop:Generator_TableVarName="tableTLockBazRA" msprop:Generator_TablePropName="TLockBazRA" msprop:Generator_RowDeletingName="TLockBazRARowDeleting" msprop:Generator_RowChangingName="TLockBazRARowChanging" msprop:Generator_RowEvHandlerName="TLockBazRARowChangeEventHandler" msprop:Generator_RowDeletedName="TLockBazRARowDeleted" msprop:Generator_UserTableName="TLockBazRA" msprop:Generator_RowChangedName="TLockBazRARowChanged" msprop:Generator_RowEvArgName="TLockBazRARowChangeEvent" msprop:Generator_RowClassName="TLockBazRARow">
<xs:complexType>
<xs:sequence>
<xs:element name="idxDipendente" msprop:Generator_ColumnVarNameInTable="columnidxDipendente" msprop:Generator_ColumnPropNameInRow="idxDipendente" msprop:Generator_ColumnPropNameInTable="idxDipendenteColumn" msprop:Generator_UserColumnName="idxDipendente" type="xs:int" />
@@ -2624,7 +2678,7 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="LogEmailBaz" msprop:Generator_TableClassName="LogEmailBazDataTable" msprop:Generator_TableVarName="tableLogEmailBaz" msprop:Generator_TablePropName="LogEmailBaz" msprop:Generator_RowDeletingName="LogEmailBazRowDeleting" msprop:Generator_RowChangingName="LogEmailBazRowChanging" msprop:Generator_RowEvHandlerName="LogEmailBazRowChangeEventHandler" msprop:Generator_RowDeletedName="LogEmailBazRowDeleted" msprop:Generator_UserTableName="LogEmailBaz" msprop:Generator_RowChangedName="LogEmailBazRowChanged" msprop:Generator_RowEvArgName="LogEmailBazRowChangeEvent" msprop:Generator_RowClassName="LogEmailBazRow">
<xs:element name="LogEmailBaz" msprop:Generator_TableClassName="LogEmailBazDataTable" msprop:Generator_TableVarName="tableLogEmailBaz" msprop:Generator_RowChangedName="LogEmailBazRowChanged" msprop:Generator_TablePropName="LogEmailBaz" msprop:Generator_RowDeletingName="LogEmailBazRowDeleting" msprop:Generator_RowChangingName="LogEmailBazRowChanging" msprop:Generator_RowEvHandlerName="LogEmailBazRowChangeEventHandler" msprop:Generator_RowDeletedName="LogEmailBazRowDeleted" msprop:Generator_RowClassName="LogEmailBazRow" msprop:Generator_UserTableName="LogEmailBaz" msprop:Generator_RowEvArgName="LogEmailBazRowChangeEvent">
<xs:complexType>
<xs:sequence>
<xs:element name="Anno" msprop:Generator_ColumnVarNameInTable="columnAnno" msprop:Generator_ColumnPropNameInRow="Anno" msprop:Generator_ColumnPropNameInTable="AnnoColumn" msprop:Generator_UserColumnName="Anno" type="xs:int" />
@@ -2640,6 +2694,105 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="v_Commessa" msprop:Generator_TableClassName="v_CommessaDataTable" msprop:Generator_TableVarName="tablev_Commessa" msprop:Generator_TablePropName="v_Commessa" msprop:Generator_RowDeletingName="v_CommessaRowDeleting" msprop:Generator_RowChangingName="v_CommessaRowChanging" msprop:Generator_RowEvHandlerName="v_CommessaRowChangeEventHandler" msprop:Generator_RowDeletedName="v_CommessaRowDeleted" msprop:Generator_UserTableName="v_Commessa" msprop:Generator_RowChangedName="v_CommessaRowChanged" msprop:Generator_RowEvArgName="v_CommessaRowChangeEvent" msprop:Generator_RowClassName="v_CommessaRow">
<xs:complexType>
<xs:sequence>
<xs:element name="idxFase" msprop:Generator_ColumnVarNameInTable="columnidxFase" msprop:Generator_ColumnPropNameInRow="idxFase" msprop:Generator_ColumnPropNameInTable="idxFaseColumn" msprop:Generator_UserColumnName="idxFase" type="xs:int" />
<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" />
<xs:element name="nomeFase" msprop:Generator_ColumnVarNameInTable="columnnomeFase" msprop:Generator_ColumnPropNameInRow="nomeFase" msprop:Generator_ColumnPropNameInTable="nomeFaseColumn" msprop:Generator_UserColumnName="nomeFase" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="250" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="descrizioneFase" msprop:Generator_ColumnVarNameInTable="columndescrizioneFase" msprop:Generator_ColumnPropNameInRow="descrizioneFase" msprop:Generator_ColumnPropNameInTable="descrizioneFaseColumn" msprop:Generator_UserColumnName="descrizioneFase" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="250" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="enableTime" msprop:Generator_ColumnVarNameInTable="columnenableTime" msprop:Generator_ColumnPropNameInRow="enableTime" msprop:Generator_ColumnPropNameInTable="enableTimeColumn" msprop:Generator_UserColumnName="enableTime" type="xs:boolean" minOccurs="0" />
<xs:element name="enableMoney" msprop:Generator_ColumnVarNameInTable="columnenableMoney" msprop:Generator_ColumnPropNameInRow="enableMoney" msprop:Generator_ColumnPropNameInTable="enableMoneyColumn" msprop:Generator_UserColumnName="enableMoney" type="xs:boolean" minOccurs="0" />
<xs:element name="Attivo" msprop:Generator_ColumnVarNameInTable="columnAttivo" msprop:Generator_ColumnPropNameInRow="Attivo" msprop:Generator_ColumnPropNameInTable="AttivoColumn" msprop:Generator_UserColumnName="Attivo" type="xs:boolean" />
<xs:element name="codExt" msprop:Generator_ColumnVarNameInTable="columncodExt" msprop:Generator_ColumnPropNameInRow="codExt" msprop:Generator_ColumnPropNameInTable="codExtColumn" msprop:Generator_UserColumnName="codExt" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="AnnoCommessa" msprop:Generator_ColumnVarNameInTable="columnAnnoCommessa" msprop:Generator_ColumnPropNameInRow="AnnoCommessa" msprop:Generator_ColumnPropNameInTable="AnnoCommessaColumn" msprop:Generator_UserColumnName="AnnoCommessa" type="xs:int" minOccurs="0" />
<xs:element name="NumeroCommessa" msprop:Generator_ColumnVarNameInTable="columnNumeroCommessa" msprop:Generator_ColumnPropNameInRow="NumeroCommessa" msprop:Generator_ColumnPropNameInTable="NumeroCommessaColumn" msprop:Generator_UserColumnName="NumeroCommessa" type="xs:int" minOccurs="0" />
<xs:element name="CheckOk" msprop:Generator_ColumnVarNameInTable="columnCheckOk" msprop:Generator_ColumnPropNameInRow="CheckOk" msprop:Generator_ColumnPropNameInTable="CheckOkColumn" msprop:Generator_UserColumnName="CheckOk" type="xs:boolean" minOccurs="0" />
<xs:element name="CapoCommessa" msprop:Generator_ColumnVarNameInTable="columnCapoCommessa" msprop:Generator_ColumnPropNameInRow="CapoCommessa" msprop:Generator_ColumnPropNameInTable="CapoCommessaColumn" msprop:Generator_UserColumnName="CapoCommessa" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="50" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="SQC" msprop:Generator_ColumnVarNameInTable="columnSQC" msprop:Generator_ColumnPropNameInRow="SQC" msprop:Generator_ColumnPropNameInTable="SQCColumn" msprop:Generator_UserColumnName="SQC" type="xs:boolean" />
<xs:element name="Pubblico" msprop:Generator_ColumnVarNameInTable="columnPubblico" msprop:Generator_ColumnPropNameInRow="Pubblico" msprop:Generator_ColumnPropNameInTable="PubblicoColumn" msprop:Generator_UserColumnName="Pubblico" type="xs:boolean" />
<xs:element name="EnteProcuratore" msprop:Generator_ColumnVarNameInTable="columnEnteProcuratore" msprop:Generator_ColumnPropNameInRow="EnteProcuratore" msprop:Generator_ColumnPropNameInTable="EnteProcuratoreColumn" msprop:Generator_UserColumnName="EnteProcuratore" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Importo" msprop:Generator_ColumnVarNameInTable="columnImporto" msprop:Generator_ColumnPropNameInRow="Importo" msprop:Generator_ColumnPropNameInTable="ImportoColumn" msprop:Generator_UserColumnName="Importo" type="xs:decimal" />
<xs:element name="ImportoFornExt" msprop:Generator_ColumnVarNameInTable="columnImportoFornExt" msprop:Generator_ColumnPropNameInRow="ImportoFornExt" msprop:Generator_ColumnPropNameInTable="ImportoFornExtColumn" msprop:Generator_UserColumnName="ImportoFornExt" type="xs:decimal" minOccurs="0" />
<xs:element name="ImportoIntegrazioni" msprop:Generator_ColumnVarNameInTable="columnImportoIntegrazioni" msprop:Generator_ColumnPropNameInRow="ImportoIntegrazioni" msprop:Generator_ColumnPropNameInTable="ImportoIntegrazioniColumn" msprop:Generator_UserColumnName="ImportoIntegrazioni" type="xs:decimal" minOccurs="0" />
<xs:element name="BCWS_ore" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnBCWS_ore" msprop:Generator_ColumnPropNameInRow="BCWS_ore" msprop:Generator_ColumnPropNameInTable="BCWS_oreColumn" msprop:Generator_UserColumnName="BCWS_ore" type="xs:decimal" minOccurs="0" />
<xs:element name="BCWS_money" msdata:ReadOnly="true" msprop:Generator_ColumnVarNameInTable="columnBCWS_money" msprop:Generator_ColumnPropNameInRow="BCWS_money" msprop:Generator_ColumnPropNameInTable="BCWS_moneyColumn" msprop:Generator_UserColumnName="BCWS_money" type="xs:decimal" minOccurs="0" />
<xs:element name="DataApertura" msprop:Generator_ColumnVarNameInTable="columnDataApertura" msprop:Generator_ColumnPropNameInRow="DataApertura" msprop:Generator_ColumnPropNameInTable="DataAperturaColumn" msprop:Generator_UserColumnName="DataApertura" type="xs:dateTime" minOccurs="0" />
<xs:element name="rifOfferta" msprop:Generator_ColumnVarNameInTable="columnrifOfferta" msprop:Generator_ColumnPropNameInRow="rifOfferta" msprop:Generator_ColumnPropNameInTable="rifOffertaColumn" msprop:Generator_UserColumnName="rifOfferta" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="urlOfferta" msprop:Generator_ColumnVarNameInTable="columnurlOfferta" msprop:Generator_ColumnPropNameInRow="urlOfferta" msprop:Generator_ColumnPropNameInTable="urlOffertaColumn" msprop:Generator_UserColumnName="urlOfferta" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="250" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="rifOrdine" msprop:Generator_ColumnVarNameInTable="columnrifOrdine" msprop:Generator_ColumnPropNameInRow="rifOrdine" msprop:Generator_ColumnPropNameInTable="rifOrdineColumn" msprop:Generator_UserColumnName="rifOrdine" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="urlOrdine" msprop:Generator_ColumnVarNameInTable="columnurlOrdine" msprop:Generator_ColumnPropNameInRow="urlOrdine" msprop:Generator_ColumnPropNameInTable="urlOrdineColumn" msprop:Generator_UserColumnName="urlOrdine" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="250" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Indirizzo" msprop:Generator_ColumnVarNameInTable="columnIndirizzo" msprop:Generator_ColumnPropNameInRow="Indirizzo" msprop:Generator_ColumnPropNameInTable="IndirizzoColumn" msprop:Generator_UserColumnName="Indirizzo" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="100" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="Note" msprop:Generator_ColumnVarNameInTable="columnNote" msprop:Generator_ColumnPropNameInRow="Note" msprop:Generator_ColumnPropNameInTable="NoteColumn" msprop:Generator_UserColumnName="Note" minOccurs="0">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="500" />
</xs:restriction>
</xs:simpleType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="Constraint1" msdata:PrimaryKey="true">
@@ -2730,16 +2883,20 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND
<xs:field xpath="mstns:Sett" />
<xs:field xpath="mstns:Anno" />
</xs:unique>
<xs:unique name="v_Commessa_Constraint1" msdata:ConstraintName="Constraint1" msdata:PrimaryKey="true">
<xs:selector xpath=".//mstns:v_Commessa" />
<xs:field xpath="mstns:idxFase" />
</xs:unique>
</xs:element>
<xs:annotation>
<xs:appinfo>
<msdata:Relationship name="AnagProgetti_AnagFasi" msdata:parent="AnagProgetti" msdata:child="AnagFasi" msdata:parentkey="idxProgetto" msdata:childkey="idxProgetto" msprop:Generator_UserChildTable="AnagFasi" msprop:Generator_ChildPropName="GetAnagFasiRows" msprop:Generator_UserRelationName="AnagProgetti_AnagFasi" msprop:Generator_RelationVarName="relationAnagProgetti_AnagFasi" msprop:Generator_UserParentTable="AnagProgetti" msprop:Generator_ParentPropName="AnagProgettiRow" />
<msdata:Relationship name="DatiCommessa_AnagFasi" msdata:parent="DatiCommessa" msdata:child="AnagFasi" msdata:parentkey="idxFase" msdata:childkey="idxFase" msprop:Generator_UserChildTable="AnagFasi" msprop:Generator_ChildPropName="GetAnagFasiRows" msprop:Generator_UserRelationName="DatiCommessa_AnagFasi" msprop:Generator_ParentPropName="DatiCommessaRow" msprop:Generator_RelationVarName="relationDatiCommessa_AnagFasi" msprop:Generator_UserParentTable="DatiCommessa" />
<msdata:Relationship name="DatiCommessa_DatiCommForn" msdata:parent="DatiCommessa" msdata:child="DatiCommForn" msdata:parentkey="idxFase" msdata:childkey="idxFase" msprop:Generator_UserChildTable="DatiCommForn" msprop:Generator_ChildPropName="GetDatiCommFornRows" msprop:Generator_UserRelationName="DatiCommessa_DatiCommForn" msprop:Generator_ParentPropName="DatiCommessaRow" msprop:Generator_RelationVarName="relationDatiCommessa_DatiCommForn" msprop:Generator_UserParentTable="DatiCommessa" />
<msdata:Relationship name="DatiCommessa_DatiCommInteg" msdata:parent="DatiCommessa" msdata:child="DatiCommInteg" msdata:parentkey="idxFase" msdata:childkey="idxFase" msprop:Generator_UserChildTable="DatiCommInteg" msprop:Generator_ChildPropName="GetDatiCommIntegRows" msprop:Generator_UserRelationName="DatiCommessa_DatiCommInteg" msprop:Generator_ParentPropName="DatiCommessaRow" msprop:Generator_RelationVarName="relationDatiCommessa_DatiCommInteg" msprop:Generator_UserParentTable="DatiCommessa" />
<msdata:Relationship name="AnagFasi_BdgtRisorseFasi" msdata:parent="AnagFasi" msdata:child="BdgtRisorseFasi" msdata:parentkey="idxFase" msdata:childkey="idxFase" msprop:Generator_UserChildTable="BdgtRisorseFasi" msprop:Generator_ChildPropName="GetBdgtRisorseFasiRows" msprop:Generator_UserRelationName="AnagFasi_BdgtRisorseFasi" msprop:Generator_ParentPropName="AnagFasiRow" msprop:Generator_RelationVarName="relationAnagFasi_BdgtRisorseFasi" msprop:Generator_UserParentTable="AnagFasi" />
<msdata:Relationship name="FK_BdgtRisorseFasi_AnagTipoRisorse" msdata:parent="AnagTipoRisorse" msdata:child="BdgtRisorseFasi" msdata:parentkey="CodTipoRisorsa" msdata:childkey="CodTipoRisorsa" msprop:Generator_UserChildTable="BdgtRisorseFasi" msprop:Generator_ChildPropName="GetBdgtRisorseFasiRows" msprop:Generator_UserRelationName="FK_BdgtRisorseFasi_AnagTipoRisorse" msprop:Generator_RelationVarName="relationFK_BdgtRisorseFasi_AnagTipoRisorse" msprop:Generator_UserParentTable="AnagTipoRisorse" msprop:Generator_ParentPropName="AnagTipoRisorseRow" />
<msdata:Relationship name="FK_LabelsComm_AnagLabels" msdata:parent="AnagLabels" msdata:child="LabelsComm" msdata:parentkey="CodLabel" msdata:childkey="CodLabel" msprop:Generator_UserChildTable="LabelsComm" msprop:Generator_ChildPropName="GetLabelsCommRows" msprop:Generator_UserRelationName="FK_LabelsComm_AnagLabels" msprop:Generator_ParentPropName="AnagLabelsRow" msprop:Generator_RelationVarName="relationFK_LabelsComm_AnagLabels" msprop:Generator_UserParentTable="AnagLabels" />
<msdata:Relationship name="AnagProgetti_AnagFasi" msdata:parent="AnagProgetti" msdata:child="AnagFasi" msdata:parentkey="idxProgetto" msdata:childkey="idxProgetto" msprop:Generator_UserChildTable="AnagFasi" msprop:Generator_ChildPropName="GetAnagFasiRows" msprop:Generator_UserRelationName="AnagProgetti_AnagFasi" msprop:Generator_ParentPropName="AnagProgettiRow" msprop:Generator_RelationVarName="relationAnagProgetti_AnagFasi" msprop:Generator_UserParentTable="AnagProgetti" />
<msdata:Relationship name="DatiCommessa_AnagFasi" msdata:parent="DatiCommessa" msdata:child="AnagFasi" msdata:parentkey="idxFase" msdata:childkey="idxFase" msprop:Generator_UserChildTable="AnagFasi" msprop:Generator_ChildPropName="GetAnagFasiRows" msprop:Generator_UserRelationName="DatiCommessa_AnagFasi" msprop:Generator_RelationVarName="relationDatiCommessa_AnagFasi" msprop:Generator_UserParentTable="DatiCommessa" msprop:Generator_ParentPropName="DatiCommessaRow" />
<msdata:Relationship name="DatiCommessa_DatiCommForn" msdata:parent="DatiCommessa" msdata:child="DatiCommForn" msdata:parentkey="idxFase" msdata:childkey="idxFase" msprop:Generator_UserChildTable="DatiCommForn" msprop:Generator_ChildPropName="GetDatiCommFornRows" msprop:Generator_UserRelationName="DatiCommessa_DatiCommForn" msprop:Generator_RelationVarName="relationDatiCommessa_DatiCommForn" msprop:Generator_UserParentTable="DatiCommessa" msprop:Generator_ParentPropName="DatiCommessaRow" />
<msdata:Relationship name="DatiCommessa_DatiCommInteg" msdata:parent="DatiCommessa" msdata:child="DatiCommInteg" msdata:parentkey="idxFase" msdata:childkey="idxFase" msprop:Generator_UserChildTable="DatiCommInteg" msprop:Generator_ChildPropName="GetDatiCommIntegRows" msprop:Generator_UserRelationName="DatiCommessa_DatiCommInteg" msprop:Generator_RelationVarName="relationDatiCommessa_DatiCommInteg" msprop:Generator_UserParentTable="DatiCommessa" msprop:Generator_ParentPropName="DatiCommessaRow" />
<msdata:Relationship name="AnagFasi_BdgtRisorseFasi" msdata:parent="AnagFasi" msdata:child="BdgtRisorseFasi" msdata:parentkey="idxFase" msdata:childkey="idxFase" msprop:Generator_UserChildTable="BdgtRisorseFasi" msprop:Generator_ChildPropName="GetBdgtRisorseFasiRows" msprop:Generator_UserRelationName="AnagFasi_BdgtRisorseFasi" msprop:Generator_RelationVarName="relationAnagFasi_BdgtRisorseFasi" msprop:Generator_UserParentTable="AnagFasi" msprop:Generator_ParentPropName="AnagFasiRow" />
<msdata:Relationship name="FK_BdgtRisorseFasi_AnagTipoRisorse" msdata:parent="AnagTipoRisorse" msdata:child="BdgtRisorseFasi" msdata:parentkey="CodTipoRisorsa" msdata:childkey="CodTipoRisorsa" msprop:Generator_UserChildTable="BdgtRisorseFasi" msprop:Generator_ChildPropName="GetBdgtRisorseFasiRows" msprop:Generator_UserRelationName="FK_BdgtRisorseFasi_AnagTipoRisorse" msprop:Generator_ParentPropName="AnagTipoRisorseRow" msprop:Generator_RelationVarName="relationFK_BdgtRisorseFasi_AnagTipoRisorse" msprop:Generator_UserParentTable="AnagTipoRisorse" />
<msdata:Relationship name="FK_LabelsComm_AnagLabels" msdata:parent="AnagLabels" msdata:child="LabelsComm" msdata:parentkey="CodLabel" msdata:childkey="CodLabel" msprop:Generator_UserChildTable="LabelsComm" msprop:Generator_ChildPropName="GetLabelsCommRows" msprop:Generator_UserRelationName="FK_LabelsComm_AnagLabels" msprop:Generator_RelationVarName="relationFK_LabelsComm_AnagLabels" msprop:Generator_UserParentTable="AnagLabels" msprop:Generator_ParentPropName="AnagLabelsRow" />
</xs:appinfo>
</xs:annotation>
</xs:schema>
+28 -27
View File
@@ -4,30 +4,31 @@
Changes to this file may cause incorrect behavior and will be lost if
the code is regenerated.
</autogenerated>-->
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="43" ViewPortY="373" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<DiagramLayout xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ex:showrelationlabel="False" ViewPortX="-10" ViewPortY="-9" xmlns:ex="urn:schemas-microsoft-com:xml-msdatasource-layout-extended" xmlns="urn:schemas-microsoft-com:xml-msdatasource-layout">
<Shapes>
<Shape ID="DesignTable:AnagProgetti" ZOrder="26" X="70" Y="36" Height="438" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" />
<Shape ID="DesignTable:AnagFasi" ZOrder="21" X="495" Y="56" Height="533" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="292" />
<Shape ID="DesignTable:DatiCommessa" ZOrder="20" X="876" Y="56" Height="552" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="482" />
<Shape ID="DesignTable:DatiCommForn" ZOrder="10" X="1185" Y="69" Height="248" Width="233" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:DatiCommInteg" ZOrder="22" X="1189" Y="378" Height="267" Width="237" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:AnagCommFasi" ZOrder="12" X="532" Y="600" Height="362" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:ElencoFasiExpl" ZOrder="18" X="851" Y="651" Height="343" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:BdgtRisorseFasi" ZOrder="9" X="290" Y="667" Height="248" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:AnagTipoRisorse" ZOrder="17" X="69" Y="501" Height="153" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:Dip2ATR" ZOrder="15" X="38" Y="1013" Height="153" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:Dipendenti" ZOrder="14" X="548" Y="971" Height="305" Width="209" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:BazaarRisorse" ZOrder="4" X="1208" Y="1055" Height="286" Width="212" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:ImpiegoRisorse" ZOrder="13" X="768" Y="1026" Height="286" Width="215" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="138" />
<Shape ID="DesignTable:ReleasedWeek" ZOrder="11" X="25" Y="1174" Height="172" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:ResocontoComm" ZOrder="8" X="285" Y="939" Height="305" Width="243" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:AnagLabels" ZOrder="7" X="1176" Y="658" Height="153" Width="250" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:LabelsComm" ZOrder="5" X="1182" Y="841" Height="191" Width="238" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:TLockBazRA" ZOrder="3" X="36" Y="770" Height="210" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:LogEmailBaz" ZOrder="1" X="994" Y="1027" Height="172" Width="184" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:AnagProgetti" ZOrder="27" X="70" Y="36" Height="438" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="273" />
<Shape ID="DesignTable:AnagFasi" ZOrder="22" X="495" Y="56" Height="533" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="292" />
<Shape ID="DesignTable:DatiCommessa" ZOrder="21" X="876" Y="56" Height="552" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="482" />
<Shape ID="DesignTable:DatiCommForn" ZOrder="11" X="1185" Y="69" Height="248" Width="233" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="197" />
<Shape ID="DesignTable:DatiCommInteg" ZOrder="23" X="1189" Y="378" Height="267" Width="237" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="216" />
<Shape ID="DesignTable:AnagCommFasi" ZOrder="13" X="532" Y="600" Height="362" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:ElencoFasiExpl" ZOrder="19" X="851" Y="651" Height="343" Width="300" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:BdgtRisorseFasi" ZOrder="10" X="290" Y="667" Height="248" Width="216" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="121" />
<Shape ID="DesignTable:AnagTipoRisorse" ZOrder="18" X="69" Y="501" Height="153" Width="242" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:Dip2ATR" ZOrder="16" X="38" Y="1013" Height="153" Width="196" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:Dipendenti" ZOrder="15" X="548" Y="971" Height="305" Width="209" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:BazaarRisorse" ZOrder="5" X="1208" Y="1055" Height="286" Width="212" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="159" />
<Shape ID="DesignTable:ImpiegoRisorse" ZOrder="14" X="768" Y="1026" Height="286" Width="215" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="138" />
<Shape ID="DesignTable:ReleasedWeek" ZOrder="12" X="25" Y="1174" Height="172" Width="228" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:ResocontoComm" ZOrder="9" X="285" Y="939" Height="305" Width="243" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="254" />
<Shape ID="DesignTable:AnagLabels" ZOrder="8" X="1176" Y="658" Height="153" Width="250" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:LabelsComm" ZOrder="6" X="1182" Y="841" Height="191" Width="238" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="64" />
<Shape ID="DesignTable:TLockBazRA" ZOrder="4" X="36" Y="770" Height="210" Width="231" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="83" />
<Shape ID="DesignTable:LogEmailBaz" ZOrder="2" X="994" Y="1027" Height="172" Width="184" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="102" />
<Shape ID="DesignTable:v_Commessa" ZOrder="1" X="310" Y="1380" Height="388" Width="257" AdapterExpanded="true" DataTableExpanded="true" OldAdapterHeight="0" OldDataTableHeight="0" SplitterPosition="306" />
</Shapes>
<Connectors>
<Connector ID="DesignRelation:AnagProgetti_AnagFasi" ZOrder="25" LineWidth="11">
<Connector ID="DesignRelation:AnagProgetti_AnagFasi" ZOrder="26" LineWidth="11">
<RoutePoints>
<Point>
<X>370</X>
@@ -39,7 +40,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:DatiCommessa_AnagFasi" ZOrder="24" LineWidth="11">
<Connector ID="DesignRelation:DatiCommessa_AnagFasi" ZOrder="25" LineWidth="11">
<RoutePoints>
<Point>
<X>876</X>
@@ -51,7 +52,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:DatiCommessa_DatiCommForn" ZOrder="23" LineWidth="11">
<Connector ID="DesignRelation:DatiCommessa_DatiCommForn" ZOrder="24" LineWidth="11">
<RoutePoints>
<Point>
<X>1107</X>
@@ -63,7 +64,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:DatiCommessa_DatiCommInteg" ZOrder="16" LineWidth="11">
<Connector ID="DesignRelation:DatiCommessa_DatiCommInteg" ZOrder="17" LineWidth="11">
<RoutePoints>
<Point>
<X>1107</X>
@@ -83,7 +84,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:AnagFasi_BdgtRisorseFasi" ZOrder="19" LineWidth="11">
<Connector ID="DesignRelation:AnagFasi_BdgtRisorseFasi" ZOrder="20" LineWidth="11">
<RoutePoints>
<Point>
<X>495</X>
@@ -99,7 +100,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_BdgtRisorseFasi_AnagTipoRisorse" ZOrder="2" LineWidth="11">
<Connector ID="DesignRelation:FK_BdgtRisorseFasi_AnagTipoRisorse" ZOrder="3" LineWidth="11">
<RoutePoints>
<Point>
<X>172</X>
@@ -115,7 +116,7 @@
</Point>
</RoutePoints>
</Connector>
<Connector ID="DesignRelation:FK_LabelsComm_AnagLabels" ZOrder="6" LineWidth="11">
<Connector ID="DesignRelation:FK_LabelsComm_AnagLabels" ZOrder="7" LineWidth="11">
<RoutePoints>
<Point>
<X>1298</X>
Binary file not shown.
@@ -24,8 +24,6 @@
0315-2016;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;0;8;8;8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0130-2016;;;;;;;;;;;;;;;;;;;;;;;;;;4;4;4;4;4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;8;8;8;8;0;8;0;0;8;;;;;;8;8;8;8;8;8;8;8;8;8;4;4;0;0;0;8;8;0;0;0;0;0;8;0;8;8;8;8;8;8;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0179-2017;;;;;;;;;;;;;;;;4;0;0;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8;0;0;0;0;;;;;;8;8;0;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0250-2017;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;0;4;0;8;;;;;;;;;;;4;0;0;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0251-2017;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0;4;0;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
0120-2017;;;;;;;;;;;;;;;;;;;;;4;4;0;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8;0;0;0;0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1 Numero commessa GLoc MBer MCug NRom MMol PBer LBen LBeg FOma VGhi MPel DZan MCar MBri EFac SFus GMic ARod FTom DTog SRig AFus Ggot MCro SBon AAlb MRat DCom CCar Mseg MCac CPin FBas CPiz RRot
24 0315-2016 0 0 8 8 8
25 0130-2016 4 4 4 4 4 0 8 8 8 8 0 8 0 0 8 8 8 8 8 8 8 8 8 8 8 4 4 0 0 0 8 8 0 0 0 0 0 8 0 8 8 8 8 8 8
26 0179-2017 4 0 0 0 0 8 0 0 0 0 8 8 0 0 0
0250-2017 0 0 4 0 8 4 0 0 0 0
0251-2017 0 4 0 0 0
27 0120-2017 4 4 0 0 0 8 0 0 0 0
28
29
+4 -3
View File
@@ -29,8 +29,8 @@
<add key="_titoloPagina" value="ETS, gestione Progetti Web" />
<add key="appName" value="PROJ-ETS" />
<add key="SiteName" value="ETS" />
<add key="mainRev" value="2.2.1" />
<add key="minRev" value="245" />
<add key="mainRev" value="2.3.1" />
<add key="minRev" value="290" />
<add key="stdEmail" value="samuele@steamware.net" />
<add key="_safePages" value="Default.aspx#unauthorized.aspx#forceUser.aspx#login.aspx#test.aspx#Test.aspx" />
<add key="testMode" value="true" />
@@ -55,7 +55,8 @@
<add key="codTipoRisorsaStd" value="DIS" />
<add key="oreBdgtStd" value="1" />
<!--gestione bazaar-->
<add key="bazCudPastEnabled" value="false" />
<add key="bazCudPastEnabled" value="true" />
<!--<add key="bazCudPastEnabled" value="false" />-->
<add key="soglia1" value="10" />
<add key="soglia2" value="20" />
<add key="soglia3" value="30" />
@@ -10,44 +10,58 @@
</div>
<div style="margin-top: 2em; font-size: 1.2em;">
<div class="row" style="margin: 2em 0;">
<div class="col-xs-4">
<div class="col-xs-3">
<b>Step 1 : Import File</b>
</div>
<div class="col-xs-4">
<div class="col-xs-6">
<uc1:mod_fileUpload runat="server" ID="mod_fileUpload" fileExt=".csv" />
</div>
<div class="col-xs-4 text-right">
<div class="col-xs-3 text-right">
separatore:&nbsp;<asp:TextBox runat="server" ID="txtCharSep" Text=";" />
</div>
</div>
<div class="row" style="margin: 2em 0;">
<div class="col-xs-4">
<div class="col-xs-3">
<b>Step 2 : Info File</b>
</div>
<div class="col-xs-8">
<div class="col-xs-9">
<asp:Label runat="server" ID="lblStep02" />
</div>
</div>
<div class="row" style="margin: 2em 0;">
<div class="col-xs-4">
<div class="col-xs-3">
<b>Step 3 : Verifica commesse e risorse</b>
</div>
<div class="col-xs-8">
<div class="col-xs-9">
<asp:Label runat="server" ID="lblStep03" />
</div>
</div>
<div class="row" style="margin: 2em 0;">
<div class="col-xs-4">
<div class="col-xs-3">
<b>Step 4: Conferma</b>
</div>
<div class="col-xs-4">
<asp:LinkButton runat="server" ID="lbtShow" Text="Mostra anteprima" OnClick="lbtShow_Click" CssClass="btn btn-info" />
<div id="divPreview" runat="server" visible="false">
<div class="col-xs-3">
<asp:LinkButton runat="server" ID="lbtShow" Text="Mostra anteprima dati" OnClick="lbtShow_Click" CssClass="btn btn-info" />
<div id="divPreview" runat="server" visible="false" class="bg-info">
<asp:Label runat="server" ID="lblStep04" />
</div>
</div>
<div class="col-xs-4">
<asp:LinkButton runat="server" ID="lbtConferma" CssClass="btn btn-warning" Visible="false">Carica dati <i class="fa fa-plus" aria-hidden="true"></i></asp:LinkButton>
<div class="col-xs-3">
<asp:LinkButton runat="server" ID="lbtShowErr" Text="Mostra anteprima ERRORI" CssClass="btn btn-danger" OnClick="lbtShowErr_Click" />
<div id="divErr" runat="server" visible="false" class="bg-danger">
<asp:Label runat="server" ID="lblErr" />
</div>
</div>
<div class="col-xs-3">
<asp:LinkButton runat="server" ID="lbtConferma" CssClass="btn btn-warning" Visible="false" OnClick="lbtConferma_Click">Carica dati <i class="fa fa-plus" aria-hidden="true"></i></asp:LinkButton>
</div>
</div>
<div class="row" style="margin: 2em 0;">
<div class="col-xs-3">
<b>Step 5: Esito</b>
</div>
<div class="col-xs-9">
<h3><asp:Label runat="server" ID="lblOut" /></h3>
</div>
</div>
</div>
@@ -23,13 +23,35 @@ namespace PROJ_ETS.WebUserControls
/// Elenco allocazioni risorse...
/// </summary>
public List<allocRis> elAllocazioni;
/// <summary>
/// Oggetto elenco commesse
/// </summary>
public Ds_ProjEts.v_CommessaDataTable tabComm;
/// <summary>
/// Oggetto elenco dipendenti
/// </summary>
public Ds_ProjEts.DipendentiDataTable tabDip;
/// <summary>
/// Anno minimo da recuperare x commesse
/// </summary>
public int minYear = 0;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
// inizializzo...
lblStep02.Text = "";
lblStep03.Text = "";
lblStep04.Text = "";
lblErr.Text = "";
lblOut.Text = "";
lbtShow.Visible = false;
lbtShowErr.Visible = false;
elRisorse = new List<string>();
elCommesse = new List<string>();
elAllocazioni = new List<allocRis>();
minYear = DateTime.Today.Year;
}
mod_fileUpload.eh_fileCaricato += Mod_fileUpload_eh_fileCaricato;
mod_fileUpload.eh_error += Mod_fileUpload_eh_error;
@@ -81,9 +103,15 @@ namespace PROJ_ETS.WebUserControls
elRisorse = new List<string>();
elCommesse = new List<string>();
elAllocazioni = new List<allocRis>();
int numErrRis = 0;
int numErrCom = 0;
lblStep02.Text = "";
lblStep03.Text = "";
lblStep04.Text = "";
lblOut.Text = "";
lblErr.Text = "";
lbtShow.Visible = false;
lbtShowErr.Visible = false;
// inizio processing...
lblStep02.Text = string.Format("Caricato il file <b>{0}</b>.", mod_fileUpload.nomeFile);
// ora lo leggo e verifico
@@ -91,51 +119,85 @@ namespace PROJ_ETS.WebUserControls
string fileName = string.Format(@"{0}\{1}", mod_fileUpload.folderPath, mod_fileUpload.nomeFile);
string linea;
totRighe = File.ReadLines(fileName).Count();
// carica da file...
System.IO.StreamReader file = new System.IO.StreamReader(fileName);
// leggo 1 linea alla volta...
int numRiga = 0;
while ((linea = file.ReadLine()) != null)
if (totRighe > 0)
{
// se è la prima riga LEGGO INTESTAZIONE...
if (numRiga == 0)
lbtShow.Visible = true;
// carica da file...
System.IO.StreamReader file = new System.IO.StreamReader(fileName);
// leggo 1 linea alla volta...
int numRiga = 0;
while ((linea = file.ReadLine()) != null)
{
decodeRisorse(linea, charSep);
numRiga++;
// se è la prima riga LEGGO INTESTAZIONE...
if (numRiga == 0)
{
decodeRisorse(linea, charSep);
numRiga++;
}
else
{
// SE non è un commento...
if (linea.Substring(0, 1) != "#")
{
decodeCommessa(linea, charSep);
numRiga++;
}
}
}
// chiudo file
file.Close();
// recupero elenco dipendenti...
tabDip = DataProxy_ProjEts.DP.taDip.GetData();
// recupero elenco commesse...
tabComm = DataProxy_ProjEts.DP.taVComm.getByYearMin(minYear);
// controllo tutti i dipendenti rilevati..
foreach (var item in elRisorse)
{
// verifico SE ci sia tra i dipendenti...
if (tabDip.Select(string.Format("codHw ='{0}'", item)).Length == 0)
{
numErrRis++;
lblErr.Text += string.Format("KO Risorsa: <b>{0}</b><br/>", item);
lbtShowErr.Visible = true;
}
}
//controllo le commesse rilevate
foreach (var item in elCommesse)
{
// verifico SE ci sia tra i dipendenti...
if (tabComm.Select(string.Format("nomeFase ='{0}'", item)).Length == 0)
{
numErrCom++;
lblErr.Text += string.Format("KO Commessa: <b>{0}</b><br/>", item);
lbtShowErr.Visible = true;
}
}
// mostro risultato lettura
lblStep03.Text += string.Format("Righe file: {0}<br/>", totRighe);
lblStep03.Text += string.Format("Num Risorse: {0} (<b>{1}</b> errori)<br/>", elRisorse.Count, numErrRis);
lblStep03.Text += string.Format("Num Commesse: {0} (<b>{1}</b> errori)<br/>", elCommesse.Count, numErrCom);
lblStep03.Text += string.Format("Num allocazioni schedulate: {0}<br/>", elAllocazioni.Count);
// salvo allocazioni riconosciute
foreach (var item in elAllocazioni)
{
lblStep04.Text += string.Format("{0} | {1} | {2:00000}<br/>", item.commessa, item.risorsa, item.allocazione);
}
// se passano i controlli mostro pulsante carica...
if (numErrCom == 0)
{
lbtConferma.Visible = true;
}
else
{
// SE non è un commento...
if (linea.Substring(0, 1) != "#")
{
decodeCommessa(linea, charSep);
numRiga++;
}
lbtConferma.Visible = false;
}
}
// chiudo file
file.Close();
// mostro risultato lettura
lblStep03.Text += string.Format("Righe file: {0}<br/>", totRighe);
lblStep03.Text += string.Format("Num Risorse: {0}<br/>", elRisorse.Count);
lblStep03.Text += string.Format("Num Commesse: {0} (check bloccante)<br/>", elCommesse.Count);
lblStep03.Text += string.Format("Num allocazioni schedulate: {0}<br/>", elAllocazioni.Count);
if (false)
{
lblStep03.Text += string.Format("Risorse non riconosciute: {0}<br/>", totRighe);
}
foreach (var item in elAllocazioni)
{
lblStep04.Text += string.Format("{0} | {1} | {2:00000}<br/>", item.commessa, item.risorsa, item.allocazione);
}
// se passano i controlli mostro pulsante carica...
if (true)
{
lbtConferma.Visible = true;
}
else
{
lbtConferma.Visible = false;
lblStep03.Text += "<b>Errore!</b> file vuoto";
}
}
@@ -172,10 +234,19 @@ namespace PROJ_ETS.WebUserControls
{
string[] valori = linea.Split(separator);
int _allocazione = 0;
int annoC = 0;
// la prima è la commessa, poi allocazioni giornaliere a blocchi di 5... SE c'è (!="")
if (valori[0] != "")
{
elCommesse.Add(valori[0]);
// verifico anno minimo...
try
{
annoC = Convert.ToInt32(valori[0].Split('-')[1]);
minYear = annoC < minYear ? annoC : minYear;
}
catch
{ }
// ciclo a blocchi di 5 sull'elenco risorse...
for (int i = 0; i < elRisorse.Count; i++)
{
@@ -301,13 +372,48 @@ namespace PROJ_ETS.WebUserControls
protected void lbtShow_Click(object sender, EventArgs e)
{
divPreview.Visible = !divPreview.Visible;
if(divPreview.Visible)
if (divPreview.Visible)
{
lbtShow.Text = "Nascondi Anteprima";
lbtShow.Text = "Nascondi Anteprima Dati";
}
else
{
lbtShow.Text = "Mostra Anteprima";
lbtShow.Text = "Mostra Anteprima Dati";
}
}
protected void lbtShowErr_Click(object sender, EventArgs e)
{
divErr.Visible = !divErr.Visible;
if (divErr.Visible)
{
lbtShowErr.Text = "Nascondi Anteprima ERRORI";
}
else
{
lbtShowErr.Text = "Mostra Anteprima ERRORI";
}
}
/// <summary>
/// Effettua caricamento dati
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void lbtConferma_Click(object sender, EventArgs e)
{
// verifico periodo sia ok (FUTURO...)
if (cudEnabled)
{
// elimino eventuali vecchi dati
// effettuo caricamento dati!
// mostro esito
lblOut.Text = "OK! dati caricati";
}
else
{
lblOut.Text = "Errore: impossibile caricare i dati sulla settimana indicata (periodo protetto)";
}
}
}
@@ -84,6 +84,33 @@ namespace PROJ_ETS.WebUserControls {
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblStep04;
/// <summary>
/// Controllo lbtShowErr.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtShowErr;
/// <summary>
/// Controllo divErr.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.HtmlControls.HtmlGenericControl divErr;
/// <summary>
/// Controllo lblErr.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblErr;
/// <summary>
/// Controllo lbtConferma.
/// </summary>
@@ -92,5 +119,14 @@ namespace PROJ_ETS.WebUserControls {
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.LinkButton lbtConferma;
/// <summary>
/// Controllo lblOut.
/// </summary>
/// <remarks>
/// Campo generato automaticamente.
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
/// </remarks>
protected global::System.Web.UI.WebControls.Label lblOut;
}
}
Binary file not shown.
Binary file not shown.