diff --git a/ETS-DIP/ETS-WS/obj/Debug/ETS-DIP.csproj.AssemblyReference.cache b/ETS-DIP/ETS-WS/obj/Debug/ETS-DIP.csproj.AssemblyReference.cache index 02a6d15..d838d78 100644 Binary files a/ETS-DIP/ETS-WS/obj/Debug/ETS-DIP.csproj.AssemblyReference.cache and b/ETS-DIP/ETS-WS/obj/Debug/ETS-DIP.csproj.AssemblyReference.cache differ diff --git a/ETS_Data/DataProxy_ProjEts.cs b/ETS_Data/DataProxy_ProjEts.cs index b188007..522d1cc 100644 --- a/ETS_Data/DataProxy_ProjEts.cs +++ b/ETS_Data/DataProxy_ProjEts.cs @@ -5,136 +5,220 @@ using System.Text; namespace ETS_Data { - /// - /// classe proxy dati x PROJ-ETS - /// - 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; - /// - /// init dei table adapters + /// classe proxy dati x PROJ-ETS /// - 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(); - } - /// - /// effettua setup dei connection strings da web.config delal singola applicazione - /// - 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(); - } - /// - /// Singleton accesso a DataProxy - /// - 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 - /// - /// idxDipendente in sessione - /// - public static int idxDipendente - { - get - { - int idx = 0; - try + /// + /// Singleton accesso a DataProxy + /// + 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 + + /// + /// idxDipendente in sessione + /// + 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 + + /// + /// Formatta blocco impegno x dipendente x una specifica data + /// + /// identificativo dipendente + /// anno di riferimento + /// settimana desiderata + /// shift (add) da applicare con base lunedì (0..4) + /// + 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("{0:dd.MM.yyyy} {0:dddd}", 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("{0} {1}", utils.trimChar(rigaComm.label, utils.obj.confReadInt("maxCharNomeComm")), riga.SchemaWeek); + } + // aggiungo spaziatura + answ += "

"; + + return answ; + } + + /// + /// Formatta blocco impegni del dipendente x la settimana indicata + /// + /// identificativo dipendente + /// anno di riferimento + /// settimana desiderata + /// + protected string getAgendDip(int idxDipendente, int anno, int sett) + { + //default + string answ = ""; + // inizio a comporre tabella utente + answ += ""; + // 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 += "
"; + // restituisco risultato + return answ; + } + + /// + /// init dei table adapters + /// + 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(); + } + + /// + /// effettua setup dei connection strings da web.config delal singola applicazione + /// + 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; - } - /// - /// calcola se una commessa sia attiva (da idxFase) - /// - /// - /// - public bool commessaAttiva(int idxFase) - { - bool answ = false; - try - { - answ = taAF.getByIdx(idxFase)[0].Attivo; - } - catch - { } - return answ; - } - /// - /// effettua export su GPW dei singoli dipendenti delle ore programmate x la settimana indicata - /// - /// anno - /// num settimana 1-53 - /// Utente che congela la settimana - /// - public bool esportaBazaarSuGPW(int anno, int settimana, string UsernameAD) - { - bool answ = false; - try - { - taBaz.copy2GPW(anno, settimana, UsernameAD); - answ = true; - } - catch - { } - return answ; - } - - /// - /// invia email ai singoli dipendenti delle ore programmate x la settimana indicata con link a bazaar - /// - /// anno - /// num settimana 1-53 - /// - 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 = "
"; - 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 = "
PROJ-ETS
"; - corpoEmail += string.Format(utils.obj.confReadString("emailBaz_body_Head") + " {1:00}/{0} - {2} {3}", anno, settimana, rigaDip.Cognome, rigaDip.Nome) + aCapo + aCapo; - corpoEmail += string.Format(@"{1}", 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 += "" + utils.obj.confReadString("emailBaz_body_Firma") + ""; - try + /// + /// calcola se una commessa sia attiva (da idxFase) + /// + /// + /// + 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) + /// + /// effettua export su GPW dei singoli dipendenti delle ore programmate x la settimana indicata + /// + /// anno + /// num settimana 1-53 + /// Utente che congela la settimana + /// + 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; + /// + /// invia email ai singoli dipendenti delle ore programmate x la settimana indicata con link a bazaar + /// + /// anno + /// num settimana 1-53 + /// + 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 = "
"; + 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 = "
PROJ-ETS
"; + corpoEmail += string.Format(utils.obj.confReadString("emailBaz_body_Head") + " {1:00}/{0} - {2} {3}", anno, settimana, rigaDip.Cognome, rigaDip.Nome) + aCapo + aCapo; + corpoEmail += string.Format(@"{1}", 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 += "" + utils.obj.confReadString("emailBaz_body_Firma") + ""; + 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(); - /// - /// Formatta blocco impegni del dipendente x la settimana indicata - /// - /// identificativo dipendente - /// anno di riferimento - /// settimana desiderata - /// - protected string getAgendDip(int idxDipendente, int anno, int sett) - { - //default - string answ = ""; - // inizio a comporre tabella utente - answ += ""; - // 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 += "
"; - // restituisco risultato - return answ; - } - /// - /// Formatta blocco impegno x dipendente x una specifica data - /// - /// identificativo dipendente - /// anno di riferimento - /// settimana desiderata - /// shift (add) da applicare con base lunedì (0..4) - /// - 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("{0:dd.MM.yyyy} {0:dddd}", 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("{0} {1}", utils.trimChar(rigaComm.label, utils.obj.confReadInt("maxCharNomeComm")), riga.SchemaWeek); - } - // aggiungo spaziatura - answ += "

"; - - return answ; - } - - #endregion - } -} +} \ No newline at end of file diff --git a/PROJ-ETS/PROJ-ETS/WebUserControls/mod_Dip2Atr.ascx b/PROJ-ETS/PROJ-ETS/WebUserControls/mod_Dip2Atr.ascx index 02f7434..94d64bb 100644 --- a/PROJ-ETS/PROJ-ETS/WebUserControls/mod_Dip2Atr.ascx +++ b/PROJ-ETS/PROJ-ETS/WebUserControls/mod_Dip2Atr.ascx @@ -32,8 +32,23 @@ --%> - - + + + + + + + + + + + <%----%> + + + + + + @@ -53,4 +68,6 @@ - \ No newline at end of file + + + \ No newline at end of file diff --git a/PROJ-ETS/PROJ-ETS/WebUserControls/mod_Dip2Atr.ascx.designer.cs b/PROJ-ETS/PROJ-ETS/WebUserControls/mod_Dip2Atr.ascx.designer.cs index 70aa616..d7c4d06 100644 --- a/PROJ-ETS/PROJ-ETS/WebUserControls/mod_Dip2Atr.ascx.designer.cs +++ b/PROJ-ETS/PROJ-ETS/WebUserControls/mod_Dip2Atr.ascx.designer.cs @@ -40,5 +40,23 @@ namespace PROJ_ETS.WebUserControls /// To modify move field declaration from designer file to code-behind file. /// protected global::System.Web.UI.WebControls.HiddenField hfGruppo; + + /// + /// odsTipoRis control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.ObjectDataSource odsTipoRis; + + /// + /// odsGruppo control. + /// + /// + /// Auto-generated field. + /// To modify move field declaration from designer file to code-behind file. + /// + protected global::System.Web.UI.WebControls.ObjectDataSource odsGruppo; } } diff --git a/PROJ-ETS/PROJ-ETS/bin/ETS_Data.dll b/PROJ-ETS/PROJ-ETS/bin/ETS_Data.dll index 1c077a4..83b717d 100644 Binary files a/PROJ-ETS/PROJ-ETS/bin/ETS_Data.dll and b/PROJ-ETS/PROJ-ETS/bin/ETS_Data.dll differ diff --git a/PROJ-ETS/PROJ-ETS/bin/PROJ-ETS.dll b/PROJ-ETS/PROJ-ETS/bin/PROJ-ETS.dll index abed843..ea3d4d7 100644 Binary files a/PROJ-ETS/PROJ-ETS/bin/PROJ-ETS.dll and b/PROJ-ETS/PROJ-ETS/bin/PROJ-ETS.dll differ