From a455bc6f78093399b332b32f6647a5f30b681a89 Mon Sep 17 00:00:00 2001
From: Klaus Fischer <klaus.fischer@eloware.com>
Date: Mon, 27 Jun 2022 13:29:58 +0200
Subject: [PATCH] Added documentation

---
 DummyClient/Program.cs              |  2 +-
 FitConnect/Interfaces/IFluentApi.cs | 45 ++++++++++++++++++++++++++---
 2 files changed, 42 insertions(+), 5 deletions(-)

diff --git a/DummyClient/Program.cs b/DummyClient/Program.cs
index 3c6e57bd..a0b41b48 100644
--- a/DummyClient/Program.cs
+++ b/DummyClient/Program.cs
@@ -22,7 +22,7 @@ void FluentSenderCall() {
 
 void FluentSubscriberCall() {
     var submissions = client.Subscriber
-        .GetAvailableSubmissions();
+        .GetAvailableSubmissions("destinationId");
 
     client.Subscriber.RequestSubmission("submissionId")
         .GetAttachments((attachments => {
diff --git a/FitConnect/Interfaces/IFluentApi.cs b/FitConnect/Interfaces/IFluentApi.cs
index fdd214a0..374f38c0 100644
--- a/FitConnect/Interfaces/IFluentApi.cs
+++ b/FitConnect/Interfaces/IFluentApi.cs
@@ -5,17 +5,37 @@ using FitConnect.Models;
 namespace FitConnect;
 
 public interface IFluentSender {
+    /// <summary>
+    /// Configures the client for the given destination and load the public key
+    /// </summary>
+    /// <param name="destinationId">unique identifier of the clients destination</param>
+    /// <returns>the upload step for attachments</returns>
     public IFluentSenderWithDestination WithDestination(string destinationId);
-    public IFluentSenderWithAttachments WithAttachments(IEnumerable<Attachment> attachments);
+
     public IFluentSenderWithData WithData(string data);
+
+    /// <summary>
+    /// Send submission to FIT-Connect API.
+    /// </summary>
+    /// <returns>object of the handed in submission</returns>
     public Submission Submit();
 }
 
 public interface IFluentSenderWithDestination {
+    /// <summary>
+    /// Sends the submission with a list of attachments
+    /// </summary>
+    /// <param name="attachments">that are sent with the submission</param>
+    /// <returns>the step where additional data can be added to the submission</returns>
     public IFluentSenderWithAttachments WithAttachments(IEnumerable<Attachment> attachments);
 }
 
 public interface IFluentSenderWithAttachments : IFluentSenderReady {
+    /// <summary>
+    /// Data as string.
+    /// </summary>
+    /// <param name="data">json or xml as string</param>
+    /// <returns>next step to submit the data</returns>
     public IFluentSenderWithData WithData(string data);
 }
 
@@ -23,19 +43,36 @@ public interface IFluentSenderWithData : IFluentSenderReady {
 }
 
 public interface IFluentSenderReady {
+    /// <summary>
+    /// Send submission to FIT-Connect API.
+    /// </summary>
+    /// <returns>object of the handed in submission</returns>
     public IFluentSender Submit();
 }
 
 public interface IFluentSubscriber {
-    public IEnumerable<string> GetAvailableSubmissions();
+    /// <summary>
+    /// Loads a list of available Submissions that were submitted to the subscriber.
+    /// </summary>
+    /// <returns>List of available submissions for pickup</returns>
+    public IEnumerable<string> GetAvailableSubmissions(string? destinationId = null);
+
+    /// <summary>
+    /// Loads a single Submission by id.
+    /// </summary>
+    /// <param name="submissionId">unique identifier of a <see cref="Submission"/></param>
+    /// <returns></returns>
     public IFluentSubscriberWithSubmission RequestSubmission(string submissionId);
 }
 
 public interface IFluentSubscriberWithSubmission {
     public Submission Submission { get; }
 
+    /// <summary>
+    /// Loads the <see cref="Attachment"/>s for the given <see cref="Submission"/>.
+    /// </summary>
+    /// <param name="canSubmitSubmission">Function that returns a boolean if the <see cref="Submission"/> can be confirmed</param>
+    /// <returns></returns>
     public IFluentSenderWithAttachments GetAttachments(
         Func<IEnumerable<Attachment>, bool> canSubmitSubmission);
-
-    public void ConfirmSubmission(string submissionId);
 }
-- 
GitLab