コード例 #1
0
 public string odooMethodArgsCall(string model, string method, Dictionary <string, dynamic> vals)
 {
     if (vals.Count > 0)
     {
         JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, method, vals });
         string responseData = odooServerCall <string>(jsonRpcUrl, parameters);
         return(responseData);
     }
     return("");
 }
コード例 #2
0
 public bool odooWriteCall(string model, long recId, Dictionary <string, dynamic> vals)
 {
     if (vals.Count > 0)
     {
         JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, Settings.UserPassword, model, "write", recId, vals });
         var responseData = odooServerCall <bool>(jsonRpcUrl, parameters);
         return(responseData);
     }
     return(true);
 }
コード例 #3
0
        public bool odoosubmittomanager(string model, string method, int att_id)
        {
            if (this.Uid == 0)
            {
                this.Uid = App.userid_db;
            }

            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, method, new object[] { att_id } });
            var result = odooServerCall <bool>(jsonRpcUrl, parameters);

            return(result);
        }
コード例 #4
0
        //public List<StockWareHouseList> odooMethodCall_stockcount<T>(string model, string method, int locid)
        //{
        //    JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, method, new object[] { }, locid });
        //    JArray stockData = odooServerCall<JArray>(jsonRpcUrl, parameters);

        //    List<StockWareHouseList> result = stockData.ToObject<List<StockWareHouseList>>();

        //    return result;
        //}


        //public List<StockWareHouseList> odooMethodCall_allcountdata<T>(string model, string method, int prod_id, int loc_id)
        //{
        //    JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, method, new object[] { }, prod_id, loc_id });
        //    JArray stockData = odooServerCall<JArray>(jsonRpcUrl, parameters);

        //    List<StockWareHouseList> result = stockData.ToObject<List<StockWareHouseList>>();

        //    return result;
        //}

        public JObject odooFilterDataCall(string model, string method)
        {
            if (this.Uid == 0)
            {
                this.Uid = App.userid_db;
            }

            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, Settings.UserPassword, model, method, new object[] { }, App.filterdict });
            JObject responseData = odooServerCall <JObject>(jsonRpcUrl, parameters);

            return(responseData);
        }
コード例 #5
0
        public bool odooUpdatepassword(string model, string method, int sale_id, string password)
        {
            if (this.Uid == 0)
            {
                this.Uid = App.userid_db;
            }

            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, Settings.UserPassword, model, method, new object[] { sale_id }, password });
            var result = odooServerCall <bool>(jsonRpcUrl, parameters);

            return(result);
        }
コード例 #6
0
        public bool odooUpdatesaleorder(string model, string method, int sale_id, Dictionary <string, dynamic> vals)
        {
            if (this.Uid == 0)
            {
                this.Uid = App.userid_db;
            }

            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { Settings.UserDbName, Settings.UserId, Settings.UserPassword, model, method, new object[] { sale_id }, vals });
            var result = odooServerCall <bool>(jsonRpcUrl, parameters);

            return(result);
        }
コード例 #7
0
        public float odoogetSubtotal(string model, string method, float unit_price, float quantity, List <int> taxids, float disount)
        {
            if (this.Uid == 0)
            {
                this.Uid = App.userid_db;
            }

            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { Settings.UserDbName, Settings.UserId, Settings.UserPassword, model, method, new object[] { }, unit_price, quantity, taxids, disount });
            float result = odooServerCall <float>(jsonRpcUrl, parameters);

            return(result);
        }
コード例 #8
0
        public string odoogettingpricelist(string model, string method, int product_id, int cus_id, int pricelist_id, double product_qty, string date)
        {
            if (this.Uid == 0)
            {
                this.Uid = App.userid_db;
            }

            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { Settings.UserDbName, Settings.UserId, Settings.UserPassword, model, method, new object[] { product_id }, cus_id, pricelist_id, product_qty, date });
            string result = odooServerCall <string>(jsonRpcUrl, parameters);

            return(result);
        }
