async Task StoreRuleAsync(Rule rule) { var callback = new Ztm.Data.Entity.Contexts.Main.WebApiCallback() { Id = rule.Callback.Id, RegisteredIp = rule.Callback.RegisteredIp, RegisteredTime = rule.Callback.RegisteredTime, Completed = rule.Callback.Completed, Url = rule.Callback.Url, }; var address = new Ztm.Data.Entity.Contexts.Main.ReceivingAddress() { Id = rule.AddressReservation.Address.Id, Address = rule.AddressReservation.Address.Address.ToString(), IsLocked = rule.AddressReservation.Address.IsLocked, }; var reservation = new Data.Entity.Contexts.Main.ReceivingAddressReservation() { Id = rule.AddressReservation.Id, AddressId = rule.AddressReservation.Address.Id, LockedAt = rule.AddressReservation.ReservedDate, ReleasedAt = rule.AddressReservation.ReleasedDate, }; var entity = new Ztm.Data.Entity.Contexts.Main.TokenReceivingWatcherRule() { Id = rule.Id, CallbackId = rule.Callback.Id, PropertyId = rule.Property.Value, AddressReservationId = rule.AddressReservation.Id, TargetAmount = rule.TargetAmount.Indivisible, TargetConfirmation = rule.TargetConfirmation, OriginalTimeout = rule.OriginalTimeout, CurrentTimeout = rule.OriginalTimeout, TimeoutStatus = rule.TimeoutStatus, Status = Ztm.Data.Entity.Contexts.Main.TokenReceivingWatcherRuleStatus.Uncompleted, }; using (var db = this.db.CreateDbContext()) { await db.WebApiCallbacks.AddAsync(callback); await db.ReceivingAddresses.AddAsync(address); await db.ReceivingAddressReservations.AddAsync(reservation); await db.TokenReceivingWatcherRules.AddAsync(entity); await db.SaveChangesAsync(); } }
async Task CreateCallbackAsync(Callback callback) { var entity = new Ztm.Data.Entity.Contexts.Main.WebApiCallback() { Id = callback.Id, RegisteredIp = callback.RegisteredIp, RegisteredTime = callback.RegisteredTime.ToUniversalTime(), Completed = callback.Completed, Url = callback.Url, }; using (var db = this.db.CreateDbContext()) { await db.WebApiCallbacks.AddAsync(entity); await db.SaveChangesAsync(); } }