public async Task <IActionResult> UploadLodgingFile(int userId, FileForUploadDto fileDto) { var currentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); if (currentUserId == 0) { return(Unauthorized()); } ArrayList returnRows = new ArrayList(); var uploadToAdd = new Upload(); uploadToAdd.FileName = fileDto.File.FileName; uploadToAdd.DateUploaded = DateTime.Now; uploadToAdd.UserId = currentUserId; uploadToAdd.GuestsAdded = 0; int uploadId = await _fileService.AddUpload(uploadToAdd); var file = fileDto.File; if (file.Length > 0) { var guestStays = _fileReader.GetPdfText(file); foreach (string guestStay in guestStays) { var rowForUpload = _fileService.ParseDlsReportRow(guestStay, uploadId).Result; if (rowForUpload == null) { continue; } if (rowForUpload.RoomId == 0 || rowForUpload.BuildingId == 0 || rowForUpload.FirstName == null || rowForUpload.LastName == null || rowForUpload.CheckInDate == null || rowForUpload.CheckOutDate == null) { returnRows.Add(rowForUpload); } else { await _fileService.SaveFileRowAsync(rowForUpload); uploadToAdd.GuestsAdded += 1; } } await _fileService.SaveUpload(uploadToAdd); } return(Ok(returnRows)); }
public IActionResult Upload(FileForUploadDto model) { byte[] fileBytes; if (model.File.Length > 0) { using (var ms = new MemoryStream()) { model.File.CopyTo(ms); fileBytes = ms.ToArray(); } model.UserId = Convert.ToInt32(User.FindFirst(ClaimTypes.NameIdentifier).Value); var result = _fileService.UploadFileToBlob(model, fileBytes, AzureConnectionString); if (result.Success) { return(RedirectToAction("Upload")); } } return(Ok()); }
public async Task <IActionResult> UploadFile(int gameId, [FromForm] FileForUploadDto fileForUploadDto) { var gameFromRepo = await _repo.GetGame(gameId); var file = fileForUploadDto.File; if (file.Length > 0) { using (var memoryStream = new MemoryStream()) { await file.CopyToAsync(memoryStream); gameFromRepo.DownloadFile = memoryStream.ToArray(); await _repo.SaveAll(); return(Ok()); } } return(BadRequest("Could not upload file")); }
public IResult UploadFileToBlob(FileForUploadDto fileDto, byte[] fileData, string accessKey) { try { var _task = Task.Run(() => this.UploadFileToBlobAsync(fileDto.File.FileName, fileData, fileDto.File.ContentType, accessKey)); _task.Wait(); string filePath = _task.Result; File file = new File(); file.FileName = fileDto.FileName; file.IsPrivate = fileDto.IsPrivate; file.Description = fileDto.FileDescription; file.FilePath = filePath; file.CreateUser = fileDto.UserId; file.FileType = fileDto.File.ContentType; _fileDal.Add(file); return(new SuccessResult("Dosya ekleme işlemi başarılı")); } catch (Exception ex) { return(new ErrorResult("Dosya ekleme işlemi sırasında hata oluştu")); } }
public async Task <IActionResult> UploadFile([FromForm] FileForUploadDto fileForUploadDto) { FileModel file = null; HttpStatusCode uploadResult = HttpStatusCode.BadRequest; var fileForUpload = fileForUploadDto.File; if (fileForUpload.Length > 0) { string path = "/Files/" + fileForUpload.FileName; using (var fileStream = new FileStream(_appEnvironment.WebRootPath + path, FileMode.Create)) { await fileForUpload.CopyToAsync(fileStream); uploadResult = HttpStatusCode.OK; } var userName = HttpContext.Connection.Id; var currentDate = DateTime.Now; var fileType = System.IO.Path.GetExtension(fileForUpload.FileName).ToLower(); file = new FileModel { Name = fileForUpload.FileName, FileType = fileType, FileSize = fileForUpload.Length / 1024, Path = path, UserName = userName, UploadedDate = currentDate }; _context.Files.Add(file); _context.SaveChanges(); } if (uploadResult == HttpStatusCode.OK) { return(Ok(file)); } return(BadRequest("File not uploaded")); }
public IActionResult Upload() { var model = new FileForUploadDto(); return(View(model)); }
public async Task <IActionResult> UploadUnaccompaniedFile(int userId, FileForUploadDto fileDto, UploadUserParams userParams) { var currentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); if (currentUserId == 0) { return(Unauthorized()); } ArrayList returnRows = new ArrayList(); IFormFile file = Request.Form.Files[0]; string folderName = "Upload"; string webRootPath = _hostingEnvironment.WebRootPath; string newPath = System.IO.Path.Combine(webRootPath, folderName); if (!Directory.Exists(newPath)) { Directory.CreateDirectory(newPath); } if (file.Length > 0) { var uploadToAdd = new Upload(); uploadToAdd.FileName = fileDto.File.FileName; uploadToAdd.DateUploaded = DateTime.Now; uploadToAdd.UserId = currentUserId; uploadToAdd.GuestsAdded = 0; int uploadId = await _fileService.AddUpload(uploadToAdd); string sFileExtension = System.IO.Path.GetExtension(file.FileName).ToLower(); string fullPath = System.IO.Path.Combine(newPath, file.FileName); using (var stream = new FileStream(fullPath, FileMode.Create)) { file.CopyTo(stream); } var sheet = _fileReader.GetExcelSheet(fullPath); var headers = _fileReader.GetExcelSheetHeaders(sheet); for (int i = (sheet.FirstRowNum + 1); i <= sheet.LastRowNum; i++) //Read Excel File { IRow row = sheet.GetRow(i); if (row == null || row.Cells.All(d => d.CellType == CellType.Blank)) { continue; } var rowForUpload = await _fileService.ParseUnaccompaniedExcelRow(row, headers, uploadId); //stay buildingId is nullable if (rowForUpload.RoomId == 0 || rowForUpload.BuildingId == 0 || rowForUpload.FirstName == null || rowForUpload.LastName == null || rowForUpload.UnitId == 0) { returnRows.Add(rowForUpload); } else { await _fileService.SaveFileRowAsync(rowForUpload); uploadToAdd.GuestsAdded += 1; } } await _fileService.SaveUpload(uploadToAdd); if (System.IO.File.Exists(fullPath)) { System.IO.File.Delete(fullPath); } } return(Ok(returnRows)); }
public async Task <IActionResult> UploadExManifestFile(int userId, FileForUploadDto fileDto, [FromQuery] ManifestFileUploadUserParams userParams) { var currentUserId = int.Parse(User.FindFirst(ClaimTypes.NameIdentifier).Value); if (currentUserId == 0) { return(Unauthorized()); } ArrayList returnRows = new ArrayList(); IFormFile file = Request.Form.Files[0]; string folderName = "Upload"; string webRootPath = _hostingEnvironment.WebRootPath; string newPath = System.IO.Path.Combine(webRootPath, folderName); if (!Directory.Exists(newPath)) { Directory.CreateDirectory(newPath); } if (file.Length > 0) { var uploadToAdd = new Upload(); uploadToAdd.FileName = fileDto.File.FileName; uploadToAdd.DateUploaded = DateTime.Now; uploadToAdd.UserId = currentUserId; uploadToAdd.GuestsAdded = 0; int uploadId = await _fileService.AddUpload(uploadToAdd); string sFileExtension = System.IO.Path.GetExtension(file.FileName).ToLower(); string fullPath = System.IO.Path.Combine(newPath, file.FileName); using (var stream = new FileStream(fullPath, FileMode.Create)) { file.CopyTo(stream); } var sheets = _fileReader.GetExcelSheets(fullPath); foreach (var sheet in sheets) { var headers = _fileReader.GetExcelSheetHeaders(sheet, 2); if (!headers.Contains("PERSONAL ID")) { continue; } for (int i = (sheet.FirstRowNum + 3); i <= sheet.LastRowNum; i++) //Read Excel File { IRow row = sheet.GetRow(i); if (row == null || row.Cells.All(d => d.CellType == CellType.Blank) || row.GetCell(0).StringCellValue.IndexOf("For Official Use", StringComparison.OrdinalIgnoreCase) >= 0) { continue; } var rowForUpload = await _fileService.ParseExManifestExcelRow(row, headers, uploadId); if (rowForUpload == null) { continue; } int.TryParse(Regex.Replace(sheet.SheetName, @"[^\d]", ""), out int chalkNumber); if (chalkNumber != 0) { rowForUpload.Chalk = chalkNumber; } //stay buildingId is nullable if (rowForUpload.Gender == null || rowForUpload.FirstName == null || rowForUpload.LastName == null || rowForUpload.UnitId == 0) { returnRows.Add(rowForUpload); } else { rowForUpload = await _fileService.AutoRoomDataRow(rowForUpload, userParams); await _fileService.SaveFileRowAsync(rowForUpload); uploadToAdd.GuestsAdded += 1; } } } await _fileService.SaveUpload(uploadToAdd); if (System.IO.File.Exists(fullPath)) { System.IO.File.Delete(fullPath); } } return(Ok(returnRows)); }