コード例 #9
0
        public bool odooUpdatecustomer(string model, string method, int cus_id, Dictionary <string, dynamic> vals)
        {
            if (this.Uid == 0)
            {
                this.Uid = App.userid_db;
            }

            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, method, new object[] { cus_id }, vals });
            var result = odooServerCall <bool>(jsonRpcUrl, parameters);

            return(result);
        }
コード例 #10
0
        public string odooUpdatecrmLeadCreation(string model, string method, Dictionary <string, dynamic> vals)
        {
            if (this.Uid == 0)
            {
                this.Uid = App.userid_db;
            }

            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, Settings.UserPassword, model, method, vals });
            string result = odooServerCall <string>(jsonRpcUrl, parameters);

            return(result);
        }
コード例 #11
0
        public dynamic odooMethodArgsCall <T>(string model, string method, List <int> recIds)
        {
            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, Settings.UserPassword, model, method, new object[] { }, recIds });
            T responseData = odooServerCall <T>(jsonRpcUrl, parameters);

            try
            {
                if (responseData.ToString().Equals("Odoo Error"))
                {
                    return(responseData);
                }
            }
            catch { }
            return(responseData);
        }
コード例 #12
0
        public dynamic odooCustomerDataCall <T>(string model, string method)
        {
            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { Settings.UserDbName, Settings.UserId, Settings.UserPassword, model, method, new object[] { } });
            T responseData = odooServerCall <T>(jsonRpcUrl, parameters);

            try
            {
                if (responseData.ToString().Equals("Odoo Error"))
                {
                    return(responseData);
                }
            }
            catch { }
            return(responseData);
        }
コード例 #13
0
        public dynamic odooMethodCall_attachment <T>(string model, string method, string model_name, int saleorder_id)
        {
            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, Settings.UserPassword, model, method, new object[] { }, model_name, saleorder_id });
            T responseData = odooServerCall <T>(jsonRpcUrl, parameters);

            try
            {
                if (responseData.ToString().Equals("Odoo Error"))
                {
                    return(responseData);
                }
            }
            catch { }
            return(responseData);
        }
コード例 #14
0
        public dynamic odooMethodCall_cal <T>(string model, string method, int recId, int month, int year)
        {
            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, method, recId, month, year });
            T responseData = odooServerCall <T>(jsonRpcUrl, parameters);

            try
            {
                if (responseData.ToString().Equals("Odoo Error"))
                {
                    return(responseData);
                }
            }
            catch { }
            return(responseData);
        }
コード例 #15
0
        public dynamic odooMethodCall_getattendance_details <T>(string model, string method)
        {
            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, Settings.UserPassword, model, method, new object[] {}, App.userid });
            T responseData = odooServerCall <T>(jsonRpcUrl, parameters);

            try
            {
                if (responseData.ToString().Equals("Odoo Error"))
                {
                    return(responseData);
                }
            }
            catch { }
            return(responseData);
        }
コード例 #16
0
        public dynamic odooMethodSaleOrderConfirm(string model, string method, int saleorderId)
        {
            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, Settings.UserPassword, model, method, new object[] { saleorderId } });
            string responseData = odooServerCall <string>(jsonRpcUrl, parameters);

            // return responseData;
            try
            {
                if (responseData.ToString().Equals("Odoo Error"))
                {
                    return(responseData);
                }
            }
            catch { }
            return(responseData);
        }
コード例 #17
0
        public T odooSearchCall <T>(string model, object[] domain, bool innerArray)
        {
            JsonRpcRequestParameter parameters;

            if (innerArray)
            {
                parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, Settings.UserPassword, model, "search", domain });
            }
            else
            {
                parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, Settings.UserPassword, model, "search", new object[] { domain } });
            }

            T responseData = odooServerCall <T>(jsonRpcUrl, parameters);

            return(responseData);
        }
