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 !" }));
            }
        }