/// <summary> /// Parse byte array to json /// </summary> /// <param name="rawdata"></param> /// <returns></returns> public static CreditReportBase Data(string rawdata) { CreditReportBase cbase = new CreditReportBase(); string filePath = string.Empty; string reportBolb = string.Empty; filePath = Path.Combine(ConfigurationManager.AppSettings["ReportPhysicalPath"], rawdata); using (StreamReader sr = System.IO.File.OpenText(filePath)) { reportBolb = sr.ReadToEnd(); } cbase = CreateJsonActual(reportBolb); return cbase; }
public static CreditReportBase GenerateJson(string jsonData) { CreditReportBase cbase = new CreditReportBase(); Individual ind = new Individual(); Company com = new Company(); var sr = Newtonsoft.Json.JsonConvert.DeserializeObject(jsonData); // var sr = Newtonsoft.Json.JsonConvert.DeserializeObject(compJson);// JObject obj = (JObject)sr; var baseToken = obj.SelectToken("c").SelectToken("DCR"); var individualToken = baseToken.SelectToken("Individuo"); var securityToken = baseToken.SelectToken("Seguridad"); var creditAnalysisToken = baseToken.SelectToken("AnalisisCrediticio"); var breakDownCreditsToken = baseToken.SelectToken("DesgloseCreditos"); //var contactsToken = baseToken.SelectToken("PersonasRelacionadas"); var addressesToken = baseToken.SelectToken("Direcciones"); var telephonesToken = baseToken.SelectToken("Telefonos"); var productToken = breakDownCreditsToken.SelectToken("Producto"); // var accountToken = productToken.SelectToken("Cuenta"); var companyToken = baseToken.SelectToken("Empresa"); var personRelationToken = baseToken.SelectToken("PersonasRelacionadas"); var errorHandling = baseToken.SelectToken("ErrorHandling"); //var foto = baseToken.SelectToken("Foto"); cbase.Photo = baseToken.SelectToken("Foto").ToObject<string>(); cbase.Security = securityToken.ToObject<Security>(); if (errorHandling != null) { cbase.ErrorHandling = errorHandling.ToObject<ErrorHandling>(); } if (individualToken != null) { cbase.Individual = individualToken.ToObject<Individual>(); } if (companyToken != null) { cbase.Company = companyToken.ToObject<Company>(); } if (creditAnalysisToken != null) { cbase.creditAnalysis = new CreditAnalysis(); var cantidadTotalCuentasToken = creditAnalysisToken.SelectToken("CantidadTotalCuentas"); if (cantidadTotalCuentasToken != null) { var moneda = cantidadTotalCuentasToken.SelectToken("Moneda"); TotalAmountAccounts totalAmtAcc = new TotalAmountAccounts(); if (moneda != null) { if (moneda.Type == JTokenType.Array) totalAmtAcc.Currencies = moneda.ToObject<List<TotalAmountAccounts.Currency>>(); else { totalAmtAcc.Currencies = new List<TotalAmountAccounts.Currency>() { moneda.ToObject<TotalAmountAccounts.Currency>() }; } } var jTotSale = cantidadTotalCuentasToken.SelectToken("Totales"); if (jTotSale != null) totalAmtAcc.Totals = jTotSale.ToObject<Totales>(); cbase.creditAnalysis.TotalAmountAccount = totalAmtAcc; } } if (productToken != null) { List<Product> prodList = new List<Product>(); List<JToken> productList; if (productToken.Type == JTokenType.Array) { productList = productToken.ToList(); foreach (var item in productList) { var pro = ParseProduct(item); if (pro != null) { prodList.Add(pro); } } } else { var pro = ParseProduct(productToken); if (pro != null) { prodList.Add(pro); } } cbase.Products = prodList; cbase.CurrencyWiseProducts = GetCurrencyWiseProducts(prodList); } if (telephonesToken != null) { var teldData = telephonesToken.SelectToken("Tel"); if (teldData != null) { if (teldData.Type == JTokenType.Array) cbase.Telphones = teldData.ToObject<List<Telephone>>(); else cbase.Telphones = new List<Telephone>() { teldData.ToObject<Telephone>() }; } } if (addressesToken != null) { var jDir = addressesToken.SelectToken("Dir"); if (jDir.Type == JTokenType.Array) cbase.Addresses = jDir.ToObject<List<Addresses>>(); else cbase.Addresses = new List<Addresses>() { jDir.ToObject<Addresses>() }; } if (personRelationToken != null) { var personRelationList = personRelationToken.SelectToken("Persona"); if (personRelationList != null) { if (personRelationList.Type == JTokenType.Array) { cbase.Persons = personRelationList.ToObject<List<PersonRelation>>(); } else { cbase.Persons = new List<PersonRelation> { personRelationList.ToObject<PersonRelation>() }; } } } return cbase; }
public static CreditReportBase CreateJsonActual(string jsondata) { CreditReportBase cbase = new CreditReportBase(); cbase = GenerateJson(jsondata); return cbase; }