コード例 #18
0
 public Int32 odooCreateCall(string model, Dictionary <string, dynamic> vals)
 {
     if (vals.Count > 0)
     {
         try
         {
             JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, Settings.UserPassword, model, "create", vals });
             Int32 responseData = odooServerCall <Int32>(jsonRpcUrl, parameters);
             return(responseData);
         }
         catch
         {
             throw;
         }
     }
     return(-1);
 }
コード例 #19
0
        public int login(String database, String username, String password)
        {
            // JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("common", "login", new object[] { database, username, password });

            bool temp_id = true;

            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("common", "login", new object[] { Settings.UserDbName, Settings.UserName, Settings.UserPassword });

            try
            {
                this.Database = database;
                this.Username = username;
                this.Password = password;
                var tempId = odooServerCall <dynamic>(jsonRpcUrl, parameters);


                int userId = (int)tempId;
                this.Uid            = userId;
                Settings.UserId     = userId;
                Settings.UserDbName = this.Database;

                if (userId == 0)
                {
                    if (App.userid == 0)
                    {
                        userId          = App.userid_db;
                        Settings.UserId = userId;
                    }

                    else
                    {
                        userId          = App.userid;
                        Settings.UserId = userId;
                    }
                }

                return(userId);
            }
            catch (Exception ea)
            {
                return(-1);

                throw new Exception("Odoo error!!" + ea.Message);
            }
        }
コード例 #20
0
        public dynamic odooAttendanceCall <T>(string model, string method)
        {
            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, method, new object[] { } });
            T responseData = odooServerCall <T>(jsonRpcUrl, parameters);

            try
            {
                if (responseData.ToString().Equals("Odoo Error"))
                {
                    return(responseData);
                }
            }
            catch
            {
                int k = 0;
            }
            return(responseData);
        }
コード例 #21
0
        public int login(String database, String username, String password)
        {
            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("common", "login", new object[] { database, username, password });

            try
            {
                this.Database = database;
                this.Username = username;
                this.Password = password;
                var tempId = odooServerCall <dynamic>(jsonRpcUrl, parameters);
                int userId = (int)tempId;
                this.Uid = userId;
                return(userId);
            }
            catch (Exception ea)
            {
                throw new Exception("Odoo error!!" + ea.Message);
            }
        }
コード例 #22
0
        public bool odooCreatecustomer(string model, string method, Dictionary <string, dynamic> vals)
        {
            if (this.Uid == 0)
            {
                this.Uid = App.userid_db;
            }

            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, method, vals });
            var result = odooServerCall <int>(jsonRpcUrl, parameters);

            if (result > 0)
            {
                App.createContact_Id = result;
                result = true;
            }
            else
            {
                result = false;
            }
            return(result);
        }
