main
1using gorilla.commons.utility;
2using MoMoney.Domain.repositories;
3
4namespace MoMoney.Domain.Accounting
5{
6 public interface ICompanyFactory : Factory<ICompany> {}
7
8 public class CompanyFactory : ICompanyFactory
9 {
10 readonly ComponentFactory<Company> factory;
11 readonly ICompanyRepository companys;
12
13 public CompanyFactory(ComponentFactory<Company> factory, ICompanyRepository companys)
14 {
15 this.factory = factory;
16 this.companys = companys;
17 }
18
19 public ICompany create()
20 {
21 var company = factory.create();
22 companys.save(company);
23 return company;
24 }
25 }
26}