Exemplo n.º 1
0
        ////////////////////////////////////////////////////////////////////
        public static void PropagerCDonneesActeurClient(CContexteDonnee contexte, Hashtable tableData, ref CResultAErreur result)
        {
            DataTable dt = contexte.Tables[CDonneesActeurClient.c_nomTable];

            if (dt != null)
            {
                ArrayList  rows = new ArrayList(dt.Rows);
                CSpvClient spvClient;

                foreach (DataRow row in rows)
                {
                    if (row.RowState != DataRowState.Unchanged)
                    {
                        CDonneesActeurClient client = new CDonneesActeurClient(row);
                        switch (row.RowState)
                        {
                        case DataRowState.Added:
                        case DataRowState.Modified:
                            spvClient = CSpvClient.GetObjetSpvFromObjetTimosAvecCreation(client);
                            if (spvClient != null)
                            {
                                spvClient.CopyFromObjetTimos(client);
                            }
                            break;

                        case DataRowState.Deleted:

                            spvClient = CSpvClient.GetObjetSpvFromObjetTimosAvecCreation(client);
                            if ((int)spvClient.Row[CSpvClient.c_champCLIENT_ID, DataRowVersion.Original] == CSpvClient.c_ClientSystemeId)
                            {
                                result.EmpileErreur(I.T("'Client Système' could not be deleted|50019"));
                            }

                            break;

                        default:
                            break;
                        }
                    }
                }
            }
        }
Exemplo n.º 2
0
        ////////////////////////////////////////////////////////////////////
        public static void PropagerModifsActeur(CContexteDonnee contexte, Hashtable tableData, ref CResultAErreur result)
        {
            DataTable table = contexte.Tables[CActeur.c_nomTable];

            if (table == null)
            {
                return;
            }
            ArrayList lst = new ArrayList(table.Rows);

            foreach (DataRow row in table.Rows)
            {
                if (row.RowState == DataRowState.Modified)
                {
                    CActeur acteur = new CActeur(row);
                    CDonneesActeurClient client = acteur.Client;
                    if (client != null)
                    {
                        CSpvClient spvClient = CSpvClient.GetObjetSpvFromObjetTimosAvecCreation(client);
                        if (spvClient != null)
                        {
                            spvClient.CopyFromObjetTimos(client);
                        }
                    }
                }
                else if (row.RowState == DataRowState.Deleted)
                {
                    CActeur acteur = new CActeur(row);
                    acteur.VersionToReturn = DataRowVersion.Original;
                    CDonneesActeurClient client = acteur.Client;
                    if (client != null)
                    {
                        CSpvClient spvClient = CSpvClient.GetObjetSpvFromObjetTimosAvecCreation(client);
                        if ((int)spvClient.Row[CSpvClient.c_champCLIENT_ID, DataRowVersion.Original] == CSpvClient.c_ClientSystemeId)
                        {
                            result.EmpileErreur(I.T("'Client Système' could not be deleted|50019"));
                        }
                    }
                }
            }
        }