// Send file stream for download
        private ActionResult SendFile(string ClaimGUID, int? claimDetailId, FileIO.mode fMode, string filename)
        {
            try
            {
                string filePath = FileIO.GetClaimFilePath(ClaimGUID, claimDetailId, fMode, filename, true);

                if (System.IO.File.Exists(AppDomain.CurrentDomain.BaseDirectory + filePath))
                    /*System.IO.Path.GetFileName(filePath)*/
                    return File("~/" + filePath, "Content-Disposition: attachment;", filename);
                else/*Invalid or deleted file (from Log)*/
                { ViewData["Message"] = "File not found"; return View("DataNotFound"); }

            }
            catch (Exception ex) { return View(); }
        }
        /// <summary>
        /// Check and Save Claim File being uploaded. Set error in ModelState if any issue
        /// </summary>
        /// <param name="hpFileKey">HttpPost file browser control Id</param>
        /// <param name="ClaimId">Claim Id</param>
        /// <param name="ClaimDetailId">Claim Detail Id</param>
        /// <param name="upMode">FileIO.mode (Async or Sync & Header  or Detail)</param>
        /// <returns>File upload name</returns>
        string ChkAndSaveClaimFile(string hpFileKey, int ClaimId, FileIO.mode upMode, string ClaimGUID, int? ClaimDetailId = null)
        {
            HttpPostedFileBase hpFile = Request.Files[hpFileKey];

            string docName = string.Empty;
            FileIO.result uploadResult = FileIO.UploadAndSave(hpFile, ref docName, ClaimGUID, ClaimDetailId, upMode);

            #region Add error in case of an Upload issue

            switch (uploadResult)
            {
                case FileIO.result.duplicate:
                    ModelState.AddModelError("FileName", "Duplicate file found"); break;
                case FileIO.result.noextension:
                    ModelState.AddModelError("FileName", "File must have an extension"); break;
                case FileIO.result.contentLength:
                    ModelState.AddModelError("FileName", string.Format("File size cannot exceed {0}MB", Config.MaxFileSizMB)); break;
                case FileIO.result.successful: break;
                default://Any other issue
                    ModelState.AddModelError("FileName", "Unable to upload file"); break;
            }

            #endregion

            return docName;
        }