示例#1
0
        //-------------------------------------------------------------------
        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);
        }
示例#2
0
        //-------------------------------------------------------------------
        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);
        }
示例#3
0
        ///------------------------------------------------------------------------
        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();
 }