Example #1
0
        public ActionResult Download(int FileId)
        {
            int        RequestId  = objFileDataLayer.GenerateRequest(FileId, USerConfig.GetUserID());
            List <int> PartnerIds = objFileDataLayer.GetPartnerIds(FileId);

            objFileDataLayer.GenerateOTP(PartnerIds, RequestId);
            string AccessStatus = objFileDataLayer.AuthorizeOTP(RequestId);

            if (AccessStatus == "NoUserPending" && AccessStatus != "")
            {
                objFileDataLayer.RestoreRequestTransactions(RequestId);
                string fileName = objFileDataLayer.GetFileName(FileId);
                if (fileName != "NIL")
                {
                    var    filepath    = Path.Combine(Server.MapPath("~/PostImage"), fileName);
                    byte[] filedata    = System.IO.File.ReadAllBytes(filepath);
                    string contentType = MimeMapping.GetMimeMapping(filepath);

                    var cd = new System.Net.Mime.ContentDisposition
                    {
                        FileName = fileName,
                        Inline   = true,
                    };

                    Response.AppendHeader("Content-Disposition", cd.ToString());
                    // objFileDataLayer.DeleteRequest(RequestId);
                    return(File(filedata, contentType));
                }
                else
                {
                    ViewBag.Title   = "File not found";
                    ViewBag.Message = "The file you are trying to access is deleted";
                    return(View());
                }
            }
            else
            {
                TempData["FileId"]     = FileId;
                ViewBag.FileId         = FileId;
                ViewBag.PartnerWaiting = AccessStatus;
                return(View());
            }



            //int RequestId = objFileDataLayer.GenerateRequest(FileId, USerConfig.GetUserID());
            //string AccessStatus = objFileDataLayer.AuthorizeOTP(RequestId);
            //TempData["FileId"] = FileId;
            //if (AccessStatus == "NoUserPending" && AccessStatus != "")
            //{
            //    return RedirectToAction("Load", FileId);
            //}
            //else
            //{
            //    return View();

            //}
        }