public async Task <bool> LogUploadAsync(LogUploadDto logUploadDto, Guid userId) { if (logUploadDto.LogFile != null) { PilotLog pilotLog = new PilotLog { UserId = userId }; byte[] fileData = null; using (var stream = new MemoryStream()) { await(logUploadDto.LogFile.CopyToAsync(stream)); fileData = stream.ToArray(); } pilotLog.File = fileData; _appDbContext.PilotLog.Add(pilotLog); _appDbContext.SaveChanges(); return(true); } else { return(false); } }
public async Task <IActionResult> LogUploaded(LogUploadDto logUploadDto) { if (ModelState.IsValid) { if (await _logUploadService.LogUploadAsync(logUploadDto, GetUserId())) { // Ezt inkább ne itt hívjuk, hanem configolj be egy RecurringJob-ot, // ami pl percenként lefut és megcsinálja ugyanezt, amit most itt direkbe elindítasz. // Ez is okés olyan szempontból, hogy nem blokkolja a controllert, // viszont úgy a controller nem is tudna a JOB-ról ViewBag.Message = "Upload Success!"; _backGroundProcessService.RunInBackground(); } else { ViewBag.Message = "Upload failed!"; } } else { ViewBag.Message = "Upload failed!"; } return(View()); }