• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# IAggregateRoot类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中IAggregateRoot的典型用法代码示例。如果您正苦于以下问题:C# IAggregateRoot类的具体用法?C# IAggregateRoot怎么用?C# IAggregateRoot使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



IAggregateRoot类属于命名空间,在下文中一共展示了IAggregateRoot类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: PersistUpdateOf

        public void PersistUpdateOf(IAggregateRoot entity)
        {
            Account account = entity as Account;

            string sql = "UPDATE Account SET [email protected] WHERE [email protected]";
            SqlParameter parameter1 = new SqlParameter("@Id", account.Id);
            SqlParameter parameter2= new SqlParameter("@Balance", account.Balance);

            using (SqlConnection conn = new SqlConnection(_connStr))
            {
                conn.Open();
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;
                    cmd.Parameters.Add(parameter1);
                    cmd.Parameters.Add(parameter2);

                    int affectedCount = cmd.ExecuteNonQuery();

                    if (affectedCount <= 0) 
                    {
                        throw new Exception("update Account failed");
                    }
                }
            }
        }
开发者ID:NDChen,项目名称:MyDemoCode,代码行数:26,代码来源:AccountRepository.cs


示例2: RegisterUpdate

		public void RegisterUpdate(IAggregateRoot aggregateRoot, IUnitOfWorkRepository repository)
		{
			if (!_updatedAggregates.ContainsKey(aggregateRoot))
			{
				_updatedAggregates.Add(aggregateRoot, repository);
			}
		}
开发者ID:hanson-huang,项目名称:DDDSkeletonNet,代码行数:7,代码来源:InMemoryUnitOfWork.cs


示例3: UserSnapshot

		public UserSnapshot(IAggregateRoot root, string name, int age)
		{
			Id = root.Id;
			Version = root.Version;
			Name = name;
			Age = age;
		}
开发者ID:Kostassoid,项目名称:Nerve.EventStore,代码行数:7,代码来源:UserSnapshot.cs


示例4: RegisterNew

 public void RegisterNew(IAggregateRoot entity, IUnitOfWorkRepository unitOfWorkRepository)
 {
     if (!addedEntities.ContainsKey(entity))
     {
         addedEntities.Add(entity, unitOfWorkRepository);
     }
 }
开发者ID:xiaoyaopan,项目名称:Enterprise-Pattern,代码行数:7,代码来源:UnitOfWork.cs


示例5: RegisterRemoved

 public void RegisterRemoved(IAggregateRoot entity, IUnitOfWorkRepository unitOfWorkRepository)
 {
     if (!deletedEntities.ContainsKey(entity))
     {
         deletedEntities.Add(entity, unitOfWorkRepository);
     }
 }
开发者ID:xiaoyaopan,项目名称:Enterprise-Pattern,代码行数:7,代码来源:UnitOfWork.cs


示例6: Add

 public void Add(IAggregateRoot entity, IUnitOfWorkRepository uowRepository)
 {
     if (!_addedEntities.ContainsKey(entity))
     {
         _addedEntities.Add(entity, uowRepository);
     }
 }
开发者ID:winsaludar,项目名称:Base,代码行数:7,代码来源:UnitOfWork.cs


示例7: RegisterAmended

 public void RegisterAmended(IAggregateRoot objectEntity, IUnitOfWorkRepository unitOfWorkRepository)
 {
     if (!changedEntities.ContainsKey(objectEntity))
     {
         changedEntities.Add(objectEntity, unitOfWorkRepository);
     }
 }
开发者ID:uczenn,项目名称:VoteProject,代码行数:7,代码来源:UnitOfWork.cs


示例8: RegisterRemoved

 public void RegisterRemoved(IAggregateRoot objectEntity, IUnitOfWorkRepository unitOfWorkRepository)
 {
     if (!removedEntities.ContainsKey(objectEntity))
     {
         removedEntities.Add(objectEntity, unitOfWorkRepository);
     }
 }
