public void CreateEntityWithValidInput() { // ARRANGE DTOModelA modelA = new DTOModelA { Id = 0, Name = "Pippo", Surname = "Poppi" }; DTOModelA result = new DTOModelA(); IEntityA mockEntityA = Substitute.For <EntityAMock>(); IRepositoryA mockRepositoryA = Substitute.For <RepositoryAMock>(); mockRepositoryA.CreateEntity(mockEntityA); IDataStore mockDataStore = Substitute.For <DataStoreMock>(); IDataSupplier mockDataSupplier = Substitute.For <DataSupplierMock>(); ICoreStore mockCoreStore = Substitute.For <CoreStoreMock>(); // ACT ICoreSupplier testCoreSupplier = CoreSupplier.Instance(mockCoreStore); testCoreSupplier.GetFeatureA.CreatePost(modelA); result = testCoreSupplier.GetFeatureA.DetailsGet(modelA); // ASSERT Assert.IsInstanceOf <DTOModelA>(result); Assert.AreEqual(modelA.Id, result.Id); }
public void testDefaultConstructorOnInterface() { IEntityA entity = EntityFactory.CreateEntity <IEntityA>(); Assert.AssertNotNull(entity); ConstructorInfo[] declaredConstructors = entity.GetType().GetConstructors(BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance | BindingFlags.Static); Assert.AssertEquals(1, declaredConstructors.Length); ConstructorInfo defaultConstructor = declaredConstructors[0]; Assert.AssertEquals(0, defaultConstructor.GetParameters().Length); }
public int CreateEntity(IEntityA entityA) { try { if (entityA != null) { entityA.Id = new Random().Next(); RepositoryDbContext.EntitiesA.Add(entityA); return(entityA.Id); } } catch (Exception exception) { throw new DbUpdateException(GetType().FullName + " - " + MethodBase.GetCurrentMethod().Name, exception); } return(0); }
public bool DeleteEntity(IEntityA entityA) { try { EntityA original = (EntityA)RepositoryDbContext.EntitiesA.Find(entityA.Id); if (original != null) { RepositoryDbContext.EntitiesA.Remove(original); return(true); } } catch (Exception exception) { throw new DbUpdateException(GetType().FullName + " - " + MethodBase.GetCurrentMethod().Name, exception); } return(false); }
public EntityADto EntityMapping(IEntityA entityA)// { // Comprobamos el parámetro de entrada. Guard.ArgumentIsNotNull( entityA, string.Format( Inflexion2.Resources.Framework.MapperErrorEntityNull, "Entity A") // usar un fichero de recursos para el dominio de negocio Company.Product.BoundedContext.Resources.Business.CategoriaAlias ); EntityADto entityADto = new EntityADto(); // propiedades entityADto.Id = entityA.Id; entityADto.Name = entityA.Name; // composiciones entityADto.EntitiesofC = new List <EntityCDto>(); var entityCMapper = new EntityCMapper(); foreach (IEntityC entity in entityA.EntitiesofC) { var entityDto = entityCMapper.EntityMapping(entity); entityADto.EntitiesofC.Add(entityDto); } // agregados entityADto.EntitiesofB = new List <int>(); foreach (var entity in entityA.EntitiesofB) { var Tidentifier = entity.Id; entityADto.EntitiesofB.Add(Tidentifier); } // Devolvemos el resultado. return(entityADto); } // EntityMapping
public EntityADto EntityMapping(IEntityA entityA)// { // Comprobamos el parámetro de entrada. Guard.ArgumentIsNotNull( entityA, string.Format( Inflexion2.Resources.Framework.MapperErrorEntityNull, "Entity A") // usar un fichero de recursos para el dominio de negocio Company.Product.BoundedContext.Resources.Business.CategoriaAlias ); EntityADto entityADto = new EntityADto(); // propiedades entityADto.Id = entityA.Id; entityADto.Name = entityA.Name; // composiciones entityADto.EntitiesofC = new List<EntityCDto>(); var entityCMapper = new EntityCMapper(); foreach (IEntityC entity in entityA.EntitiesofC) { var entityDto = entityCMapper.EntityMapping(entity); entityADto.EntitiesofC.Add(entityDto); } // agregados entityADto.EntitiesofB = new List<int>(); foreach (var entity in entityA.EntitiesofB) { var Tidentifier = entity.Id; entityADto.EntitiesofB.Add(Tidentifier); } // Devolvemos el resultado. return entityADto; } // EntityMapping
public bool UpdateEntity(IEntityA entityA) { throw new NotImplementedException(); }
public int CreateEntity(IEntityA entityA) { return(entityA.Id); }
public void starter() { this.unityContainer = new UnityContainer(); ServiceLocator.Initialize( (x, y) => this.unityContainer.RegisterType(x, y), (x, y) => this.unityContainer.RegisterInstance(x, y), (x) => { return(this.unityContainer.Resolve(x)); }, (x) => { return(this.unityContainer.ResolveAll(x)); }); // Context Factory connString = this.ConnectionString(); RootAggregateFrameworkUnitOfWorkFactory <BootstrapUnitOfWork> ctxFactory = new RootAggregateFrameworkUnitOfWorkFactory <BootstrapUnitOfWork>(connString); if (!ctxFactory.DatabaseExists()) { ctxFactory.CreateDatabase(); } ctxFactory.ValidateDatabaseSchema(); this.unityContainer.RegisterInstance <IDatabaseManager>(ctxFactory); this.unityContainer.RegisterType <DbContext, BootstrapUnitOfWork>(this.contextPerTestLifeTimeManager, new InjectionConstructor(connString)); this.unityContainer.RegisterType <IUnitOfWork, EntityFrameworkUnitOfWork>(this.unitOfWorkPerTestLifeTimeManager); // Repositories this.unityContainer.RegisterType <IEntityARepository, EntityARepository>(new PerResolveLifetimeManager()); this.unityContainer.RegisterType <IEntityBRepository, EntityBRepository>(new PerResolveLifetimeManager()); ApplicationContext.User = new CorePrincipal(new CoreIdentity("cmendible", "hexa.auth", "*****@*****.**"), new string[] { }); // comienzan las operaciones // añadimos una entidad // metodo sin factoria y con constructor publico //var entityA = new EntityA(); // entityA.Name = "Martin"; // metodo con factoria y constructor interno IEntityA entityA = EntityAFactory.Create("Martin"); entityA.CanBeDeleted(); IEntityARepository repo = this.unityContainer.Resolve <IEntityARepository>(); repo.Add((EntityA)entityA); this.Commit(); entityA.CanBeDeleted(); // añadimos 2 entidades y su relación var a = EntityAFactory.Create("Willi"); var b = EntityBFactory.Create("matematicas"); a.AddB(b); IEntityARepository repoA = this.unityContainer.Resolve <IEntityARepository>(); IEntityBRepository repoB = this.unityContainer.Resolve <IEntityBRepository>(); repoB.Add((EntityB)b); repoA.Add((EntityA)a); this.Commit(); //añadimos una entidad c dependiente de entidad a la primera entidad a EntityA padre = repoA.GetFilteredElements(e => e.Id == 1).FirstOrDefault(); EntityC hijo = EntityCFactory.Create(padre, "hijo"); this.Commit(); padre = repoA.GetFilteredElements(e => e.Id == 1).FirstOrDefault(); padre.CanBeDeleted(); }