示例#1
0
        public bool sauveData(Clients.clientOpenERP clientOpenERP, [email protected] context)
        {
            bool result;

            try
            {
                if ((!listProperties.ContainsKey("id")) ||
                    ((int)listProperties.value("id", aField.FIELD_TYPE.INTEGER) == 0))
                {
                    listProperties.setValue("id", clientOpenERP.insert(this, context));
                    result = ((int)listProperties.value("id") > 0);
                }
                else
                {
                    result = clientOpenERP.update(this, context);
                }
                if (result)
                {
                    foreach (System.Reflection.PropertyInfo prop in listeProprieteMultilangue())
                    {
                        ((IMDEV.OpenERP.models.fields.texteMultilangue)(prop.GetValue(this, null))).sauveLangues(clientOpenERP);
                    }
                    return(true);
                }
            }
            catch (Exception ex)
            {
                throw new Systeme.exceptionOpenERP(IMDEV.OpenERP.Systeme.exceptionOpenERP.ERRORS.ERR_SAVE_OBJECT, ex.Message);
            }
            finally
            {
                clientOpenERP = null;
            }
            return(false);
        }
示例#2
0
        public void deleteAsync(Clients.clientOpenERP clientOpenERP, System.ComponentModel.RunWorkerCompletedEventHandler callBack, bool prioritaire)
        {
            Hashtable param = new Hashtable();

            param.Add("clientOpenERP", clientOpenERP);
            clientOpenERP.worker.addTask(new System.ComponentModel.DoWorkEventHandler(this.effaceAsyncCallC), callBack, param, prioritaire);
        }
示例#3
0
        /// <summary>
        /// Enregistre le texte d'une langue, sur le serveur OpenERP
        /// </summary>
        /// <param name="clientOpenERP">Client OpenERP déjà connecté</param>
        /// <param name="codeLangue">Code de la langue à enregistrer</param>
        /// <returns></returns>
        public bool sauveLangue(Clients.clientOpenERP clientOpenERP, string codeLangue)
        {
            if (!_changed.ContainsKey(codeLangue))
            {
                return(false);
            }

            string libelle;
            bool   retour;

            [email protected] context;
            [email protected] fields;
            if ((bool)_changed[codeLangue])
            {
                libelle = (string)_listeChaines[codeLangue];
                fields  = new [email protected]();
                fields.add(_nomChamps, libelle);
                context = new [email protected]();
                context.add("lang", codeLangue);
                retour = clientOpenERP.update(fields, _classeParente.GetType(), (int)(_classeParente.listProperties.value("id", [email protected]_TYPE.INTEGER)), context);
                if (!retour)
                {
                    throw new Exception("Update return False");
                }

                _changed[codeLangue] = false;
            }
            return(true);
        }
示例#4
0
        public bool effaceData(Clients.clientOpenERP clientOpenERP)
        {
            bool retour = false;

            try
            {
                if ((int)listProperties.value("id", aField.FIELD_TYPE.INTEGER) == 0)
                {
                    throw new Exception("Cet objet n\'existe pas encore sur le serveur OpenERP");
                }
                retour = clientOpenERP.delete(this);
                if (retour)
                {
                    listProperties.setValue("id", 0);
                }
            }
            catch
            {
                throw new Systeme.exceptionOpenERP(IMDEV.OpenERP.Systeme.exceptionOpenERP.ERRORS.ERR_DEL_OBJECT);
            }
            finally
            {
                clientOpenERP = null;
            }
            return(retour);
        }
示例#5
0
        public void saveAsync(Clients.clientOpenERP clientOpenERP, System.ComponentModel.RunWorkerCompletedEventHandler callBack, bool prioritaire, [email protected] context)
        {
            Hashtable param = new Hashtable();

            param.Add("clientOpenERP", clientOpenERP);
            param.Add("context", context);
            clientOpenERP.worker.addTask(new System.ComponentModel.DoWorkEventHandler(this.sauveAsyncCallC), callBack, param, prioritaire);
        }
示例#6
0
 public static product_product aProduct(int id, Clients.clientOpenERP clientOERP)
 {
     try
     {
         return((product_product)clientOERP.read(new IMDEV.OpenERP.models.query.aQuery(id), typeof(product_product))[0]);
     }
     catch { }
     return(null);
 }
示例#7
0
 public static mrp_bom aBomById(int id, Clients.clientOpenERP clientOERP, List <string> fieldsList)
 {
     try
     {
         return((mrp_bom)clientOERP.read(new IMDEV.OpenERP.models.query.aQuery(id), typeof(mrp_bom), fieldsList)[0]);
     }
     catch { }
     return(null);
 }
示例#8
0
 public static mrp_bom aBom(int numFormule, Clients.clientOpenERP clientOERP, List <string> fieldsList)
 {
     try
     {
         return((mrp_bom)clientOERP.search(new IMDEV.OpenERP.models.query.aQuery("num_formulateur", numFormule), typeof(mrp_bom), true, fieldsList)[0]);
     }
     catch { }
     return(null);
 }
