public async Task <Order> GetOrderAsync(string id) { Order result = null; if (id != null) { //var json = await client.GetStringAsync($"api/Linkar/GetOrder?token=" + App.Token + "&code=" + id); //return await Task.Run(() => JsonConvert.DeserializeObject<Order>(json)); try { string lkstring = App.linkarClt.Read("LK.ORDERS", id, "", new ReadOptions(true), "", 0); //NEWFRAMEWORK: Replace Read_Text for Read, remove DATAFORMATCRU_TYPE.MV char delimiter = ASCII_Chars.FS_chr; char delimiterThisList = DBMV_Mark.AM; string records = ""; string recordCalculateds = ""; string[] parts = lkstring.Split(delimiter); if (parts.Length >= 1) { string[] ThisList = parts[0].Split(delimiterThisList); int numElements = ThisList.Length; for (int i = 1; i < numElements; i++) { if (ThisList[i].Equals("RECORD")) { records = parts[i]; } if (ThisList[i].Equals("CALCULATED")) { recordCalculateds = parts[i]; } } } //Fill the class with response data if (records != null && records != "") { result = LkOrder.GetRecord(id, records, recordCalculateds); } } catch (Exception ex) { string error = App.GetException(ex); await Xamarin.Forms.Application.Current.MainPage.DisplayAlert("ERROR", error, "OK"); } } return(result); }
public async Task <IEnumerable <Order> > GetOrdersAsync(bool forceRefresh = false) { if (forceRefresh) { //var json = await client.GetStringAsync($"api/Linkar/GetOrders?token=" + App.Token); //orders = await Task.Run(() => JsonConvert.DeserializeObject<IEnumerable<Order>>(json)); orders = null; try { string lkstring = App.linkarClt.Select("LK.ORDERS", "", "BY ID", "", "", new SelectOptions(false, false, 10, 1, true), "", 0); //NEWFRAMEWORK: Replace Select_Text for Select, remove DATAFORMATCRU_TYPE.MV if (!string.IsNullOrEmpty(lkstring)) { char delimiter = ASCII_Chars.FS_chr; char delimiterThisList = DBMV_Mark.AM; String recordIds = ""; String records = ""; String recordCalculateds = ""; String[] parts = lkstring.Split(delimiter); if (parts.Length >= 1) { String[] ThisList = parts[0].Split(delimiterThisList); int numElements = ThisList.Length; for (int i = 1; i < numElements; i++) { if (ThisList[i].Equals("RECORD_ID")) { recordIds = parts[i]; } if (ThisList[i].Equals("RECORD")) { records = parts[i]; } if (ThisList[i].Equals("CALCULATED")) { recordCalculateds = parts[i]; } } } //Fill all the records with response data String[] lstids = recordIds.Split(ASCII_Chars.RS_chr); String[] lstregs = records.Split(ASCII_Chars.RS_chr); String[] lstcalcs = recordCalculateds.Split(ASCII_Chars.RS_chr); orders = new List <Order>(); for (int i = 0; i < lstids.Length; i++) { Order record = null; if (recordCalculateds != null && recordCalculateds != "") { record = LkOrder.GetRecord(lstids[i], lstregs[i], lstcalcs[i]); } else { record = LkOrder.GetRecord(lstids[i], lstregs[i], ""); } orders.Add(record); } } } catch (Exception ex) { string error = App.GetException(ex); await Xamarin.Forms.Application.Current.MainPage.DisplayAlert("ERROR", error, "OK"); } } return(orders); }