Лучший способ компенсировать JavaScript Client Sopetset и Locale для веб-API ASP.NET Web APIJavascript

Форум по Javascript
Ответить
Anonymous
 Лучший способ компенсировать JavaScript Client Sopetset и Locale для веб-API ASP.NET Web API

Сообщение Anonymous »

Недавно наш QA обнаружил ошибку, в которой дата, запечатленная в контроле редактора Vue.js DOB (дата рождения) (день, месяц, год), начал прибывать в веб-API ASP.NET со значением как день до , а также со временем 2300 часов. Объект в управлении редактором DOB Vue.js вместо даты как js String , но только недавно появился, когда мы (в Великобритании) переехали в летние дневные часы (BST) от Winter Gmt. Редактор DOB берет значения в своих полях и обеспечивает значение обратно к родительскому VUE, а также в качестве даты JS .
Используя различные решения переполнения стека, я в основном достиг следующего решения, который работает и позволяет введенной пользовательской дате, чтобы дать api -api api -nempi -api. это: < /p>

Код: Выделить всё

[HttpPost("authenticate")]
public async Task Authenticate(PatientAuthenticationRequestDTO dto)
{
...
< /code>
DTO выглядит так: < /p>
public class PatientAuthenticationRequestDTO
{
[Required]
[MaxLength(10)]
public string PatientNumber { get; set; }

[Required]
public DateTime DateOfBirth { get; set; }
}
рассматриваемое значение хранится в DateOfbirth свойство
Значение даты хранится в следующем свойстве структуры: this.form.dateofbirth

// 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>
Это решение, хотя и работает, чувствует себя очень тяжелым и просто неправильным. Конечно, существует более краткий способ отправить данные JavaScript в веб -API ASP.NET и принять во внимание локали и дневной сохранение?


Подробнее здесь: https://stackoverflow.com/questions/796 ... -locale-fo
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»