Skip to content

Instantly share code, notes, and snippets.

@domingoladron
Last active December 28, 2021 19:36
Show Gist options
  • Save domingoladron/7971b23bebcba9910c9f648b5e6f9c5f to your computer and use it in GitHub Desktop.
Save domingoladron/7971b23bebcba9910c9f648b5e6f9c5f to your computer and use it in GitHub Desktop.
DDD-ApplicationService-Encapsulation.cs
using System.Threading.Tasks;
using EncapsulationApi.DDD.DomainModels;
using EncapsulationApi.DDD.Repositories;
namespace EncapsulationApi.DDD.ApplicationServices
{
public class DomainModelApplicationService : IDomainModelApplicationService
{
private readonly IDomainModelRepository _domainModelRepository;
public DomainModelApplicationService(
IDomainModelRepository domainModelRepository)
{
_domainModelRepository = domainModelRepository;
}
/// <summary>
/// A simple method on our Application Service which knows nothing about
/// how the work is done, but simply what to call when to get the work completed.
/// </summary>
public async Task SubmitDraft()
{
var domainModel = await _domainModelRepository.GetDomainModel();
domainModel.ChangeState(DomainModelState.Submitted);
await _domainModelRepository.SaveDomainModel(domainModel);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment