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}