示例#9
0
 public static res_users aUser(int id, Clients.clientOpenERP clientOERP)
 {
     try
     {
         return((res_users)clientOERP.read(new IMDEV.OpenERP.models.query.aQuery(id), typeof(res_users))[0]);
     }
     catch { }
     return(null);
 }
示例#10
0
 public static report_intrastat_code anIntraStatCode(int id, Clients.clientOpenERP clientOERP)
 {
     try
     {
         return((report_intrastat_code)clientOERP.read(new IMDEV.OpenERP.models.query.aQuery(id), typeof(report_intrastat_code))[0]);
     }
     catch { }
     return(null);
 }
示例#11
0
 public static product_product aProductByDefaultCode(string defaultCode, Clients.clientOpenERP clientOERP, List <string> fieldsList, [email protected] context)
 {
     try
     {
         return((product_product)clientOERP.search(new IMDEV.OpenERP.models.query.aQuery("default_code", defaultCode), typeof(product_product), true, fieldsList, context)[0]);
     }
     catch { }
     return(null);
 }
示例#12
0
 public quality.comment_quality_formulator aCommentQualityFormulator(Clients.clientOpenERP clientOERP)
 {
     try
     {
         return((quality.comment_quality_formulator)clientOERP.search(new IMDEV.OpenERP.models.query.aQuery("partner_id", id), typeof(quality.comment_quality_formulator), true)[0]);
     }
     catch {}
     return(null);
 }
示例#13
0
 public static res_partner aPartner(int id, Clients.clientOpenERP clientOERP, List <string> fieldsList)
 {
     try
     {
         return((res_partner)clientOERP.read(new IMDEV.OpenERP.models.query.aQuery(id), typeof(res_partner), fieldsList)[0]);
     }
     catch { }
     return(null);
 }
示例#14
0
        public static models.product.product_security aSecurity(string name, Clients.clientOpenERP clientOERP)
        {
            List <object> retour;

            retour = clientOERP.search(new IMDEV.OpenERP.models.query.aQuery("name", name), typeof(models.product.product_security), true);
            if ((retour != null) && (retour.Count == 1))
            {
                return((models.product.product_security)retour[0]);
            }
            return(null);
        }
示例#15
0
        public static account_tax aTax(int i, Clients.clientOpenERP clientOERP, [email protected] context)
        {
            List <object> result;

            result = clientOERP.search(new IMDEV.OpenERP.models.query.aQuery("id", i), typeof(account_tax), true, context);
            if ((result != null) && (result.Count > 0))
            {
                return((account_tax)result[0]);
            }
            return(null);
        }
示例#16
0
        public static models.sale.sale_order returnSaleOrder(int id, Clients.clientOpenERP cliERP, List <string> listFields)
        {
            List <object> retour;

            retour = cliERP.read(new IMDEV.OpenERP.models.query.aQuery(id), typeof(models.sale.sale_order), listFields);
            if ((retour != null) && (retour.Count == 1))
            {
                return((models.sale.sale_order)retour[0]);
            }
            return(null);
        }
示例#17
0
 public static res_partner aSupplier(string oldCode, Clients.clientOpenERP clientOERP)
 {
     try
     {
         IMDEV.OpenERP.models.query.aQuery query = new IMDEV.OpenERP.models.query.aQuery();
         query.addEqualTo("supplier", true);
         query.addAND();
         query.addEqualTo("old_code", oldCode);
         return((res_partner)clientOERP.search(query, typeof(res_partner), true)[0]);
     }
     catch { }
     return(null);
 }
示例#18
0
        public void chargeTaxes(Clients.clientOpenERP cli)
        {
            List <object> _listObj;

            if ((tax_ids != null) && (tax_ids.getValue != null) && (tax_ids.getValue.Count > 0))
            {
                _listObj   = cli.read(new IMDEV.OpenERP.models.query.aQuery(tax_ids.getValue), typeof(account_fiscal_position_tax));
                _listTaxes = new List <account_fiscal_position_tax>();
                foreach (account_fiscal_position_tax f in _listObj)
                {
                    _listTaxes.Add(f);
                }
            }
        }
示例#19
0
        public static List <res_partner> allSuppliers(Clients.clientOpenERP clientOERP, List <string> fieldsList)
        {
            List <object>      lo;
            List <res_partner> retour = null;

            lo = clientOERP.search(new IMDEV.OpenERP.models.query.aQuery("active", true), typeof(res_partner), true, fieldsList);
            if (lo != null)
            {
                retour = new List <res_partner>();
                foreach (res_partner obj in lo)
                {
                    retour.Add(obj);
                }
            }
            return(retour);
        }
