Skip to content

Instantly share code, notes, and snippets.

@shammelburg
Created March 27, 2017 07:55
Show Gist options
  • Save shammelburg/1e7acace387cffdc52933266e0c16a0d to your computer and use it in GitHub Desktop.
Save shammelburg/1e7acace387cffdc52933266e0c16a0d to your computer and use it in GitHub Desktop.
CRUD for .json file
private void Delete(string Customer)
{
// not tested
var array = Read().Item1;
var path = Read().Item2;
array.RemoveAt(array.FindIndex(x => x.Customer.Equals(Customer)));
string jsonData = JsonConvert.SerializeObject(array);
File.WriteAllText(path, jsonData);
}
private CustomerMapLocations Find(string Customer)
{
var array = ReadJson().Item1;
var customer = array.Where(c => c.Customer.Equals(Customer)).FirstOrDefault();
return customer;
}
private Tuple<List<CustomerMapLocations>, string> Read()
{
// get base directory
var dir = AppDomain.CurrentDomain.BaseDirectory;
string path = $"{dir}/addresses.json";
//deserialize JSON from file
string Json = System.IO.File.ReadAllText(path);
JavaScriptSerializer ser = new JavaScriptSerializer();
var array = ser.Deserialize<List<CustomerMapLocations>>(Json);
return Tuple.Create(array, path);
}
private void Update(string Customer, double Long, double Lat)
{
var array = ReadJson().Item1;
var path = ReadJson().Item2;
array.Add(new CustomerMapLocations { Customer = Customer, Latitude = Lat, Longitude = Long });
string jsonData = JsonConvert.SerializeObject(array);
File.WriteAllText(path, jsonData);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment