public string GenerateUpdateJsonFromObject(Household updateFrom) { // form the json (determine the fields that need to be updated) var sb = new StringBuilder(); var sw = new StringWriter(sb); var writer = new JsonTextWriter(sw) { Formatting = Formatting.None }; writer.WriteStartObject(); writer.WritePropertyName(@"household"); writer.WriteStartObject(); if (!HouseholdName.Equals(updateFrom.HouseholdName)) { writer.WritePropertyName("name"); writer.WriteValue(updateFrom.HouseholdName); } if (!IntakeDate.Equals(updateFrom.IntakeDate)) { writer.WritePropertyName("intake_date"); writer.WriteValue(updateFrom.IntakeDate.ToString("yyyy-MM-dd")); } if (!AddressLine1.Equals(updateFrom.AddressLine1)) { writer.WritePropertyName("address_line_1"); writer.WriteValue(updateFrom.AddressLine1); } if (!AddressLine2.Equals(updateFrom.AddressLine2)) { writer.WritePropertyName("address_line_2"); writer.WriteValue(updateFrom.AddressLine2); } if (!PostalCode.Equals(updateFrom.PostalCode)) { writer.WritePropertyName("postal_code"); writer.WriteValue(updateFrom.PostalCode); } if (!DependentLocality.Equals(updateFrom.DependentLocality)) { writer.WritePropertyName("dependent_locality"); writer.WriteValue(updateFrom.DependentLocality); } if (!Locality.Equals(updateFrom.Locality)) { writer.WritePropertyName("locality"); writer.WriteValue(updateFrom.Locality); } if (!AdminvArea.Equals(updateFrom.AdminvArea)) { writer.WritePropertyName("adminv_area"); writer.WriteValue(updateFrom.AdminvArea); } if (!DependentAdminvArea.Equals(updateFrom.DependentAdminvArea)) { writer.WritePropertyName("dependent_adminv_area"); writer.WriteValue(updateFrom.DependentAdminvArea); } if (!Country.Equals(updateFrom.Country)) { writer.WritePropertyName("country"); writer.WriteValue(updateFrom.Country); } if (!AddressInfo.Equals(updateFrom.AddressInfo)) { writer.WritePropertyName("address_info"); writer.WriteValue(updateFrom.AddressInfo); } if (!GpsLatitude.Equals(updateFrom.GpsLatitude)) { writer.WritePropertyName("latitude"); writer.WriteValue(updateFrom.GpsLatitude ?? null); } if (!GpsLongitude.Equals(updateFrom.GpsLongitude)) { writer.WritePropertyName("longitude"); writer.WriteValue(updateFrom.GpsLongitude ?? null); } if (!GpsPositionAccuracy.Equals(updateFrom.GpsPositionAccuracy)) { writer.WritePropertyName("position_accuracy"); writer.WriteValue(updateFrom.GpsPositionAccuracy ?? null); } if (!GpsAltitude.Equals(updateFrom.GpsAltitude)) { writer.WritePropertyName("altitude"); writer.WriteValue(updateFrom.GpsAltitude ?? null); } if (!GpsAltitudeAccuracy.Equals(updateFrom.GpsAltitudeAccuracy)) { writer.WritePropertyName("altitude_accuracy"); writer.WriteValue(updateFrom.GpsAltitudeAccuracy ?? null); } if (!GpsHeading.Equals(updateFrom.GpsHeading)) { writer.WritePropertyName("heading"); writer.WriteValue(updateFrom.GpsHeading ?? null); } if (!GpsSpeed.Equals(updateFrom.GpsSpeed)) { writer.WritePropertyName("speed"); writer.WriteValue(updateFrom.GpsSpeed ?? null); } if (!GpsPositionTime.Equals(updateFrom.GpsPositionTime)) { writer.WritePropertyName("gps_recorded_at"); writer.WriteValue(updateFrom.GpsPositionTime ?? null); } writer.WriteEndObject(); writer.WriteEndObject(); return(sw.ToString()); }
public bool GetObjectNeedsUpate(Household checkUpdateFrom) { if (!HouseholdName.Equals(checkUpdateFrom.HouseholdName)) { return(true); } if (!IntakeDate.Equals(checkUpdateFrom.IntakeDate)) { return(true); } if (!AddressLine1.Equals(checkUpdateFrom.AddressLine1)) { return(true); } if (!AddressLine2.Equals(checkUpdateFrom.AddressLine2)) { return(true); } if (!PostalCode.Equals(checkUpdateFrom.PostalCode)) { return(true); } if (!DependentLocality.Equals(checkUpdateFrom.DependentLocality)) { return(true); } if (!Locality.Equals(checkUpdateFrom.Locality)) { return(true); } if (!AdminvArea.Equals(checkUpdateFrom.AdminvArea)) { return(true); } if (!DependentAdminvArea.Equals(checkUpdateFrom.DependentAdminvArea)) { return(true); } if (!Country.Equals(checkUpdateFrom.Country)) { return(true); } if (!AddressInfo.Equals(checkUpdateFrom.AddressInfo)) { return(true); } if (!GpsLatitude.Equals(checkUpdateFrom.GpsLatitude)) { return(true); } if (!GpsLongitude.Equals(checkUpdateFrom.GpsLongitude)) { return(true); } if (!GpsPositionAccuracy.Equals(checkUpdateFrom.GpsPositionAccuracy)) { return(true); } if (!GpsAltitude.Equals(checkUpdateFrom.GpsAltitude)) { return(true); } if (!GpsAltitudeAccuracy.Equals(checkUpdateFrom.GpsAltitudeAccuracy)) { return(true); } if (!GpsHeading.Equals(checkUpdateFrom.GpsHeading)) { return(true); } if (!GpsSpeed.Equals(checkUpdateFrom.GpsSpeed)) { return(true); } if (!GpsPositionTime.Equals(checkUpdateFrom.GpsPositionTime)) { return(true); } return(false); }