public MembershipSnapshot Register(MembershipTable table) { var entry = table.Entry; var systemTarget = ServiceFactory.GetSystemTarget <IGatewayMembershipService>(entry.Identity, entry.Address); var membershipMember = new MembershipMember(systemTarget, table); membershipMembers[membershipMember.Address] = membershipMember; NotifyMembershipTableChanged(membershipVersion.Increment(), membershipMember.Identity); return(CreateSnapshot()); }
// 初始化窗口数据 private void CustomerManage_Load(object sender, EventArgs e) { DataTable table = manager.GetMembershipRecord(); // 获取所有会员等级信息 foreach (DataRow row in table.Rows) // 遍历得到的会员等级信息 { MembershipTable unit = new MembershipTable { // 创建对象获取信息 MemberNumber = (int)row["MemberNumber"], MembershipLevel = row["MembershipLevel"].ToString(), Discount = (double)row["Discount"] }; member.Add(unit); // 加载顾客会员等级信息 } }
public void TableChanged(MembershipTable table) { var entry = table.Entry; if (!membershipMembers.TryGetValue(entry.Address, out MembershipMember member)) { logger.Warn("{0} MembershipMember:{1} not found.", nameof(TableChanged), table.Entry.Address); return; } member.Update(table); var version = membershipVersion.Increment(); NotifyMembershipTableChanged(version, null); }
public MembershipTable CreateMembershipTable() { var table = new MembershipTable(); table.Version = membershipVersion; table.Rows = new List <MembershipRow>(); foreach (var activation in activations.Values) { if (activation.Identity.Category == Identity.Categories.Service) { var service = (IService)activation.Addressable; var row = new MembershipRow(); row.Identity = activation.Identity; row.ServiceType = activation.InterfaceType.AssemblyQualifiedName; if (service.Metadata != null) { row.Metadata = binarySerializer.Serialize(service.Metadata); } table.Rows.Add(row); } } return(table); }
public void Update(MembershipTable table) { this.table = table; }
public MembershipMember(IGatewayMembershipService systemTarget, MembershipTable table) { this.systemTarget = systemTarget; this.table = table; }