ReceivingAddressReservation ToDomain(ReceivingAddressReservationModel entity, ReceivingAddress address = null) { var released = (entity.ReleasedAt != null) ? (DateTime?)DateTime.SpecifyKind(entity.ReleasedAt.Value, DateTimeKind.Utc) : null; return(new ReceivingAddressReservation( entity.Id, address != null ? address : ToDomain(entity.Address), DateTime.SpecifyKind(entity.LockedAt, DateTimeKind.Utc), released)); }
ReceivingAddressReservation ToDomain(ReceivingAddressReservationModel entity, ReceivingAddress address = null) { return(new ReceivingAddressReservation ( entity.Id, address != null ? address : ToDomain(entity.Address), DateTime.SpecifyKind(entity.LockedAt, DateTimeKind.Utc), entity.ReleasedAt.HasValue ? DateTime.SpecifyKind(entity.ReleasedAt.Value, DateTimeKind.Utc) : new Nullable <DateTime>() )); }
async Task CreateAddressReservationAsync(ReceivingAddressReservation reservation) { var entity = new Ztm.Data.Entity.Contexts.Main.ReceivingAddressReservation() { Id = reservation.Id, AddressId = reservation.Address.Id, LockedAt = reservation.ReservedDate.ToUniversalTime(), ReleasedAt = null, }; using (var db = this.db.CreateDbContext()) { await db.ReceivingAddressReservations.AddAsync(entity); await db.SaveChangesAsync(); } }