Nem működik a debug?
[HttpGet]
public async Task<IActionResult> NeedVaccination()
{
List<Animal> animals = new List<Animal>();
List<Animal> data = new List<Animal>();
data = await _db.Animals.ToListAsync();
var j = 0;
for (var i = 0; i < data.Count; i++)
{
if (data[i].LastVaccination.AddDays(2) < DateTime.Now)
{
animals[j] = data[i];
j++;
}
}
return Ok(animals);
}
Van itt ez a kód és mikor eljut a animals[j] = data[i]; sorba csak simán visszadob a weboldalra, semmit nem ír ki, hogy mi is a gond. Pedig az elágazásba belemegy. Mindkét lista Animal típusú, ha csak a data-t adom vissza és azt kiíratom, tökéletesen működik. Amit szeretnék az az, hogy ha az utolsó oltástól számított 2 nap a mai dátumnál régebbi, akkor azt beleteszem egy listába és az új listát adom vissza, amiben a már kigyűjtött adat van.
animals.Add(data[i]);
Egyébként nézz utána a LINQ névtérben levő extension method-oknak és a lambda expression-öknek, a kiválogatás tétele helyett azt hiszem a Where() metódus lenne hasznos ide.
Telefonról írok, szóval se Visual Studio, se kipróbálni nem tudom, de ilyesmi kellene:
var animals = data.Where(animal => animal.LastVaccination.AddDays(2) < DateTime.Now);
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!