diff --git a/Program.cs b/Program.cs
index 04c0913..8b0e582 100644
--- a/Program.cs
+++ b/Program.cs
@@ -32,6 +32,15 @@ namespace BinaryDad.AggregateDal
#endregion
+ #region Update attempt
+
+ newAttempt.ClientFirstName = "Rick";
+ newAttempt.ClientLastName = "Martini";
+
+ settlementAttemptDataAccess.UpdateAttempt(newAttempt);
+
+ #endregion
+
#region Get attempt
var attempt = settlementAttemptDataAccess.GetAttempt(1234);
diff --git a/SettlementAttempt/EfSettlementAttemptDataAccess.cs b/SettlementAttempt/EfSettlementAttemptDataAccess.cs
index 264f765..8340d4e 100644
--- a/SettlementAttempt/EfSettlementAttemptDataAccess.cs
+++ b/SettlementAttempt/EfSettlementAttemptDataAccess.cs
@@ -19,6 +19,15 @@ namespace BinaryDad.AggregateDal
return true;
}
+ public virtual bool UpdateAttempt(SettlementAttempt attempt)
+ {
+ Console.WriteLine($"Updating attempt ID {attempt.Id} to SQL");
+
+ // use EF to attach to context and SaveChanges()
+
+ return true;
+ }
+
public SettlementAttempt GetAttempt(int recordId)
{
Console.WriteLine($"Getting attempt {recordId} from SQL");
diff --git a/SettlementAttempt/ISettlementAttemptDataAccess.cs b/SettlementAttempt/ISettlementAttemptDataAccess.cs
index 5149445..1664383 100644
--- a/SettlementAttempt/ISettlementAttemptDataAccess.cs
+++ b/SettlementAttempt/ISettlementAttemptDataAccess.cs
@@ -11,6 +11,13 @@ namespace BinaryDad.AggregateDal
/// Whether the add operation was successful
bool AddAttempt(SettlementAttempt attempt);
+ ///
+ /// Updates an attempt
+ ///
+ /// An existing attempt to update
+ ///
+ bool UpdateAttempt(SettlementAttempt attempt);
+
///
/// Retrieves an existing settlement attempt
///
diff --git a/SettlementAttempt/QuickBaseSettlementAttemptDataAccess.cs b/SettlementAttempt/QuickBaseSettlementAttemptDataAccess.cs
index 8535301..2897bab 100644
--- a/SettlementAttempt/QuickBaseSettlementAttemptDataAccess.cs
+++ b/SettlementAttempt/QuickBaseSettlementAttemptDataAccess.cs
@@ -21,5 +21,19 @@ namespace BinaryDad.AggregateDal
return true;
}
+
+ public override bool UpdateAttempt(SettlementAttempt attempt)
+ {
+ // update SQL first
+ base.UpdateAttempt(attempt);
+
+ // use mapping of the properties to build a request using QB API
+ // consider using reflection on the type, such as use of a [QuickBaseField(SettlementAttemptFieldMap.ClientFirstName)]
+ // to build list of mappings in QB API
+
+ Console.WriteLine($"Updating attempt ID {attempt.RecordId} to Quickbase with SQL ID {attempt.Id}");
+
+ return true;
+ }
}
}