开发者ID:uczenn,项目名称:VoteProject,代码行数:7,代码来源:UnitOfWork.cs


示例9: AggregateChangedEventArgs

        /// <summary>
        /// Initializes a new instance of the <see cref="AggregateChangedEventArgs"/> class.
        /// </summary>
        /// <param name="aggregateRoot">The aggregate root.</param>
        /// <param name="entity">The entity.</param>
        /// <param name="propertyName">Name of the property.</param>
        /// <param name="oldValue">The old value.</param>
        /// <param name="newValue">The new value.</param>
        public AggregateChangedEventArgs(
            IAggregateRoot aggregateRoot,
            IEntity entity,
            string propertyName,
            object oldValue,
            object newValue )
        {
            if ( aggregateRoot == null )
            {
                throw new ArgumentNullException ( "aggregateRoot" );
            }

            if ( entity == null )
            {
                throw new ArgumentNullException ( "entity" );
            }

            if ( string.IsNullOrWhiteSpace ( propertyName ) )
            {
                throw new ArgumentNullException ( "propertyName" );
            }

            AggregateChangedType = AggregateChangedType.PropertyValueChanged;
            AggregateRoot = aggregateRoot;
            SourceEntity = entity;
            PropertyName = propertyName;
            OldValue = oldValue;
            NewValue = newValue;
        }
开发者ID:divyang4481,项目名称:REM,代码行数:37,代码来源:AggregateChangedEventArgs.cs


示例10: Add

 public void Add(IAggregateRoot aggregateRoot)
 {
     if (!_aggregateRoots.ContainsKey(aggregateRoot.AggregateRootId))
     {
         _aggregateRoots.TryAdd(aggregateRoot.AggregateRootId, aggregateRoot);
     }
 }
开发者ID:liuxiqin,项目名称:Sevens,代码行数:7,代码来源:AggregateRootMemoryCache.cs


示例11: RegisterDeletion

		public void RegisterDeletion(IAggregateRoot aggregateRoot, IUnitOfWorkRepository repository)
		{
			if (!_deletedAggregates.ContainsKey(aggregateRoot))
			{
				_deletedAggregates.Add(aggregateRoot, repository);
			}
		}
开发者ID:hanson-huang,项目名称:DDDSkeletonNet,代码行数:7,代码来源:InMemoryUnitOfWork.cs


示例12: Handle

		public void Handle(IAggregateRoot root, IDomainEvent ev)
		{
			MethodInvoker invoker;
			if (!_handlers.TryGetValue(ev.GetType(), out invoker))
			{
				throw new InvalidOperationException(string.Format("Apply method for event [{0}] wasn't resolved in [{1}]", ev.GetType().Name, root.GetType().Name));
			}

			invoker.Invoke(root, new object[] {ev});
		}
开发者ID:Kostassoid,项目名称:Nerve.EventStore,代码行数:10,代码来源:EventHandlerRegistry.cs


示例13: CreateMessage

 private DomainEventStreamMessage CreateMessage(IAggregateRoot aggregateRoot)
 {
     return new DomainEventStreamMessage(
         ObjectId.GenerateNewStringId(),
         aggregateRoot.UniqueId,
         aggregateRoot.Version + 1,
         aggregateRoot.GetType().FullName,
         aggregateRoot.GetChanges(),
         new Dictionary<string, string>());
 }
开发者ID:ulswww,项目名称:enode,代码行数:10,代码来源:EventSequenceTest.cs


示例14: RegisterNew

 public void RegisterNew(IAggregateRoot entity, IUnitOfWorkRepository repository)
 {
     List<IAggregateRoot> items = null;
     if (!add.TryGetValue(repository, out items))
     {
         items = new List<IAggregateRoot>();
         add.Add(repository, items);
     }
     items.Add(entity);
 }
开发者ID:afrancocode,项目名称:ConcurrencyPatterns,代码行数:10,代码来源:UnitOfWork.cs


示例15: BuildEventStream

 private EventStreamRecord BuildEventStream(IAggregateRoot aggregateRoot, string commandId)
 {
     return new EventStreamRecord()
     {
         AggregateRootId = aggregateRoot.AggregateRootId,
         CommandId = commandId,
         Version = aggregateRoot.Version,
         EventDatas = _binarySerializer.Serialize(aggregateRoot.GetUnCommitEvents())
     };
 }
开发者ID:liuxiqin,项目名称:Sevens,代码行数:10,代码来源:DefaultCommandProssor.cs


示例16: Store

 public void Store(IDocumentSession session, IAggregateRoot root)
 {
    if (ShouldPersistSnapshot(root))
    {
       StoreSnapshot(session, root);
       SetRecentSnaphotVersion(session, root);
    }
    else
    {
       StoreEvents(session, root);
    }
 }
开发者ID:ssajous,项目名称:DDDSample.Net,代码行数:12,代码来源:UnitOfWork.cs


示例17: CreateSnapshot

        public Snapshot CreateSnapshot(IAggregateRoot aggregateRoot)
        {
            if (aggregateRoot == null)
            {
                throw new ArgumentNullException("aggregateRoot");
            }

            var payload = _binarySerializer.Serialize(aggregateRoot);
            var aggregateRootTypeCode = _aggregateRootTypeCodeProvider.GetTypeCode(aggregateRoot.GetType());

            return new Snapshot(aggregateRootTypeCode, aggregateRoot.UniqueId, aggregateRoot.Version, payload, DateTime.Now);
        }
开发者ID:homerCourage,项目名称:enode,代码行数:12,代码来源:DefaultSnapshotter.cs


示例18: CreateMessage

        private static string CreateMessage(IAggregateRoot aggRoot, ICommand c, Exception ex)
        {
            var msg = "The action you were trying to perform succeeded, however not all systems have been updated yet.";
            msg += Environment.NewLine;
            msg += Environment.NewLine;
            msg += "Aggregate ID: " + aggRoot.AggregateId.ToString();
            msg += Environment.NewLine;
            msg += "Command ID: " + c.CommandId.ToString();
            msg += Environment.NewLine;
            msg += "Exception: " + ex.GetType().Name + " - " + ex.Message;

            return msg;
        }
开发者ID:iliasjennane,项目名称:pokerleaguemanager,代码行数:13,代码来源:PublishEventFailedException.cs


示例19: Apply

		internal static void Apply(IAggregateRoot root, IDomainEvent ev)
		{
			var rootType = root.GetType();
			EventHandlerRegistry registry;
			if (!_handlers.TryGetValue(rootType, out registry))
			{
				registry = new EventHandlerRegistry(ApplyMethodResolver.ResolveAll(rootType));
				_handlers[rootType] = registry;
			}

			registry.Handle(root, ev);

			//ResolveApplyMethodDelegate(root.GetType(), ev.GetType())(root, ev);
		}
开发者ID:Kostassoid,项目名称:Nerve.EventStore,代码行数:14,代码来源:DomainSettings.cs


示例20: CreateMessage

        private static string CreateMessage(IAggregateRoot aggRoot, Guid originalVersion, Guid currentVersion)
        {
            var aggType = aggRoot.GetType().Name;

            var msg = string.Format("The {0} you were trying to save has been updated by another user, you will have to start the editing process again to retry.", aggType);
            msg += Environment.NewLine;
            msg += Environment.NewLine;
            msg += "Aggregate ID: " + aggRoot.AggregateId.ToString();
            msg += Environment.NewLine;
            msg += "Original Version: " + originalVersion.ToString();
            msg += Environment.NewLine;
            msg += "Current Version: " + currentVersion.ToString();

            return msg;
        }
开发者ID:iliasjennane,项目名称:pokerleaguemanager,代码行数:15,代码来源:OptimisticConcurrencyException.cs



注:本文中的IAggregateRoot类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# IAlbum类代码示例发布时间:2022-05-24
下一篇:
C# IAgentData类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap