/// <summary> /// Nubanks process account. /// </summary> /// <returns>The to account.</returns> private Account NubankToAccount() { //Scrapers abstraction Account account = new Account(); JObject jevents = new JObject(); JObject jbills = new JObject(); JObject jcustomer = new JObject(); JObject jpurchases = new JObject(); // List<Purchase> purchase = new List<Purchase>(); try { //get values JSON TOKENS jevents = nubank.getEvents(); jbills = nubank.getBillsSummary(); jcustomer = nubank.getCustomer(); jpurchases = nubank.getPurchases(); //*************** Costumer informations costumers ****************** JToken _customer = jcustomer["customer"]; NubankCustomer nubankCustomer = _customer.ToObject <NubankCustomer>(); Customer customer = new Customer(); //Copy to customer customer.address_state = nubankCustomer.address_state; customer.cpf = nubankCustomer.cpf; customer.email = nubankCustomer.email; customer.address_postcode = nubankCustomer.address_postcode; customer.billing_address_line1 = nubankCustomer.billing_address_line1; customer.billing_address_state = nubankCustomer.billing_address_state; customer.address_number = nubankCustomer.address_number; customer.billing_address_city = nubankCustomer.billing_address_city; customer.phone = nubankCustomer.phone; customer.billing_address_locality = nubankCustomer.billing_address_locality; customer.name = nubankCustomer.name; customer.nationality = nubankCustomer.nationality; customer.billing_address_line2 = nubankCustomer.billing_address_line2; customer.printed_name = nubankCustomer.printed_name; customer.preferred_name = nubankCustomer.preferred_name; customer.address_country = nubankCustomer.address_country; customer.address_line2 = nubankCustomer.address_line2; customer.billing_address_postcode = nubankCustomer.billing_address_postcode; customer.dob = nubankCustomer.dob; customer.id = nubankCustomer.id; customer.address_locality = nubankCustomer.address_locality; customer.marital_status = nubankCustomer.marital_status; customer.billing_address_country = nubankCustomer.billing_address_country; customer.address_line1 = nubankCustomer.address_line1; customer.gender = nubankCustomer.gender; customer.billing_address_number = nubankCustomer.billing_address_number; customer.reported_income = util.ConvertValue(nubankCustomer.reported_income, 1); customer.mothers_name = nubankCustomer.mothers_name; customer.invitations = nubankCustomer.invitations; customer.address_city = nubankCustomer.address_city; //Add in account account.customer = customer; try { //*************** Transaction Compras ****************************** JToken _purchases = jpurchases["transactions"]; IList <JToken> lpurchases = _purchases.Children().ToList(); List <Purchase> purchase = new List <Purchase>(); //Parser foreach (JToken pur in lpurchases) { NubankPurchase nPurchases = pur.ToObject <NubankPurchase>(); Purchase spurchase = new Purchase(); spurchase.amount = util.ConvertValue(nPurchases.amount); spurchase.approved_reasons = nPurchases.approved_reasons; spurchase.auth_code = nPurchases.auth_code; spurchase.category = nPurchases.category; spurchase.charges = nPurchases.charges; spurchase.country = nPurchases.country; spurchase.expires_on = nPurchases.expires_on; spurchase.mcc = nPurchases.mcc; spurchase.original_merchant_name = nPurchases.original_merchant_name; spurchase.precise_amount = nPurchases.precise_amount; spurchase.time = nPurchases.time; spurchase.time_wallclock = nPurchases.time_wallclock; spurchase.type = nPurchases.type; purchase.Add(spurchase); } account.purchase = purchase; } catch (Exception e) { Debug.WriteLine(e); } //**************** Events ****************************************** //Nodes tokens events JToken _customer_id = jevents["customer_id"]; JToken _links = jevents["_links"]; JToken _updates = jevents["updates"]; JToken _events = jevents["events"]; JToken _as_of = jevents["as_of"]; //Get JSON events results //Get objects into a list List <JToken> events = _events.Children().ToList(); //Serialize JSON results into .NET objects List <Events> scraper_events = new List <Events>(); //PARSER NUBANK to SCRAPER events foreach (JToken ev in events) { NubankEvents nubank_event = ev.ToObject <NubankEvents>(); Events scraper_ev = new Events(); scraper_ev.category = nubank_event.category; scraper_ev.title = nubank_event.title; if (nubank_event.amount != null) { scraper_ev.amount = util.ConvertValue(nubank_event.amount); } scraper_ev.time = nubank_event.time; scraper_ev.message = nubank_event.message; scraper_ev.id = nubank_event.id; scraper_events.Add(scraper_ev); } //Copy Events to list scrapper account.events = scraper_events; //************ Card limit ***************** string json_object_element = "amount"; //In main json find in node JSON var events_amounts_changes = (from s in _events where s[json_object_element] != null select s[json_object_element]).ToList(); //Last value setting string limite_do_cartao = null; //limite do cartao if (events_amounts_changes.Count() > 0) { Double card_amount = Convert.ToDouble(events_amounts_changes.First().Value <string>()); //string card Value limite_do_cartao = util.ConvertValue(card_amount.ToString()); } //************** Bills summary ************************ account.billsSummary = new BillsSummary() { total_credits = limite_do_cartao }; //############ Bills summary #################################### JToken bills = jbills["bills"]; BillsSummary billsSummary = new BillsSummary(); //get objects into a list Valor da fatura IList <JToken> lbills = bills.Children().ToList(); IList <JToken> summarys = (from s in bills where s["summary"] != null select s["summary"]).ToList(); //Serialize JSON results into .NET objects NubankBillsSummary nubankBillsSummary = summarys[0].ToObject <NubankBillsSummary>(); billsSummary.payments = util.ConvertValue(nubankBillsSummary.payments, 1); billsSummary.interest_charge = util.ConvertValue(nubankBillsSummary.interest_charge, 1); billsSummary.total_international = nubankBillsSummary.total_international; billsSummary.due_date = nubankBillsSummary.due_date; billsSummary.precise_minimum_payment = util.ConvertValue(nubankBillsSummary.precise_minimum_payment, 1); billsSummary.interest_reversal = util.ConvertValue(nubankBillsSummary.interest_reversal, 1); billsSummary.close_date = nubankBillsSummary.close_date; billsSummary.expenses = nubankBillsSummary.expenses; billsSummary.total_credits = util.ConvertValue(nubankBillsSummary.total_credits, 1); billsSummary.past_balance = util.ConvertValue(nubankBillsSummary.past_balance, 1); billsSummary.effective_due_date = nubankBillsSummary.effective_due_date; billsSummary.international_tax = nubankBillsSummary.international_tax; billsSummary.tax = util.ConvertValue(nubankBillsSummary.tax, 1); billsSummary.adjustments = util.ConvertValue(nubankBillsSummary.adjustments, 1); billsSummary.precise_total_balance = nubankBillsSummary.precise_total_balance; billsSummary.total_financed = util.ConvertValue(nubankBillsSummary.total_financed, 1); billsSummary.total_balance = util.ConvertValue(nubankBillsSummary.total_balance); billsSummary.interest_rate = nubankBillsSummary.interest_rate; billsSummary.total_national = nubankBillsSummary.total_national; billsSummary.previous_bill_balance = nubankBillsSummary.previous_bill_balance; billsSummary.interest = util.ConvertValue(nubankBillsSummary.interest, 1); billsSummary.total_cumulative = util.ConvertValue(nubankBillsSummary.total_cumulative); billsSummary.paid = util.ConvertValue(nubankBillsSummary.paid, 1); billsSummary.fees = util.ConvertValue(nubankBillsSummary.fees, 1); billsSummary.total_payments = util.ConvertValue(nubankBillsSummary.total_payments, 1); billsSummary.minimum_payment = util.ConvertValue(nubankBillsSummary.minimum_payment, 1); billsSummary.open_date = nubankBillsSummary.open_date; billsSummary.total_accrued = util.ConvertValue(nubankBillsSummary.total_accrued, 1); account.billsSummary = billsSummary; } catch (Exception e) { throw e; } return(account); }
/// <summary> /// Gets the account. /// </summary> /// <returns>The account.</returns> /// <param name="login">Login.</param> public Account GetAccount(Login login) { Account account = new Account() { }; Customer customer = new Customer(); Purchase purchase = new Purchase(); BillsSummary billsSummary = new BillsSummary(); List <Events> events = new List <Events>() { }; List <Purchase> purchases = new List <Purchase>(); try { //########### Account info #################################### account.bank = login.bank; account.number = login.account_number; account.branch = login.account_agency; //############ Customer info ################################## customer.address_state = "Nuremberg"; customer.cpf = null; customer.email = "*****@*****.**"; customer.address_postcode = "90411180"; customer.billing_address_line1 = "Street of Music"; customer.billing_address_state = "Province Nuremberg"; customer.address_number = "1653"; customer.billing_address_city = "City of Nuremberg"; customer.phone = null; customer.billing_address_locality = "Neighborhood of Nuremberg"; customer.name = "Johann Pachelbel"; customer.nationality = "GER"; customer.billing_address_line2 = "Opera"; customer.printed_name = "Pachelbel"; customer.preferred_name = "Mr. Pachelbel"; customer.address_country = "German"; customer.address_line2 = "House of Pachelbel AP. 404"; customer.billing_address_postcode = "90411180"; customer.dob = "09-01-1653"; customer.id = "id-unique"; customer.address_locality = "Neighborhood of Nuremberg"; customer.marital_status = "Single"; customer.billing_address_country = "German"; customer.address_line1 = "Street Nuremberg"; customer.gender = "Male"; customer.billing_address_number = "1653"; customer.reported_income = "USD: 20000,00"; customer.mothers_name = "Anna Maria Mair"; customer.invitations = "10"; customer.address_city = "City of nurember"; customer.personal_credit = "60000,00"; account.customer = customer; //############ Bills summary #################################### billsSummary.payments = "1345,00"; billsSummary.interest_charge = "00,00"; billsSummary.total_international = "00.00"; billsSummary.due_date = "02-24-2018"; billsSummary.precise_minimum_payment = "735,00"; billsSummary.interest_reversal = "00.00"; billsSummary.close_date = "02-10-2018"; billsSummary.expenses = "3500,00"; billsSummary.total_credits = "5700,00"; billsSummary.past_balance = "1235,00"; billsSummary.effective_due_date = "02-24-2018"; billsSummary.international_tax = "20% am"; billsSummary.tax = "3.91"; billsSummary.adjustments = "00.00"; billsSummary.precise_total_balance = "1345,00"; billsSummary.total_financed = "2578,00"; billsSummary.total_balance = "2578,00"; billsSummary.interest_rate = "14%"; billsSummary.total_national = "1345,00"; billsSummary.previous_bill_balance = "82,00"; billsSummary.interest = null; billsSummary.total_cumulative = "10.000"; billsSummary.paid = "true"; billsSummary.fees = null; billsSummary.total_payments = "10.000"; billsSummary.minimum_payment = "735,00"; billsSummary.open_date = "02-01-2018"; billsSummary.total_accrued = "15123.00"; //Account events //Add list events.Add(new Events() { id = "1", category = "Bank deposit", title = "Canon in d paymento music", amount = "1500,00", time = DateTime.Now.ToString(), message = "Payment of copyright" }); //Add list events.Add(new Events() { id = "2", category = "Bank deposit", title = "Canon in d paymento music", amount = "15000,00", time = DateTime.Now.ToString(), message = "Payment of copyright in american dolars (USD) Berlin State Opera" }); //Add list events.Add(new Events() { id = "2", category = "Bank deposit", title = "Canon in d paymento music", amount = "150000,00", time = DateTime.Now.ToString(), message = "Payment of copyright in Brazilian Real (R$) Brasil State Opera" }); //############################################################ //Account purchases purchases.Add(new Purchase() { category = "1", amount = "700,00", precise_amount = "700,00", original_merchant_name = "Amazon new smart watch Garmin Fenix 5", time = DateTime.Now.ToString(), mcc = "EUR" }); //Account purchases purchases.Add(new Purchase() { category = "2", amount = "100,00", precise_amount = "100,00", original_merchant_name = "Amazon Alexa home", time = DateTime.Now.ToString(), mcc = "EUR" }); //Add to account account.events = events; account.purchase = purchases; } catch (Exception e) { throw e; } return(account); }