public MemberView NewMember() { var cmid = Interlocked.Increment(ref _nextCmid); var publicProfile = new PublicProfileView( cmid, "Player", MemberAccessLevel.Default, false, DateTime.UtcNow, EmailAddressStatus.Unverified, "-1" ); var memberWallet = new MemberWalletView( cmid, _ctx.Configuration.Wallet.StartingCredits, _ctx.Configuration.Wallet.StartingPoints, DateTime.MaxValue, DateTime.MaxValue ); var memberInventories = new List <ItemInventoryView> { new ItemInventoryView(1, null, -1, cmid), new ItemInventoryView(12, null, -1, cmid) }; //TODO: Create helper function for conversion of this stuff. var memberItems = new List <int>(); for (int i = 0; i < memberInventories.Count; i++) { memberItems.Add(memberInventories[i].ItemId); } var memberLoadout = new LoadoutView { Cmid = cmid, MeleeWeapon = 1, Weapon1 = 12 }; var member = new MemberView( publicProfile, memberWallet, memberItems ); // Save the member. Db.Profiles.Save(publicProfile); Db.Wallets.Save(memberWallet); Db.Inventories.Save(cmid, memberInventories); Db.Loadouts.Save(memberLoadout); Db.SetNextCmid(_nextCmid); return(member); }
public static void Serialize(Stream stream, MemberWalletView instance) { using (MemoryStream memoryStream = new MemoryStream()) { Int32Proxy.Serialize(memoryStream, instance.Cmid); Int32Proxy.Serialize(memoryStream, instance.Credits); DateTimeProxy.Serialize(memoryStream, instance.CreditsExpiration); Int32Proxy.Serialize(memoryStream, instance.Points); DateTimeProxy.Serialize(memoryStream, instance.PointsExpiration); memoryStream.WriteTo(stream); } }
public void Save(MemberWalletView view) { if (view == null) { throw new ArgumentNullException(nameof(view)); } var cmid = view.Cmid; if (cmid <= 0) { throw new ArgumentException("CMID of PublicProfileView must be greater than 0."); } var path = Path.Combine(ROOT_DIR, cmid + ".json"); var json = JsonConvert.SerializeObject(view); File.WriteAllText(path, json); }
private void OnGetMemberWalletEventReturn(MemberWalletView ev) { NotifyPointsAndCreditsChanges(ev.Points, ev.Credits); UpdateSecurePointsAndCredits(ev.Points, ev.Credits); }