Cześć,
Mam taką funkcje w projekcie zespołowym, że dodajemy pewne transackje, której użytkownik ustawia przy dodawaniu trzy atrybuty (wartość, datę, tytył), przy czym datę wybieramy z takiego małego kalendarza i problem polega na tym, że chciałbym gdy użytkownik nie wybierze daty, to domyślnie jest brana data aktualna. Próbuję rozwiązać ten problem na dwa sposoby od razu przy tworzeniu modelu ustawiam pole na DateTime.Now :
public DateTime Date { get; set; } = DateTime.Now;
I drugi sposób probuję ustawić datę domyślną przez frontend w taki sposób:
function getCurrentDate() {
let curr = new Date();
curr.setDate(curr.getDate());
return curr.toISOString().substring(0, 10);
}
<StyledFormItem>
<label htmlFor={"date"}>Date:</label>
<Input
type={InputEnum.date}
id={"date"}
defaultValue={getCurrentDate()}
/>
{/*<input type={"date"} id={"date"}/>*/}
</StyledFormItem>
Niestety za każdym razem gdy próbuję dodać nową transakcję z domyślną datą to obiekt dto jest ciągle null.
[HttpPost("addTransaction")]
public ActionResult CreateTransaction([FromBody] CreateTransactionDto dto)
{
var transaction = _mapper.Map<Transaction>(dto);
var jwt = Request.Cookies["jwt"];
var token = _jwtService.Verify(jwt);
var userId = int.Parse(token.Issuer);
transaction.AccountId = userId;
transaction.TransCategoryId = 1;
_dbContext.Transactions.Add(transaction);
_dbContext.SaveChanges();
var transactions = _dbContext
.Transactions.Where(r => r.Account.Id == userId)
.ToList();
decimal transactionSum = transactions.Sum(t => t.Value);
Object[] resultArr = new Object[] { transactions, transactionSum };
return Ok(resultArr);
}
Z chęcią posłucham bardziej doświadczonych programistów jak mogę ten problem rozwiązać :)