Code: Select all
[HttpPost("authenticate")]
public async Task Authenticate(PatientAuthenticationRequestDTO dto)
{
...
< /code>
Das DTO sieht so aus: < /p>
public class PatientAuthenticationRequestDTO
{
[Required]
[MaxLength(10)]
public string PatientNumber { get; set; }
[Required]
public DateTime DateOfBirth { get; set; }
}
Der Datumswert wird in der folgenden Eigenschaft einer Struktur enthalten.// Convert the date of birth to ISO for the API call
const dateOfBirthWithClientOffset = this.form.dateOfBirth;
const clientOffsetOffsetModifier = -dateOfBirthWithClientOffset.getTimezoneOffset();
const ticksMultiplier = 1000;
const secondsMultiplier = 60;
const dateOfBirthWithClientOffsetInTicks = dateOfBirthWithClientOffset.getTime() + clientOffsetOffsetModifier * ticksMultiplier * secondsMultiplier;
const dateOfBirthWithClientOffsetInUTC = new Date(dateOfBirthWithClientOffsetInTicks);
const dateformattedForDotNetSerialisation = dateOfBirthWithClientOffsetInUTC.toISOString();
// Call the API to authenticate the patient
this.$http.post(this.$endpoints.api.patient.authenticate, { patientNumber: this.form.patientNumber, dateOfBirth: dateformattedForDotNetSerialisation })
.then((response) => {
...
< /code>
Diese Lösung fühlt sich, obwohl sie arbeiten, sehr schwer und einfach falsch an. Sicherlich gibt es eine prägnantere Möglichkeit, ein JavaScript -Daten an eine ASP.NET -Web -API zu senden und das Gebietsschema und das Rettungssschalt zu berücksichtigen?