コード例 #1
0
        protected async Task <Rkl.Erp.Sage.Sage100.TableObjects.API_Results> InsertErpTransactionImportDetail(JT_TransactionImportDetail importDetail)
        {
            // dch rkl 12/09/2016 Insert now returns object result
            //bool result = false;
            Rkl.Erp.Sage.Sage100.TableObjects.API_Results result = new Rkl.Erp.Sage.Sage100.TableObjects.API_Results();

            switch (_dataConnectionType)
            {
            case ConnectionType.Rest:
                // dch rkl 12/09/2016 Insert now returns object result
                //result = await InsertTransactionImportDetailToRestService(importDetail);
                result.Success = await InsertTransactionImportDetailToRestService(importDetail);

                break;

            case ConnectionType.SData:
                // dch rkl 12/09/2016 Insert now returns object result
                result = InsertTransactionImportDetailToSData(importDetail);
                break;

            default:
                break;
            }

            return(result);
        }
コード例 #2
0
        public async void InsertErpTransactionImportDetail(List <JT_TransactionImportDetail> importDetails)
        {
            foreach (var importDetail in importDetails)
            {
                // dch rkl 12/09/2016 Insert now returns object result
                //bool result = await InsertErpTransactionImportDetail(importDetail);
                Rkl.Erp.Sage.Sage100.TableObjects.API_Results result = await InsertErpTransactionImportDetail(importDetail);

                //if (result)
                if (result.Success)
                {
                    DeleteExportRow(importDetail);
                }
            }
        }
コード例 #3
0
        // dch rkl 12/09/2016 This now returns an object
        //public bool InsertTransactionImportDetailRecordSync(JT_TransactionImportDetail importDetail)
        public Rkl.Erp.Sage.Sage100.TableObjects.API_Results InsertTransactionImportDetailRecordSync(JT_TransactionImportDetail importDetail)
        {
            // dch rkl 12/09/2016 This now returns an object
            //bool returnData = false;
            Rkl.Erp.Sage.Sage100.TableObjects.API_Results returnData = new Rkl.Erp.Sage.Sage100.TableObjects.API_Results();

            App_Settings appSettings = App.Database.GetApplicationSettings();

            // set up the proper URL
            string url = GetRestServiceUrl();

            if (!url.EndsWith(@"/"))
            {
                url += @"/";
            }
            url += @"i/JT_TransactionImportDetail";

            HttpClient client = new HttpClient();

            client.BaseAddress = new Uri(url);
            client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
            JsonSerializerSettings microsoftDateFormatSettings = new JsonSerializerSettings();

            microsoftDateFormatSettings.DateFormatHandling = DateFormatHandling.MicrosoftDateFormat;
            if (appSettings.DeviceID != null)
            {
                SimpleAES encryptText = new SimpleAES("V&WWJ3d39brdR5yUh5(JQGHbi:FB@$^@", "W4aRWS!D$kgD8Xz@");
                string    authid      = encryptText.EncryptToString(appSettings.DeviceID);
                string    datetimever = encryptText.EncryptToString(DateTime.Now.ToString("yyyy-MM-ddTHH:mm:sszzz"));
                client.DefaultRequestHeaders.Add("x-tdws-authid", authid);
                client.DefaultRequestHeaders.Add("x-tdws-auth", datetimever);
            }

            // Make the call and get a valid response
            HttpResponseMessage response
                = client.PostAsync(client.BaseAddress, new StringContent(JsonConvert.SerializeObject(importDetail, microsoftDateFormatSettings), null, "application/json")).Result; // TODO.... await

            response.EnsureSuccessStatusCode();

            // Read out the result... it better be JSON!
            string JsonResult = response.Content.ReadAsStringAsync().Result;

            try
            {
                // dch rkl 12/09/2016 This now returns an object
                //returnData = JsonConvert.DeserializeObject<bool>(JsonResult);
                returnData = JsonConvert.DeserializeObject <Rkl.Erp.Sage.Sage100.TableObjects.API_Results>(JsonResult);
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message);

                // dch rkl 12/07/2016 Log Error
                ErrorReporting errorReporting = new ErrorReporting();
                errorReporting.sendException(ex, "TechDashboard.Data.RestClient");
            }

            client.Dispose();
            response.Dispose();

            return(returnData);
        }