Skip to content

Instantly share code, notes, and snippets.

/HuyProject.cs Secret

Created November 23, 2016 09:52
Show Gist options
  • Save anonymous/fc97f14fc6a1476d0d61e0b3754b1ce4 to your computer and use it in GitHub Desktop.
Save anonymous/fc97f14fc6a1476d0d61e0b3754b1ce4 to your computer and use it in GitHub Desktop.
public class Huy
{
public int Id { get; }
public string Name { get; set; }
public long Length { get; set; }
public Huy(int id, string name, long length)
{
Id = id;
Name = name;
Length = length;
}
}
public interface IHuyRepository
{
Huy Get(int id);
void Add(Huy createdHuy);
void Modify(Huy modifiedHuy);
void Delete(Huy deletedHuy);
}
public delegate void HuyCreatedHandler(Huy createdHuy);
public delegate void HuyModifiedHandler(Huy modifiedHuy);
public delegate void HuyDeletedHandler(Huy deletedHuy);
public interface IHuyService
{
event HuyCreatedHandler HuyCreated;
event HuyModifiedHandler HuyModified;
event HuyDeletedHandler HuyDeleted;
}
public class HuyService : IHuyRepository, IHuyService
{
private readonly IHuyRepository _dectoratedRepository;
public event HuyCreatedHandler HuyCreated = _ => { };
public event HuyModifiedHandler HuyModified = _ => { };
public event HuyDeletedHandler HuyDeleted = _ => { };
public HuyService(IHuyRepository dectoratedRepository)
{
_dectoratedRepository = dectoratedRepository;
}
public Huy Get(int id) => _dectoratedRepository.Get(id);
public void Add(Huy createdHuy)
{
_dectoratedRepository.Add(createdHuy);
HuyCreated(createdHuy);
}
public void Modify(Huy modifiedHuy)
{
_dectoratedRepository.Modify(modifiedHuy);
HuyModified(modifiedHuy);
}
public void Delete(Huy deletedHuy)
{
_dectoratedRepository.Delete(deletedHuy);
HuyDeleted(deletedHuy);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment