Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 6
0
 public abstract void Delete(BusinessObject sender, BusinessChangeEventArgs args);