コード例 #23
0
        //public List<CustomersModel> odooSearchReadCall3<T>(string model, object[] domain, string[] fields, bool innerArray)
        //{
        //    JsonRpcRequestParameter parameters;
        //    if (innerArray)
        //    {

        //        parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, "search_read", domain, fields });
        //    }
        //    else if (domain.Length == 0)
        //    {
        //        parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, "search_read", new object[] { }, fields });
        //    }

        //    else
        //    {
        //        parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, "search_read", new object[] { domain }, fields });
        //    }

        //    JArray searchData = odooServerCall<JArray>(jsonRpcUrl, parameters);

        //    List<CustomersModel> result = searchData.ToObject<List<CustomersModel>>();
        //    return result;
        //}

        //public List<SalesModel> odooSearchReadCall1<T>(string model, object[] domain, string[] fields, bool innerArray)
        //{
        //    JsonRpcRequestParameter parameters;
        //    if (innerArray)
        //    {
        //        parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, "search_read", domain, fields });
        //    }
        //    else if (domain.Length == 0)
        //    {
        //        parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, "search_read", new object[] { }, fields });
        //    }

        //    else
        //    {
        //        parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, "search_read", new object[] { domain }, fields });
        //    }

        //    //  List<TestModel> searchData = odooServerCall<JArray>(jsonRpcUrl, parameters) as List<TestModel>;
        //    JArray searchData = odooServerCall<JArray>(jsonRpcUrl, parameters);

        //    List<SalesModel> result = searchData.ToObject<List<SalesModel>>();
        //    return result;
        //}


        //public bool odooUpdatecrmOppMeeting(string model, string method, Dictionary<string, dynamic> vals)
        //{
        //    JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, method, new object[] {  }, vals });
        //    bool result = odooServerCall<bool>(jsonRpcUrl, parameters);
        //    return result;
        //}


        //public string odooUpdatecrmOppMeeting(string model, string method, Dictionary<string, dynamic> vals)
        //{
        //    if (this.Uid == 0)
        //    {
        //        this.Uid = App.userid_db;
        //    }

        //    JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, method, new object[] { }, vals });
        //    string result = odooServerCall<string>(jsonRpcUrl, parameters);
        //    return result;
        //}


        //public bool odooUpdatesaleorder(string model, string method, int sale_id, Dictionary<string, dynamic> vals)
        //{
        //    if (this.Uid == 0)
        //    {
        //        this.Uid = App.userid_db;
        //    }

        //    JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, method, new object[] { sale_id }, vals });
        //    var result = odooServerCall<bool>(jsonRpcUrl, parameters);
        //    return result;
        //}

        //public bool odooUpdatecustomer(string model, string method, int cus_id, Dictionary<string, dynamic> vals)
        //{
        //    if (this.Uid == 0)
        //    {
        //        this.Uid = App.userid_db;
        //    }

        //    JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, method, new object[] { cus_id }, vals });
        //    var result = odooServerCall<bool>(jsonRpcUrl, parameters);
        //    return result;
        //}

        public bool odoocreateAttendances(string model, string method, Dictionary <string, dynamic> vals)
        {
            if (this.Uid == 0)
            {
                this.Uid = App.userid_db;
            }

            JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, this.Password, model, method, new object[] {}, vals });
            bool result = odooServerCall <bool>(jsonRpcUrl, parameters);

            //if (result > 0)
            //{
            //   // App.atten_checkIn_id = result;
            //  //  Settings.CheckIn_ID = App.atten_checkIn_id.ToString();
            //    result = true;
            //}
            //else
            //{
            //    result = false;
            //}
            return(result);
        }
コード例 #24
0
        public T odooSearchReadCall <T>(string model, object[] domain, string[] fields, bool innerArray)
        {
            JsonRpcRequestParameter parameters;

            if (innerArray)
            {
                parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, Settings.UserPassword, model, "search_read", domain, fields });
            }
            else if (domain.Length == 0)
            {
                parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, Settings.UserPassword, model, "search_read", new object[] { }, fields });
            }

            else
            {
                parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, Settings.UserPassword, model, "search_read", new object[] { domain }, fields });
            }

            T searchData = odooServerCall <T>(jsonRpcUrl, parameters);

            return(searchData);
        }
コード例 #25
0
 public dynamic getDatabases()
 {
     try
     {
         if (Device.OS.ToString() == "Android")
         {
             JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("db", "list");
             string[] rawResult = odooServerCall <string[]>(jsonRpcUrl, parameters);
             return(rawResult);
         }
         else
         {
             JsonRpcRequestParameter parameters = new JsonRpcRequestParameter("db", "list");
             var      rawResult = odooServerCall <string[]>(jsonRpcUrl, parameters);
             string[] dbData    = rawResult.ToObject <string[]>();
             return(dbData);
         }
     }
     catch (Exception ea)
     {
         System.Diagnostics.Debug.WriteLine(ea.Message);
         throw;
     }
 }
