public JsonResult UploadFiles(EmployeeFileUploadsViewModel modelObj) { try { var files = new EmployeeFileUploads() { FileName = modelObj.FileName }; UnitOfWork.EmployeeFileUploadsRepository.Insert(files); UnitOfWork.Save(); return(Json(new { success = true, responseText = "Client added successfully." })); } catch (Exception ex) { _logger.LogError(ex.ToString()); return(Json(new { success = false, responseText = "Something went wrong" })); } }
public async Task <IActionResult> UploadDocumentsRemaining(IList <IFormFile> files, string empNo, int docId, string expdate) { try { string filename = string.Empty; string actualFileName = string.Empty; var uploadedData = UnitOfWork.EmployeeFileUploadsRepository.Get(f => f.IsValid == 1 && f.EmployeeReferenceNo == Convert.ToInt32(empNo.Replace("ARIS-", "")) && f.DocumentId == docId); if (uploadedData.Count() == 0) { if (expdate == "No Expiry Required") { expdate = null; } foreach (IFormFile source in files) { filename = ContentDispositionHeaderValue.Parse(source.ContentDisposition).FileName.Trim('"'); actualFileName = this.EnsureCorrectFilename(filename); filename = DateTime.Now.ToFileTime() + "_" + actualFileName; imagePath = filename; using (FileStream output = System.IO.File.Create(this.GetPathAndFilename(filename, empNo))) await source.CopyToAsync(output); var fileDetails = new EmployeeFileUploads() { EmployeeReferenceNo = Convert.ToInt32(empNo.Replace("ARIS-", "")), IsActive = 1, CreatedBy = Convert.ToInt32(TempData.Peek("UserId")), CreatedDate = DateTime.Now, IsValid = 0, DocumentId = docId, ActualFileName = actualFileName, FileName = filename, FileLocation = GetFullDocumentPathWithoutFileName(empNo), ExpiryDate = expdate == null?DateTime.MinValue:Convert.ToDateTime(expdate) }; var uploadedDataGet = UnitOfWork.EmployeeFileUploadsRepository.Get(f => f.IsValid == 0 && f.DocumentId == docId); foreach (var item in uploadedDataGet) { UnitOfWork.EmployeeFileUploadsRepository.Delete(item.EmpFileUploadId); UnitOfWork.Save(); } UnitOfWork.EmployeeFileUploadsRepository.Insert(fileDetails); UnitOfWork.Save(); } } else { foreach (IFormFile source in files) { filename = ContentDispositionHeaderValue.Parse(source.ContentDisposition).FileName.Trim('"'); actualFileName = this.EnsureCorrectFilename(filename); filename = DateTime.Now.ToFileTime() + "_" + actualFileName; imagePath = filename; using (FileStream output = System.IO.File.Create(this.GetPathAndFilename(filename, empNo))) await source.CopyToAsync(output); foreach (var item in uploadedData) { item.ActualFileName = item.ActualFileName == actualFileName ? item.ActualFileName : actualFileName; item.FileName = item.ActualFileName == filename ? item.FileName : filename; item.FileLocation = GetFullDocumentPathWithoutFileName(empNo); item.ExpiryDate = item.ExpiryDate == Convert.ToDateTime(expdate) ? item.ExpiryDate : Convert.ToDateTime(expdate); item.ModifiedBy = item.CreatedBy; item.ModifiedDate = DateTime.Now; UnitOfWork.EmployeeFileUploadsRepository.Update(item); UnitOfWork.Save(); } } } return(Json(new { success = true, responseText = "Employee Image updated successfully.", profileImagePath = imagePath, imageFullPath = this.GetFullImagePathAndFilename(filename, empNo) })); } catch (Exception ex) { _logger.LogInformation(ex.ToString()); return(Json(new { success = false, responseText = "Something went wrong. Please try again !" })); } }