Assegnazione gruppi e tipo risorsa da dropdown
This commit is contained in:
Binary file not shown.
+307
-284
@@ -5,136 +5,220 @@ 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>
|
||||
/// init dei table adapters
|
||||
/// classe proxy dati x PROJ-ETS
|
||||
/// </summary>
|
||||
protected void initTA()
|
||||
public class DataProxy_ProjEts
|
||||
{
|
||||
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 */
|
||||
|
||||
#endregion
|
||||
#region Protected Fields
|
||||
|
||||
protected DataProxy_ProjEts()
|
||||
{
|
||||
initTA();
|
||||
setupConnectionStringBase();
|
||||
}
|
||||
/// <summary>
|
||||
/// Singleton accesso a DataProxy
|
||||
/// </summary>
|
||||
public static DataProxy_ProjEts DP = new DataProxy_ProjEts();
|
||||
protected Ds_ProjEts.BazaarRisorseDataTable tabBazSingle = new Ds_ProjEts.BazaarRisorseDataTable();
|
||||
protected DS_utilsProjEts.v_selCommesseDataTable tabComm = new DS_utilsProjEts.v_selCommesseDataTable();
|
||||
protected Ds_ProjEts.Dip2ATRDataTable tabD2ATR = new Ds_ProjEts.Dip2ATRDataTable();
|
||||
protected Ds_ProjEts.DipendentiDataTable tabDip = new Ds_ProjEts.DipendentiDataTable();
|
||||
|
||||
#region utility public esposte
|
||||
#endregion Protected Fields
|
||||
|
||||
#region Public Fields
|
||||
|
||||
/// <summary>
|
||||
/// idxDipendente in sessione
|
||||
/// </summary>
|
||||
public static int idxDipendente
|
||||
{
|
||||
get
|
||||
{
|
||||
int idx = 0;
|
||||
try
|
||||
/// <summary>
|
||||
/// Singleton accesso a DataProxy
|
||||
/// </summary>
|
||||
public static DataProxy_ProjEts DP = new DataProxy_ProjEts();
|
||||
|
||||
public Ds_ProjEtsTableAdapters.AnagFasiTableAdapter taAF;
|
||||
public Ds_ProjEtsTableAdapters.AnagLabelsTableAdapter taAL;
|
||||
public Ds_ProjEtsTableAdapters.AnagProgettiTableAdapter taAP;
|
||||
public Ds_ProjEtsTableAdapters.AnagTipoRisorseTableAdapter taATR;
|
||||
public Ds_ProjEtsTableAdapters.BazaarRisorseTableAdapter taBaz;
|
||||
public Ds_ProjEtsTableAdapters.BdgtRisorseFasiTableAdapter taBRF;
|
||||
public Ds_ProjEtsTableAdapters.Dip2ATRTableAdapter taD2ATR;
|
||||
public Ds_ProjEtsTableAdapters.DatiCommessaTableAdapter taDC;
|
||||
public Ds_ProjEtsTableAdapters.DatiCommFornTableAdapter taDCF;
|
||||
public Ds_ProjEtsTableAdapters.DatiCommIntegTableAdapter taDCI;
|
||||
public Ds_ProjEtsTableAdapters.DipendentiTableAdapter taDip;
|
||||
public DS_utilsProjEtsTableAdapters.v_FattureETSTableAdapter taFattETS;
|
||||
public Ds_ProjEtsTableAdapters.ImpiegoRisorseTableAdapter taIR;
|
||||
public Ds_ProjEtsTableAdapters.LabelsCommTableAdapter taL2C;
|
||||
public Ds_ProjEtsTableAdapters.LogEmailBazTableAdapter taLEB;
|
||||
public Ds_ProjEtsTableAdapters.ReleasedWeekTableAdapter taReW;
|
||||
public DS_utilsProjEtsTableAdapters.v_selClientiTableAdapter taSelCli;
|
||||
public DS_utilsProjEtsTableAdapters.v_selCommesseTableAdapter taSelCom;
|
||||
public DS_utilsProjEtsTableAdapters.v_selFornitoriClaTableAdapter taSelForn;
|
||||
public DS_utilsProjEtsTableAdapters.v_selProgettiTableAdapter taSelPro;
|
||||
public Ds_ProjEtsTableAdapters.TLockBazRATableAdapter taTLB;
|
||||
public Ds_ProjEtsTableAdapters.v_CommessaTableAdapter taVComm;
|
||||
|
||||
#endregion Public Fields
|
||||
|
||||
/* DS_utilsProjEts */
|
||||
|
||||
#region Protected Constructors
|
||||
|
||||
protected DataProxy_ProjEts()
|
||||
{
|
||||
idx = utils.obj.IntSessionObj("IdxDipendente");
|
||||
initTA();
|
||||
setupConnectionStringBase();
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return idx;
|
||||
}
|
||||
set
|
||||
{
|
||||
utils.obj.setSessionVal("idxDipendente", value);
|
||||
}
|
||||
}
|
||||
|
||||
public string CognomeNomeByIdx(int idxDip)
|
||||
{
|
||||
string answ = "";
|
||||
#endregion Protected Constructors
|
||||
|
||||
#region Public Properties
|
||||
|
||||
/// <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);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion Public Properties
|
||||
|
||||
#region Protected Methods
|
||||
|
||||
/// <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> <b>{1}</b></td></tr>", utils.trimChar(rigaComm.label, utils.obj.confReadInt("maxCharNomeComm")), riga.SchemaWeek);
|
||||
}
|
||||
// aggiungo spaziatura
|
||||
answ += "<br/><br/>";
|
||||
|
||||
return answ;
|
||||
}
|
||||
|
||||
/// <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>
|
||||
/// init dei table adapters
|
||||
/// </summary>
|
||||
protected void initTA()
|
||||
{
|
||||
taAF = new Ds_ProjEtsTableAdapters.AnagFasiTableAdapter();
|
||||
taAL = new Ds_ProjEtsTableAdapters.AnagLabelsTableAdapter();
|
||||
taAP = new Ds_ProjEtsTableAdapters.AnagProgettiTableAdapter();
|
||||
taATR = new Ds_ProjEtsTableAdapters.AnagTipoRisorseTableAdapter();
|
||||
taDC = new Ds_ProjEtsTableAdapters.DatiCommessaTableAdapter();
|
||||
taDCF = new Ds_ProjEtsTableAdapters.DatiCommFornTableAdapter();
|
||||
taDCI = new Ds_ProjEtsTableAdapters.DatiCommIntegTableAdapter();
|
||||
taBRF = new Ds_ProjEtsTableAdapters.BdgtRisorseFasiTableAdapter();
|
||||
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
|
||||
taAF.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
|
||||
taAL.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
|
||||
taAP.Connection.ConnectionString = utils.obj.confReadString("ETS_PROJConnectionString");
|
||||
taATR.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");
|
||||
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");
|
||||
}
|
||||
|
||||
#endregion Protected Methods
|
||||
|
||||
#region Public Methods
|
||||
|
||||
public string CognomeNomeByIdx(int idxDip)
|
||||
{
|
||||
string answ = "";
|
||||
#if false
|
||||
try
|
||||
{
|
||||
@@ -142,178 +226,117 @@ namespace ETS_Data
|
||||
answ = string.Format("{0} {1}", rigaDip.Cognome, rigaDip.Nome);
|
||||
}
|
||||
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;
|
||||
return answ;
|
||||
}
|
||||
|
||||
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
|
||||
/// <summary>
|
||||
/// calcola se una commessa sia attiva (da idxFase)
|
||||
/// </summary>
|
||||
/// <param name="idxFase"></param>
|
||||
/// <returns></returns>
|
||||
public bool commessaAttiva(int idxFase)
|
||||
{
|
||||
// invio email con link + resoconto breve impegno settimanale
|
||||
utils.gestEmail.geAuth.mandaEmail(fromEmail, toEmail, oggettoEmail, corpoEmail);
|
||||
inviate++;
|
||||
bool answ = false;
|
||||
try
|
||||
{
|
||||
answ = taAF.getByIdx(idxFase)[0].Attivo;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
|
||||
if (utils.obj.confReadBool("testMode") && inviate > 5)
|
||||
/// <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)
|
||||
{
|
||||
answ = true;
|
||||
return answ;
|
||||
bool answ = false;
|
||||
try
|
||||
{
|
||||
taBaz.copy2GPW(anno, settimana, UsernameAD);
|
||||
answ = true;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
|
||||
answ = inviate > 0; // controlla che ALMENO 1 email sia stata inviata...
|
||||
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;
|
||||
}
|
||||
|
||||
#endregion Public Methods
|
||||
}
|
||||
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> <b>{1}</b></td></tr>", utils.trimChar(rigaComm.label, utils.obj.confReadInt("maxCharNomeComm")), riga.SchemaWeek);
|
||||
}
|
||||
// aggiungo spaziatura
|
||||
answ += "<br/><br/>";
|
||||
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -32,8 +32,23 @@
|
||||
<asp:LinkButton ID="lbDelete" runat="server" CausesValidation="False" CommandName="Delete" Text="Delete" CssClass="btn btn-sm btn-danger text-light" OnClientClick="return confirm('Confermi eliminazione record?')" Visible='<%# Eval("NumDip").ToString() == "0" %>'><i class="fa fa-trash" aria-hidden="true"></i></asp:LinkButton>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>--%>
|
||||
<asp:BoundField DataField="CodTipoRisorsa" HeaderText="Tipo" SortExpression="CodTipoRisorsa" />
|
||||
<asp:BoundField DataField="Gruppo" HeaderText="Gruppo" SortExpression="Gruppo" />
|
||||
<asp:TemplateField HeaderText="Tipo" SortExpression="CodTipoRisorsa">
|
||||
<EditItemTemplate>
|
||||
<asp:DropDownList runat="server" ID="ddlTipoRisorsa" DataSourceID="odsTipoRis" DataTextField="CodTipoRisorsa" DataValueField="CodTipoRisorsa" SelectedValue='<%# Bind("CodTipoRisorsa") %>'></asp:DropDownList>
|
||||
</EditItemTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="lblCodTipoRisorsa" runat="server" Text='<%# Bind("CodTipoRisorsa") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:TemplateField HeaderText="Gruppo" SortExpression="Gruppo">
|
||||
<EditItemTemplate>
|
||||
<%--<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Gruppo") %>'></asp:TextBox>--%>
|
||||
<asp:DropDownList runat="server" ID="ddlGruppo" DataSourceID="odsGruppo" DataTextField="Gruppo" DataValueField="Gruppo" SelectedValue='<%# Bind("Gruppo") %>'></asp:DropDownList>
|
||||
</EditItemTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Gruppo") %>'></asp:Label>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="GrpOrder" HeaderText="Ord." SortExpression="GrpOrder" />
|
||||
<asp:BoundField DataField="Cognome" HeaderText="Cognome" SortExpression="Cognome" ReadOnly="True" />
|
||||
<asp:BoundField DataField="Nome" HeaderText="Nome" SortExpression="Nome" ReadOnly="True" />
|
||||
@@ -53,4 +68,6 @@
|
||||
<asp:Parameter Name="Original_idxDipendente" Type="Int32" />
|
||||
</UpdateParameters>
|
||||
</asp:ObjectDataSource>
|
||||
<asp:HiddenField runat="server" ID="hfGruppo" Value="" />
|
||||
<asp:HiddenField runat="server" ID="hfGruppo" Value="" />
|
||||
<asp:ObjectDataSource runat="server" ID="odsTipoRis" OldValuesParameterFormatString="Original_{0}" SelectMethod="GetData" TypeName="ETS_Data.Ds_ProjEtsTableAdapters.AnagTipoRisorseTableAdapter"></asp:ObjectDataSource>
|
||||
<asp:ObjectDataSource runat="server" ID="odsGruppo" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="ETS_Data.Ds_ProjEtsTableAdapters.AnagGruppiTableAdapter"></asp:ObjectDataSource>
|
||||
@@ -40,5 +40,23 @@ namespace PROJ_ETS.WebUserControls
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.HiddenField hfGruppo;
|
||||
|
||||
/// <summary>
|
||||
/// odsTipoRis control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ObjectDataSource odsTipoRis;
|
||||
|
||||
/// <summary>
|
||||
/// odsGruppo control.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Auto-generated field.
|
||||
/// To modify move field declaration from designer file to code-behind file.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ObjectDataSource odsGruppo;
|
||||
}
|
||||
}
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user