Пример #1
0
        //--------------------------------------------
        public CResultDataSet ChangeData(DataSet donnees)
        {
            CResultDataSet result = CUtilClientTiag.ChangeData(ModificateurElements, donnees);

            if (result)
            {
                CResultAErreur resErreur = ModificateurElements.ContexteDonnee.SaveAll(true);
                //Maintenant, il faut changer les ids des éléments mappés qui ont bougé
                if (resErreur)
                {
                    resErreur = ModificateurElements.DefinitNouvellesCles(donnees);
                }

                if (!resErreur)
                {
                    result.EmpileErreur(CodeErreur.AppliErreur, CModificateurElementsTiag.c_strServerKey, resErreur.Erreur.ToString(), null, null, 0);
                }
                else
                {
                    result = new CResultDataSet(donnees);
                }
            }

            return(result);
        }
Пример #2
0
        //--------------------------------------------
        public CResultDataSet GetStructureDonnees()
        {
            CUtilClientTiag.Init(true);
            CResultDataSet result = CUtilClientTiag.GetDataSetStructure();

            return(result);
        }
Пример #3
0
        //--------------------------------------------
        public DataSet ExistEntity(string strType, object[] keys)
        {
            CResultDataSet result = new CResultDataSet();
            bool           bOk    = CUtilClientTiag.ExistElement(ModificateurElements, strType, keys);

            result.Data = bOk;
            return(result);

            /*result = GetEntityFromKeys(strType, keys);
             * if (result)
             * {
             *      DataSet ds = (DataSet)result;
             *      if (ds.Tables.Contains(strType))
             *      {
             *              result.Data = ds.Tables[strType].Rows.Count != 0;
             *      }
             *      else
             *              result.Data = false;
             * }
             * return result;*/
        }
Пример #4
0
        //--------------------------------------------
        public CResultDataSet GetEntityFromKeys(string strType, object[] keys)
        {
            CResultDataSet result = CUtilClientTiag.GetElementDataSet(ModificateurElements, strType, keys);

            return(result);
        }
Пример #5
0
        //--------------------------------------------
        public CResultDataSet GetKeysEntityFromSearch(string strType, string[] strChamps, object[] valeurs)
        {
            CResultDataSet result = CUtilClientTiag.GetKeysEntityFromSearch(ModificateurElements, strType, strChamps, valeurs);

            return(result);
        }
Пример #6
0
        //--------------------------------------------
        public CResultDataSet GetEntityFromSearch(string strType, string[] strChampsRecherche, object[] valeursRecherche)
        {
            CResultDataSet result = CUtilClientTiag.GetElementsDataSet(ModificateurElements, strType, strChampsRecherche, valeursRecherche);

            return(result);
        }
Пример #7
0
        public CResultAErreur Execute(int nIdSession, System.Collections.Hashtable valeursParametres)
        {
            CResultAErreur resErreur = CResultAErreur.True;

            string strType = (string)valeursParametres[c_parametreTypeAEnvoyer];

            if (strType == null)
            {
                resErreur.EmpileErreur("Le type d'élément à envoyer n'est pas renseigné");
                return(resErreur);
            }
            Type typeElement = CActivatorSurChaine.GetType(strType);

            if (typeElement == null)
            {
                resErreur.EmpileErreur("Le type d'élément à envoyer n'est pas correct (" + strType + ")");
                return(resErreur);
            }
            if (!(valeursParametres[c_parametreIdElement] is int))
            {
                resErreur.EmpileErreur("L'id de l'élément n'est pas correct");
                return(resErreur);
            }

            DataSet ds = CUtilClientTiag.GetDataSetStructure();

            using (CContexteDonnee contexteDonnee = new CContexteDonnee(nIdSession, true, false))
            {
                CObjetDonneeAIdNumeriqueAuto objet = (CObjetDonneeAIdNumeriqueAuto)Activator.CreateInstance(typeElement, contexteDonnee);
                if (!objet.ReadIfExists((int)valeursParametres[c_parametreIdElement]))
                {
                    resErreur.EmpileErreur("L'élément demandé n'existe pas (" +
                                           strType + " / " + valeursParametres[c_parametreIdElement].ToString() + ")");
                    return(resErreur);
                }


                CUtilClientTiag.FillDataSet((IElementAInterfaceTiag)objet, ds);
            }

            CServiceDistantTiag service = new CServiceDistantTiag("tcp://127.0.0.1:8182");

            //TiagService.TiagService service = new TiagService.TiagService();

            resErreur = CResultAErreur.True;
            CResultDataSet result         = service.OpenSession(c_strServerKey);
            int            nIdSessionTiag = -1;

            try
            {
                nIdSessionTiag = (int)result.Data;
                result         = service.OnModifieDonnees(nIdSessionTiag, ds);
            }
            catch (Exception e)
            {
                resErreur.EmpileErreur(new CErreurException(e));
            }
            finally
            {
                service.CloseSession(nIdSessionTiag);
            }
            if (!result)
            {
                foreach (string strErreur in result.GetErreurs())
                {
                    resErreur.EmpileErreur(strErreur);
                }
            }
            return(resErreur);
        }