public async Task <ResponseModel> Item(int id) { ResponseModel response = new ResponseModel(); try { Database.Sql.ERP.Entities.Common.File md = await _context.FileRepository.FirstOrDefaultAsync(m => m.Id == id); if (md == null) { return(response); } FileModel model = new FileModel() { Id = md.Id, FileName = md.FileName, FilePath = $"{serverPath}{md.FilePath}", FilePath128 = $"{serverPath}{md.FilePath128}", FilePath64 = $"{serverPath}{md.FilePath64}", FilePath32 = $"{serverPath}{md.FilePath32}" }; response.Result = model; } catch (Exception ex) { _logger.LogError(ex.Message, ex); response.Errors.Add(ex.Message); response.ResponseStatus = Core.CommonModel.Enums.ResponseStatus.Warning; } return(response); }
private async Task ActiveWaitingForDeleteFileStatus(int id) { if (id > 0) { Database.Sql.ERP.Entities.Common.File currentFile = await _context.FileRepository.FirstOrDefaultAsync(m => m.Id == id); if (currentFile != null) { currentFile.WaitForDeleted = true; _context.FileRepository.Update(currentFile); } } }
public async Task <ResponseModel> Delete(FileModel model) { ResponseModel response = new ResponseModel(); try { Database.Sql.ERP.Entities.Common.File md = await _context.FileRepository.FirstOrDefaultAsync(m => m.Id == model.Id); if (md == null) { throw new NullParameterException(); } if (!string.IsNullOrEmpty(md.FilePath) && System.IO.File.Exists(Path.Combine(md.FilePath))) { System.IO.File.Delete(Path.Combine(md.FilePath)); } if (!string.IsNullOrEmpty(md.FilePath128) && System.IO.File.Exists(Path.Combine(md.FilePath128))) { System.IO.File.Delete(Path.Combine(md.FilePath128)); } if (!string.IsNullOrEmpty(md.FilePath64) && System.IO.File.Exists(Path.Combine(md.FilePath64))) { System.IO.File.Delete(Path.Combine(md.FilePath64)); } if (!string.IsNullOrEmpty(md.FilePath32) && System.IO.File.Exists(Path.Combine(md.FilePath32))) { System.IO.File.Delete(Path.Combine(md.FilePath32)); } response.Result = model; } catch (Exception ex) { _logger.LogError(ex.Message, ex); response.Errors.Add(ex.Message); response.ResponseStatus = Core.CommonModel.Enums.ResponseStatus.Warning; } return(response); }
private async Task <int> Save(FileModel model) { var filePath = Path.Combine(configPath).ToLower(); Database.Sql.ERP.Entities.Common.File md = new Database.Sql.ERP.Entities.Common.File(); string fileName = Guid.NewGuid().ToString().Replace("-", "").ToLower(); string ext = Path.GetExtension(model.File.FileName); string folderPath = Path.Combine(filePath, model.EmployeeCode).ToLower(); if (!Directory.Exists(folderPath)) { Directory.CreateDirectory(folderPath); } string fullPath = Path.Combine(filePath, model.EmployeeCode, $"{fileName}{ext}").ToLower(); md.FileName = model.File.FileName; md.FilePath = await SaveFile(model.File, fullPath); md.FilePath128 = ResizeAndSave(model.File, fullPath, 128, 128); md.FilePath64 = ResizeAndSave(model.File, fullPath, 64, 64); md.FilePath32 = ResizeAndSave(model.File, fullPath, 32, 32); md.Extension = ext; md.MineType = model.File.ContentType; md.Size = model.File.Length; md.SystemFileName = $"{fileName}{ext}"; md.CreateBy = base.UserId; md.CreateDate = DateTime.Now; md.WaitForDeleted = false; await _context.FileRepository.AddAsync(md); await _context.SaveChangesAsync(); return(md.Id); }