private JToken[] FormatFile(string baseFile) { var file = (JObject)JsonConvert.DeserializeObject(baseFile); JToken headers = null; JToken rows = null; var name = JTokenExtension.GetMemberName(() => headers); headers = JTokenExtension.GetType(file, name); name = JTokenExtension.GetMemberName(() => rows); rows = JTokenExtension.GetType(file, name); return(new JToken [] { headers, rows }); }
public KeyValuePair <bool, string> ParseData(JToken[] arr) { try { bool isValidHeader = JTokenExtension.CheckIfValid(arr[0], this); if (isValidHeader) { List <FinancialItem> obj = IterateData(arr); string json = JsonConvert.SerializeObject(obj); return(new KeyValuePair <bool, string>(isValidHeader, json)); } else { throw new Exception("Header data is missing"); } } catch (Exception ex) { return(new KeyValuePair <bool, string> (false, ex.Message)); } }
public List <FinancialItem> IterateData(JToken[] arr) { List <FinancialItem> items = new List <FinancialItem>(); int iterate = 0; var rows = arr[1]; foreach (var row in rows) { FinancialItem item = new FinancialItem(); item.Name = rows[iterate][0].ToString(); item.Type = rows[iterate][1].ToString(); item.Range = rows[iterate][2].ToString(); item.Priority = rows[iterate][3].ToString(); item.Amount = JTokenExtension.ToDecimal(rows[iterate][4]); item.AmountOwed = JTokenExtension.ToDecimal(rows[iterate][5]); item.TimeSpan = rows[iterate][6].ToString(); items.Add(item); iterate++; } return(items); }