コード例 #26
0
        public List <CRMModel> odooSearchReadCall2 <T>(string model, object[] domain, string[] fields, bool innerArray)
        {
            JsonRpcRequestParameter parameters;

            if (innerArray)
            {
                parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, Settings.UserPassword, model, "search_read", domain, fields });
            }
            else if (domain.Length == 0)
            {
                parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, Settings.UserPassword, model, "search_read", new object[] { }, fields });
            }

            else
            {
                parameters = new JsonRpcRequestParameter("object", "execute", new object[] { this.Database, this.Uid, Settings.UserPassword, model, "search_read", new object[] { domain }, fields });
            }

            JArray searchData = odooServerCall <JArray>(jsonRpcUrl, parameters);

            List <CRMModel> result = searchData.ToObject <List <CRMModel> >();

            return(result);
        }
コード例 #27
0
        private dynamic odooServerCall <T>(string url, JsonRpcRequestParameter parameter)
        {
            var    tmpData        = new JsonRpcRequest(parameter);
            string requestContent = "";

            // this.Password = Settings.UserPassword;

            if (Device.RuntimePlatform == "Android")
            {
                requestContent = JsonConvert.SerializeObject(tmpData);
            }
            else
            {
                Dictionary <string, dynamic> paramsDic = new Dictionary <string, dynamic>();
                paramsDic.Add("service", parameter.Service);
                paramsDic.Add("method", parameter.Method);
                paramsDic.Add("args", parameter.Argument);

                Dictionary <string, dynamic> jObj = new Dictionary <string, dynamic>();
                jObj.Add("jsonrpc", "2.0");
                jObj.Add("method", "call");
                jObj.Add("params", paramsDic);

                var formatData = JsonConvert.SerializeObject(jObj);
                requestContent = formatData;
            }
            System.Diagnostics.Debug.WriteLine("WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW " + requestContent);
            HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(new Uri(url));

            request.ContentType = "application/json";
            request.Method      = "POST";
            try
            {
                App.responseState = true;
                App.NetAvailable  = true;
                IAsyncResult resultRequest = request.BeginGetRequestStream(null, null);
                Stream       streamInput   = request.EndGetRequestStream(resultRequest);
                byte[]       byteArray     = Encoding.UTF8.GetBytes(requestContent);
                streamInput.WriteAsync(byteArray, 0, byteArray.Length);
                streamInput.FlushAsync();

                // Receive data from server
                IAsyncResult    resultResponse = request.BeginGetResponse(null, null);
                HttpWebResponse response       = (HttpWebResponse)request.EndGetResponse(resultResponse);
                Stream          streamResponse = response.GetResponseStream();
                StreamReader    streamRead     = new StreamReader(streamResponse);
                var             resultData     = streamRead.ReadToEndAsync();
                var             responseData   = resultData.Result;
                streamResponse.FlushAsync();
                if (Device.RuntimePlatform == "iOS")
                {
                    string rspData = string.Join("", responseData);
                    try
                    {
                        JObject jsonObj = JObject.Parse(rspData);
                        Dictionary <string, dynamic> dictObj = jsonObj.ToObject <Dictionary <string, dynamic> >();
                        return(dictObj["result"]);
                    }
                    catch (Exception ea)
                    {
                        return(responseData);
                    }
                }
                else
                {
                    try
                    {
                        JsonRpcResponse <T> jsonRpcResponse = JsonConvert.DeserializeObject <JsonRpcResponse <T> >(responseData);
                        if (jsonRpcResponse.Error != null)
                        {
                            return("Odoo Error");
                        }
                        else
                        {
                            return(jsonRpcResponse.Result);
                        }
                    }
                    catch (Exception ea)
                    {
                        return(responseData);
                    }
                }
            }
            catch (Exception ea)
            {
                if (ea.Message.Contains("(Network is unreachable)") || ea.Message.Contains("NameResolutionFailure"))
                {
                    App.NetAvailable = false;
                }

                else if (ea.Message.Contains("(503) Service Unavailable"))
                {
                    App.responseState = false;
                }

                System.Diagnostics.Debug.WriteLine(ea.Message);
                //  throw;
            }
            return(default(T));
        }
コード例 #28
0
 public JsonRpcRequest(object id, string method, JsonRpcRequestParameter @params)
 {
     Id     = id;
     Method = method;
     Params = @params;
 }