示例#20
0
        public static List <account_tax> allTaxes(Clients.clientOpenERP clientOERP)
        {
            List <object>      result;
            List <account_tax> retour;

            result = clientOERP.search(null, typeof(account_tax), true);
            if ((result != null) && (result.Count > 0))
            {
                retour = new List <account_tax>();
                foreach (account_tax t in result)
                {
                    retour.Add(t);
                }
                return(retour);
            }
            return(null);
        }
示例#21
0
        public List <quality.quality_cdc> allCDCQuality(Clients.clientOpenERP clientOERP)
        {
            List <object> result;
            List <quality.quality_cdc> retour;

            result = clientOERP.search(new IMDEV.OpenERP.models.query.aQuery("partner_id", id), typeof(quality.quality_cdc), true);
            if (result != null)
            {
                retour = new List <IMDEV.OpenERP.EG.models.quality.quality_cdc>();
                foreach (quality.quality_cdc obj in result)
                {
                    retour.Add(obj);
                }
                return(retour);
            }
            return(null);
        }
示例#22
0
        public static List <models.res.res_country_state> allState(Clients.clientOpenERP clientOERP)
        {
            List <object> result;
            List <models.res.res_country_state> retour;

            result = clientOERP.search(null, typeof(models.res.res_country_state), true);
            if (result != null)
            {
                retour = new List <IMDEV.OpenERP.EG.models.res.res_country_state>();
                foreach (models.res.res_country_state s in result)
                {
                    retour.Add(s);
                }
                return(retour);
            }
            return(null);
        }
示例#23
0
        public static List <list_allergen> allAllergens(Clients.clientOpenERP clientOERP, [email protected] context)
        {
            List <object>        result;
            List <list_allergen> retour;

            result = clientOERP.search(null, typeof(list_allergen), true, context);
            if ((result != null) && (result.Count > 0))
            {
                retour = new List <list_allergen>();
                foreach (list_allergen a in result)
                {
                    retour.Add(a);
                }
                return(retour);
            }
            return(null);
        }
示例#24
0
        public static List <models.product.product_security> allSecurity(Clients.clientOpenERP clientOERP)
        {
            List <object> result;
            List <models.product.product_security> retour;

            result = clientOERP.search(null, typeof(models.product.product_security), true);
            if ((result != null) && (result.Count > 0))
            {
                retour = new List <IMDEV.OpenERP.EG.models.product.product_security>();
                foreach (models.product.product_security ps in result)
                {
                    retour.Add(ps);
                }
                return(retour);
            }
            return(null);
        }
示例#25
0
        private bool sauveLanguesData(Clients.clientOpenERP clientOpenERP)
        {
            try
            {
                foreach (string codeLangue in _listeChaines.Keys)
                {
                    if (!sauveLangue(clientOpenERP, codeLangue))
                    {
                        throw new Exception("sauveLangue return False");
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                throw new Systeme.exceptionOpenERP(Systeme.exceptionOpenERP.ERRORS.ERR_SAVE_TRANSLATE, ex.Message);
            }
        }
示例#26
0
 public static res_partner aCustomer(string oldCode, string refCode, Clients.clientOpenERP clientOERP, List <string> listFields)
 {
     try
     {
         IMDEV.OpenERP.models.query.aQuery query = new IMDEV.OpenERP.models.query.aQuery();
         query.addEqualTo("customer", true);
         query.addAND();
         if (oldCode != "")
         {
             query.addEqualTo("old_code", oldCode);
         }
         else
         {
             query.addEqualTo("ref", refCode);
         }
         return((res_partner)clientOERP.search(query, typeof(res_partner), true, listFields)[0]);
     }
     catch { }
     return(null);
 }
示例#27
0
 /// <summary>
 /// Enregistre sur le serveur toutes les langues chargées en asynchrone
 /// </summary>
 /// <param name="clientOpenERP">Client OpenERP déjà connecté</param>
 /// <param name="callBack">Méthode à appeler quand le travail est terminé</param>
 /// <param name="prioritaire">Passe cette requête en priorité ?</param>
 public void sauveLanguesAsync(Clients.clientOpenERP clientOpenERP, System.ComponentModel.RunWorkerCompletedEventHandler callBack)
 {
     sauveLanguesAsync(clientOpenERP, callBack, false);
 }
示例#28
0
 public bool effaceData(connectionProperties connexionOpenERP)
 {
     Clients.clientOpenERP clientOpenERP = new Clients.clientOpenERP(connexionOpenERP);
     return(effaceData(clientOpenERP));
 }
示例#29
0
 public static account_tax aTax(int i, Clients.clientOpenERP clientOERP)
 {
     return(aTax(i, clientOERP, null));
 }
示例#30
0
 public static List <list_allergen> allAllergens(Clients.clientOpenERP clientOERP)
 {
     return(allAllergens(clientOERP, null));
 }