Ejemplo n.º 1
0
        public void generateReportAsync(string resourceName, ArrayList id, models.query.aQueryReport model, System.ComponentModel.RunWorkerCompletedEventHandler callBack, bool prioritaire)
        {
            Hashtable param = new Hashtable();

            param.Add("resourceName", resourceName);
            param.Add("id", id);
            param.Add("model", model);
            _work.addTask(new System.ComponentModel.DoWorkEventHandler(this.generateReportAsyncCall), callBack, param, prioritaire);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Prépare/Génère, coté serveur, des rapports. Que l'on peut ensuite récupérer/lire avec la fonction getReport
        /// </summary>
        /// <param name="resourceName">Nom OpenERP de l'objet</param>
        /// <param name="id">Identifiant des objets à utiliser pour la génération du rapport</param>
        /// <param name="model">Contient des informations sur le rapport en lui même</param>
        /// <returns>Liste d'identifiant de rapport (requis pour la fonction getReport)</returns>
        /// <remarks></remarks>
        public int generateReport(string resourceName, ArrayList id, models.query.aQueryReport model)
        {
            if (checkIfBusy())
            {
                return(0);
            }

            return(generateReportData(resourceName, id, model));
        }
Ejemplo n.º 3
0
        private int generateReportData(string resourceName, ArrayList id, models.query.aQueryReport model)
        {
            Interfaces.Ireport conn;
            object             retour;
            int numGen;

            if (!isConnected)
            {
                throw new Systeme.exceptionOpenERP(Systeme.exceptionOpenERP.ERRORS.NOT_CONNECTED);
            }
            if ((resourceName == "") ||
                (id == null) ||
                (id.Count == 0) ||
                (model == null))
            {
                throw new ArgumentNullException();
            }

            try
            {
                conn     = XmlRpcProxyGen.Create <Interfaces.Ireport>();
                conn.Url = url(SERVICE_XMLRPC.report);
                retour   = conn.report(_config.database, _config.userId, _config.password, resourceName, id.ToArray(), model.toXmlRpc(true));
                if (int.TryParse((string)retour, out numGen))
                {
                    return(numGen);
                }
            }
            catch (Exception ex)
            {
                if ((_config.reportXmlRpcError) && (ex.GetType() == typeof(XmlRpcFaultException)))
                {
                    throw new Systeme.exceptionOpenERP(Systeme.exceptionOpenERP.ERRORS.LIB_XMLRPC, ex.Message);
                }
            }
            finally
            {
                conn = null;
            }
            return(0);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Prépare/Génère, coté serveur, des rapports. Que l'on peut ensuite récupérer/lire avec la fonction getReport. De facon asynchrone.
 /// </summary>
 /// <param name="resourceName">Nom OpenERP de l'objet</param>
 /// <param name="id">Identifiant des objets à utiliser pour la génération du rapport</param>
 /// <param name="model">Contient des informations sur le rapport en lui même</param>
 /// <param name="callBack">Fonction appelée quand c'est terminé</param>
 /// <param name="prioritaire">Indique que cette tâche passe en priorité par rapport aux autres en attente si il y en a</param>
 /// <remarks></remarks>
 public void generateReportAsync(string resourceName, ArrayList id, models.query.aQueryReport model, System.ComponentModel.RunWorkerCompletedEventHandler callBack)
 {
     generateReportAsync(resourceName, id, model, callBack, false);
 }