Avoid UTC shift for controle recebidos dates
This commit is contained in:
parent
9424ddfeb3
commit
0bac9e9290
|
|
@ -1534,8 +1534,8 @@ namespace line_gestao_api.Controllers
|
|||
{
|
||||
valorDaNf = lastValorDaNf;
|
||||
}
|
||||
var dataDaNf = TryDate(ws, rowIndex, map, "DATA DA NF");
|
||||
var dataReceb = TryDate(ws, rowIndex, map, "DATA DO RECEBIMENTO");
|
||||
var dataDaNf = TryDateNoUtc(ws, rowIndex, map, "DATA DA NF");
|
||||
var dataReceb = TryDateNoUtc(ws, rowIndex, map, "DATA DO RECEBIMENTO");
|
||||
var qtd = TryNullableInt(GetCellByHeaderAny(ws, rowIndex, map, "QTD.", "QTD", "QUANTIDADE"));
|
||||
|
||||
var now = DateTime.UtcNow;
|
||||
|
|
@ -1821,6 +1821,13 @@ namespace line_gestao_api.Controllers
|
|||
return TryDateCell(ws, row, c);
|
||||
}
|
||||
|
||||
private static DateTime? TryDateNoUtc(IXLWorksheet ws, int row, Dictionary<string, int> map, string header)
|
||||
{
|
||||
var k = NormalizeHeader(header);
|
||||
if (!map.TryGetValue(k, out var c)) return null;
|
||||
return TryDateCellNoUtc(ws, row, c);
|
||||
}
|
||||
|
||||
private static DateTime? TryDateCell(IXLWorksheet ws, int row, int col)
|
||||
{
|
||||
if (col <= 0) return null;
|
||||
|
|
@ -1842,6 +1849,27 @@ namespace line_gestao_api.Controllers
|
|||
return null;
|
||||
}
|
||||
|
||||
private static DateTime? TryDateCellNoUtc(IXLWorksheet ws, int row, int col)
|
||||
{
|
||||
if (col <= 0) return null;
|
||||
|
||||
var cell = ws.Cell(row, col);
|
||||
|
||||
if (cell.DataType == XLDataType.DateTime)
|
||||
return DateTime.SpecifyKind(cell.GetDateTime(), DateTimeKind.Unspecified);
|
||||
|
||||
if (cell.TryGetValue<DateTime>(out var dt))
|
||||
return DateTime.SpecifyKind(dt, DateTimeKind.Unspecified);
|
||||
|
||||
var s = cell.GetValue<string>()?.Trim();
|
||||
if (string.IsNullOrWhiteSpace(s)) return null;
|
||||
|
||||
if (DateTime.TryParse(s, new CultureInfo("pt-BR"), DateTimeStyles.None, out var d))
|
||||
return DateTime.SpecifyKind(d, DateTimeKind.Unspecified);
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private static decimal? TryDecimal(string? s)
|
||||
{
|
||||
if (string.IsNullOrWhiteSpace(s)) return null;
|
||||
|
|
|
|||
Loading…
Reference in New Issue