Добавить в WS3 функции прописи чисел и дат на казахском 2#27
Добавить в WS3 функции прописи чисел и дат на казахском 2#27
Conversation
| } | ||
|
|
||
| public string GetDate(string date, bool useOne) | ||
| public string GetDate(DateTime dateTime, bool useOne) |
There was a problem hiding this comment.
Уже была выпущена версия с этим методом. Если его изменить, то поломается обратная совместимость. Лучше добавить новый метод (перегрузку) с параметром DateTime, а этот пометить как Obsolete.
| using (var client = _newClient()) | ||
| { | ||
| client.AddParam("date", date); | ||
| client.AddParam("date", dateTime.ToString()); |
There was a problem hiding this comment.
Нужно отформатировать дату. Иначе можешь получить что-нибудь вроде "21. Juni 2020" в зависимости от региональных настроек ОС.
| } | ||
| catch (BadRequestException e) when (e.ErrorCode == 19) | ||
| { | ||
| throw new OutOfRangeException(nameof(n)); |
There was a problem hiding this comment.
Какое значение нужно передать в метод GetCardinal, чтобы сервис вернул ответ с кодом 19?
There was a problem hiding this comment.
OutOfRangeException будем возвращать если n больше int.Max или меньше int.Min.
There was a problem hiding this comment.
Зачем? Сервис умеет строить пропись для всех значений типа long.
| class BadRequestException : Exception | ||
| { | ||
| public int Status { get; } | ||
| public int ErrorCode { get; } |
There was a problem hiding this comment.
Все хорошо, только нужно где-то установить значение ErrorCode. Думаю, лучше это сделать в конструкторе BadRequestException.
| } | ||
| catch (BadRequestException e) when (e.ErrorCode == 19) | ||
| { | ||
| throw new OutOfRangeException(nameof(n)); |
There was a problem hiding this comment.
Зачем? Сервис умеет строить пропись для всех значений типа long.
| public int Status { get; } | ||
| public int ErrorCode { get; } | ||
|
|
||
| public BadRequestException(int status, int errorCode) |
There was a problem hiding this comment.
Конструктор не используется, следовательно, свойство ErrorCode всегда будет 0.
| if (exc.Response is HttpWebResponse httpWebResponse) | ||
| { | ||
| int status = (int)httpWebResponse.StatusCode; | ||
| int errorCode = int.Parse(httpWebResponse.Headers.Get("Error-Code")); |
There was a problem hiding this comment.
ErrorCode находится в теле запроса, а не в заголовке.
string to DateTime