using Fuel01.Models; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Fuel01 { public static class DbUtil { public static T LoadFromJson(string filename, DataSet ds) where T : class { if (!File.Exists(filename)) { return null; } ds.Clear(); var datas = File.ReadAllText(filename); var tmData = JsonConvert.DeserializeObject(datas); return tmData as T; } public static T LoadFromJson (string filename, T ds) { if (!File.Exists(filename)) { return default(T); } var datas = File.ReadAllText(filename); var tmData = JsonConvert.DeserializeObject(datas); return tmData; } public static DataSet1.tb_prestaDataTable LoadPrestaFromJson(string filename,List lprod) { if (!File.Exists(filename)) { return default; } var datas = File.ReadAllText(filename); var tmData = JsonConvert.DeserializeObject>(datas); var prestas = new List(); foreach (var data in tmData) { if (data.autres != null) { foreach (var autre in data.autres) { var prod= lprod.FirstOrDefault(x=>x.lib_prod.Equals(autre.lib_prod))?.key_prod; if (prod != null) { var presta = new Presta(); presta.sta_pr = data.sta_pr; presta.prod_pr = prod; presta.kind_pr = "Service"; presta.unite_pr = autre.unite_pr; presta.pu_pr = double.Parse(autre.pu_pr); presta.tva_pr = double.Parse(autre.tva_pr); presta.ttc_pr = double.Parse(autre.ttc_pr); prestas.Add(presta); } } } if (data.carburants != null) { foreach (var autre in data.carburants) { var prod = lprod.FirstOrDefault(x => x.lib_prod.Equals(autre.lib_prod))?.key_prod; if (prod != null) { var presta = new Presta(); presta.sta_pr = data.sta_pr; presta.prod_pr = prod; presta.kind_pr = "Carburant"; presta.unite_pr = autre.unite_pr; presta.pu_pr = double.Parse(autre.pu_pr); presta.tva_pr = double.Parse(autre.tva_pr); presta.ttc_pr = double.Parse(autre.ttc_pr); prestas.Add(presta); } } } } var json = JsonConvert.SerializeObject(prestas, Formatting.Indented); var returnData = JsonConvert.DeserializeObject(json); return returnData; } public static T LoadFromJson(string filename) { if (!File.Exists(filename)) { return default(T); } var datas = File.ReadAllText(filename); var tmData = JsonConvert.DeserializeObject(datas); return tmData; } public static bool SaveToJson(object o,string filename) { try { var result = JsonConvert.SerializeObject(o, Formatting.Indented); File.WriteAllText(filename, result); return true; } catch { return false; } } public static bool SaveToJson(string filename, T ds) { try { var result = JsonConvert.SerializeObject(ds, Formatting.Indented); File.WriteAllText(filename, result); return true; } catch { return false; } } } }