public void CreateDalChangeOperations_For_User_Delete_Test() { #region === ARRANGE === Mock <IRepository <DtoUser> > repositoryMock = new Mock <IRepository <DtoUser> >(); Mock <IRepositoryFactory> repositoryFactoryMock = new Mock <IRepositoryFactory>(); repositoryFactoryMock.Setup(x => x.CreateUsersRepository()).Returns(repositoryMock.Object); DataBaseOperationsFactory dataBaseOperationsFactory = new DataBaseOperationsFactory(); Mock <BusinessObject> businessObjectMock = new Mock <BusinessObject>(null); BusinessChangeEventArgs args = new BusinessChangeEventArgs(typeof(User)) { businessChangeType = BusinessChangeType.Delete, entity = new User("", null) }; InfrastructureOperationsFactory factory = new InfrastructureOperationsFactory(repositoryFactoryMock.Object, dataBaseOperationsFactory); #endregion #region === ACT === IInfrastructureOperation operation = factory.CreateDalChangeOperations(businessObjectMock.Object, args); operation.Execute(); #endregion #region === ASSERT === repositoryMock.Verify(mock => mock.Delete(It.IsAny <int>()), Times.Once()); #endregion }
public override void Delete(BusinessObject sender, BusinessChangeEventArgs args) { User user = (User)(args.entity); IRepository <DtoUser> repository = repositoryFactory.CreateUsersRepository(); repository.Delete(user.id); }
public override void Update(BusinessObject sender, BusinessChangeEventArgs args) { User user = (User)(args.entity); DtoUser dtoUser = new DtoUser(user.id, user.username, user.hash, user.active); IRepository <DtoUser> repository = repositoryFactory.CreateUsersRepository(); repository.Update(dtoUser); }
protected void handleBusinessNeed(object sender, BusinessChangeEventArgs args) { IInfrastructureOperation operation = infrastructureOperationsFactory.CreateDalChangeOperations((BusinessObject)sender, args); operation.Execute(); }
public IInfrastructureOperation CreateDalChangeOperations(BusinessObject sender, BusinessChangeEventArgs args) { Task task = null; ITableOperations operation = CreateTableOperation(args); if (operation != null) { task = new Task(() => { switch (args.businessChangeType) { case BusinessChangeType.Add: operation.Add(sender, args); break; case BusinessChangeType.Update: operation.Update(sender, args); break; case BusinessChangeType.Delete: operation.Delete(sender, args); break; default: break; } }); } return(new InfrastructureOperation(task)); }
public abstract void Delete(BusinessObject sender, BusinessChangeEventArgs args);