//------------------------------------------------------------------- public override CResultAErreur TraitementAvantSauvegarde(CContexteDonnee contexte) { CResultAErreur result = base.TraitementAvantSauvegarde(contexte); if (!result) { return(result); } DataTable table = contexte.Tables[GetNomTable()]; if (table == null) { return(result); } ArrayList lstRows = new ArrayList(table.Rows); foreach (DataRow row in lstRows) { if (row.RowState == DataRowState.Modified || row.RowState == DataRowState.Added) { CActiviteActeurResume resume = new CActiviteActeurResume(row); bool bOriginalReadOnly = false; if (row.RowState == DataRowState.Modified) { DataRowVersion versionSave = resume.VersionToReturn; resume.VersionToReturn = DataRowVersion.Original; bOriginalReadOnly = resume.ReadOnly; resume.VersionToReturn = versionSave; } if (resume.ReadOnly && bOriginalReadOnly) { result.EmpileErreur(I.T("The Member Activity Summary for : @1, at @2 cannot be modified (set to Read Only)|10001", resume.Acteur.IdentiteCompleteAmelioree, resume.Date.ToString("d"))); return(result); } if (resume.Activites.Count == 0) { result = resume.Delete(); if (!result) { return(result); } } } } return(result); }
//------------------------------------------------------------------- public override CResultAErreur VerifieDonnees(CObjetDonnee objet) { CResultAErreur result = CResultAErreur.True; try { CActiviteActeurResume ActiviteActeurResume = (CActiviteActeurResume)objet; } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }
///------------------------------------------------------------------------ public override CResultAErreur TraitementAvantSauvegarde(CContexteDonnee contexte) { CResultAErreur result = base.TraitementAvantSauvegarde(contexte); if (!result) { return(result); } DataTable table = contexte.Tables[GetNomTable()]; if (table == null) { return(result); } ArrayList lstRows = new ArrayList(table.Rows); Dictionary <CActiviteActeurResume, bool> listeARecalculer = new Dictionary <CActiviteActeurResume, bool>(); foreach (DataRow row in lstRows) { if (row.RowState != DataRowState.Unchanged) { CActiviteActeur activite = new CActiviteActeur(row); CActiviteActeurResume resume = null; if (row.RowState == DataRowState.Deleted) { DataRowVersion saveVersion = activite.VersionToReturn; activite.VersionToReturn = DataRowVersion.Original; resume = activite.ResumeActivite; if (resume != null && resume.IsValide()) { listeARecalculer[resume] = true; } activite.VersionToReturn = saveVersion; } else { resume = activite.ResumeActivite; if (resume != null) { listeARecalculer[resume] = true; if (resume.Date.Date != activite.Date.Date) { resume = null; } } if (resume == null) { //Cherche une activite pour cet acteur et ce jour resume = new CActiviteActeurResume(contexte); if (!resume.ReadIfExists(new CFiltreData( CActiviteActeurResume.c_champDate + ">=@1 and " + CActiviteActeurResume.c_champDate + "<@2 and " + CActeur.c_champId + "=@3", activite.Date.Date, activite.Date.Date.AddDays(1), activite.Acteur.Id))) { resume = new CActiviteActeurResume(contexte); resume.CreateNewInCurrentContexte(); resume.Acteur = activite.Acteur; resume.Date = activite.Date.Date; } activite.SetResumeAssocie(resume); listeARecalculer[resume] = true; } } } } // Recalcul le cumul des heures des Activités résumés foreach (CActiviteActeurResume resume in listeARecalculer.Keys) { resume.Recalc(); } return(result); }
//------------------------------------------------------------------------- public CFormEditionActiviteActeurResume(CActiviteActeurResume ActiviteActeurResume, CListeObjetsDonnees liste) : base(ActiviteActeurResume, liste) { // Cet appel est requis par le Concepteur Windows Form. InitializeComponent(); }