Beispiel #1
0
        static void Create <T>(NetmeraContent content, string id)
        {
            try
            {
                //if ((content.data.ToString().Contains("&")))
                //{
                //    Dictionary<string, string> addressDictionary = JsonConvert.DeserializeObject<Dictionary<string, string>>(content.data.ToString());
                //    foreach (KeyValuePair<string, string> keyValuePair in addressDictionary)
                //    {
                //        if (keyValuePair.Value.Contains("&"))
                //            content.add(keyValuePair.Key, keyValuePair.Value.Replace("&", "%26"));
                //    }
                //}
                content.create();
                var conn2     = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; " + "Data Source=C:\\NetmeraRMTools\\sqliteInsertLog\\insertlog.accdb");
                var cmdInsert = new OleDbCommand("INSERT INTO Log (UPRN,Question_Ref,localID,netmeraPath) VALUES (@UPRN,@Question_Ref,@localID,@netmeraPath)", conn2);
                cmdInsert.Parameters.AddWithValue("@UPRN", content.getString("UPRN"));
                cmdInsert.Parameters.AddWithValue("@Question_Ref", content.getString("Question_Ref"));
                cmdInsert.Parameters.AddWithValue("@localID", content.getString("id"));
                cmdInsert.Parameters.AddWithValue("@netmeraPath", content.getPath());

                conn2.Open();
                cmdInsert.ExecuteNonQuery();
                conn2.Close();
                totalNum = totalNum + 1;
            }
            catch (Exception ex)
            {
                Console.WriteLine("Create error: " + ex.Message);
            }
        }
        //public async Task<ApiResponse<List<List<string>>>> BatchUpdate(string table, List<Dictionary<string, string>> entities)
        //{

        //    var r = new List<List<string>>();

        //    var contentJArray = new JArray();
        //    var paramsJson = new JObject();

        //    foreach (var entity in entities)
        //    {
        //        var contentJSon = new JObject();
        //        foreach (var e in entity.Keys)
        //        {
        //            contentJSon.Add(new JProperty(e, entity[e]));
        //        }

        //        contentJArray.Add(contentJSon);
        //    }

        //    foreach (IEnumerable<JToken> s in contentJArray.Children().Batch(BULK_QANTITY))
        //    {

        //        var l = new List<String>();

        //        var netmeraTable = new NetmeraContent(table);
        //        var bodyJArray = new JArray();
        //        foreach (JToken sik in s)
        //        {
        //            bodyJArray.Add(sik);
        //        }
        //        paramsJson.Add("content", bodyJArray);
        //        netmeraTable.add("params", paramsJson);
        //        netmeraTable.add("method", "content.updateBulkContentWithoutActionToken");
        //        netmeraTable.add("st", App.KEY);

        //        var t = new TaskCompletionSource<object>();

        //        //try
        //        //{
        //        netmeraTable.bulkUpdate((o, ex) =>
        //        {
        //            t.SetResult(null);

        //            paramsJson.RemoveAll();
        //        });
        //        //}
        //        //catch (NetmeraException ex)
        //        //{
        //        //    if (ex.getCode().ToString() != "135")
        //        //    { MessageBox.Show(ex.getCode().ToString()); }
        //        //}

        //        await t.Task;

        //    }

        //    return new ApiResponse<List<List<string>>> { Data = r };

        //}

        public async Task <ApiResponse <string> > Create <T>(NetmeraContent content, string id)
        {
            bool setted = false;
            TaskCompletionSource <ApiResponse <string> > _task = new TaskCompletionSource <ApiResponse <string> >();

            try
            {
                content.create((c, ex) =>
                {
                    if (ex != null)
                    {
                        if (setted)
                        {
                            return;
                        }
                        setted = true;
                        BugSense.BugSenseHandler.Instance.LogException(ex, "Entity", typeof(T).Name);
                        _task.SetResult(new ApiResponse <string>()
                        {
                            IsSuccess = false, Message = "Error while processing request. Try again", Exception = ex, Data = id
                        });
                    }
                    else
                    {
                        if (setted)
                        {
                            return;
                        }
                        setted = true;
                        _task.SetResult(new ApiResponse <string>()
                        {
                            IsSuccess = true, Data = id
                        });
                    }
                });

                //await Task.Delay(1000);

                //if (!setted)
                //{
                //    setted = true;
                //    _task.SetResult(new ApiResponse<T>() { IsSuccess = true });
                //}
            }
            catch (Exception ex)
            {
                BugSense.BugSenseHandler.Instance.LogException(ex, "Entity", typeof(T).Name);
                _task.SetResult(new ApiResponse <string>()
                {
                    IsSuccess = false, Message = "Error while processing request. Try again", Exception = ex, Data = id
                });
            }



            return(await _task.Task);
        }