예제 #1
0
        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);
            }
        }
예제 #2
0
 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());
 }