using System.Collections.Immutable; using Common.Documents; using Connected.Annotations; using Connected.Notifications; using Connected.ServiceModel; namespace Logistics.Documents.Receive; /// /// Represents service for the document. /// [Service] [ServiceUrl(DocumentUrls.Receives)] public interface IReceivePostingDocumentService : IDocumentService { event ServiceEventHandler> PlannedItemUpdated; /// /// Inserts a new . /// /// The arguments containing the properties of the new document. /// The id of the newly inserted document. Task Insert(InsertReceivePostingDocumentArgs args); /// /// Updates document. /// /// The arguments containing changed properties of the document. Task Update(UpdateReceivePostingDocumentArgs args); /// /// Performs partial update on the for the properties specified /// in arguments. /// /// The arguments containing properties that need to be updated. Task Patch(PatchArgs args); /// /// Deletes from the storage. /// /// The arguments containing the id of the document that is about to be deleted. Task Delete(PrimaryKeyArgs args); /// /// Selects for the specified id. /// /// The arguments containing the id. /// is found, null otherwise. Task Select(PrimaryKeyArgs args); /// /// Queries for the specified document. /// /// The arguments containing the id of the parent receive document. /// if found, null otherwise. Task> Query(PrimaryKeyArgs args); /// /// Inserts a new into the document. /// /// The arguments containing the properties of the new item. /// The id of the newly inserted item. Task InsertItem(InsertReceivePostingItemArgs args); Task PatchPlanedItem(PatchArgs args); /// /// Queries the items for the specified . /// /// The arguments containing the id of the document for which the items to be /// queried. /// The list of items that belong to the specified document. Task> QueryItems(PrimaryKeyArgs args); /// /// Selects the item for the specified id. /// /// The arguments containing the id of the item. /// The if found, null otherwise. Task SelectItem(PrimaryKeyArgs args); /// /// Updates . /// /// The arguments containing the changed properties of the item. Task UpdatePlannedItem(UpdateReceivePlannedItemArgs args); Task SelectPlannedItem(PrimaryKeyArgs args); Task SelectPlannedItem(SelectReceivePlannedItemArgs args); Task> QueryPlannedItems(PrimaryKeyArgs args); Task> QueryPlannedItems(PrimaryKeyArgs args); }