private static void prepareGremio(Gremio gremio) { var direccion = gremio.Direccion; saveDepartamentoMunicipio(direccion.Departamento, direccion.Municipio); using (var uow = new NHibernateUnitOfWork(_sessionFactory.OpenSession())) { var representanteRepository = new RepresentanteLegalRepositoryReadOnly(uow.Session); var direccionRepository = new DireccionRepositoryReadOnly(uow.Session); var gremioRead = new GremioRepositoryReadOnly(uow.Session); if (!gremioRead.exists(gremio.Id)) { var gremioRepository = new GremioRepositoryCommands(uow.Session, representanteRepository, direccionRepository); gremioRepository.save(gremio); uow.commit(); } } }
private static void prepareEmpresa(Empresa empresa) { var gremio = empresa.Gremial; var sucursales = empresa.Sucursales; var actividades = empresa.ActividadesEconomicas; prepareGremio(gremio); sucursales.ToList().ForEach(x => prepareUser(x.Firma.User)); actividades.ToList().ForEach(prepareActividades); _session = _sessionFactory.OpenSession(); using (var uow = new NHibernateUnitOfWork(_sessionFactory.OpenSession())) { var repositoryGremios = new GremioRepositoryReadOnly(uow.Session); var repository = new EmpresaRepositoryCommands(uow.Session, repositoryGremios); repository.save(empresa); uow.commit(); } }