public ActionResult SaveFileProcessAction()
        {
            //foreach (HttpPostedFileBase f in Request.Files)
            //{
            //}
            HttpFileCollectionBase PhotoFile = Request.Files;
            var fMain             = Request.Form["fMain"];
            var obj1              = JObject.Parse(fMain);
            var fileBelongstoUser = _fileMainService.All().Where(x => x.FileNo == (string)obj1["fMain"]["FileID"]).Select(x => x.UserID).FirstOrDefault();

            try
            {
                using (var transaction = new TransactionScope())
                {
                    var fileNoCheck = _fileMainService.All().Where(x => x.FileNo == (string)obj1["fMain"]["FileID"]).FirstOrDefault();
                    //FileMain FileMainInfo = new FileMain();
                    if (fileNoCheck != null)
                    {
                        var VersionNo = EncryptionDecryption.DH_PEncode(_actionListService.All().Where(x => x.ActID == (int)obj1["fMain"]["Action"]).Select(x => x.ActDesc).LastOrDefault());
                        var UpdUserID = (int)obj1["fMain"]["MarkTo"];
                        if (UpdUserID == 0)
                        {
                            fileNoCheck.UpdUserID = EncryptionDecryption.DH_PEncodeInt(fileBelongstoUser); //Convert.ToInt32(Session["UserID"]);
                        }
                        else
                        {
                            fileNoCheck.UpdUserID = EncryptionDecryption.DH_PEncodeInt((int)obj1["fMain"]["MarkTo"]);
                        }
                        fileNoCheck.VersionNo = EncryptionDecryption.DH_PEncode(VersionNo);
                        _fileMainService.Update(fileNoCheck);
                        _fileMainService.Save();
                    }
                    var           user = Convert.ToInt32(Session["UserID"]);
                    FileTransMain FileTransMainInfo = new FileTransMain();
                    FileTransMainInfo.MainID    = EncryptionDecryption.DH_PEncodeInt(_fileMainService.All().Where(x => x.FileNo == (string)obj1["fMain"]["FileID"]).Select(x => x.MainID).FirstOrDefault());
                    FileTransMainInfo.ActionNum = EncryptionDecryption.DH_PEncode(_actionListService.All().Where(x => x.ActID == (int)obj1["fMain"]["Action"]).Select(x => x.ActDesc).LastOrDefault());
                    //FileTransMainInfo.EntryDate = (DateTime)obj1["fMain"]["Date"];
                    FileTransMainInfo.MarkToID = EncryptionDecryption.DH_PEncodeInt((int)obj1["fMain"]["MarkTo"]);
                    //FileTransMainInfo.MarkToID = _newStaffService.All().Where(x => x.StaffId ==user).Select(x => x.ReportingId).FirstOrDefault();
                    if (FileTransMainInfo.MarkToID == 0)
                    {
                        FileTransMainInfo.MarkToID = fileBelongstoUser;
                    }
                    FileTransMainInfo.EntryDate = DateTime.Now;
                    FileTransMainInfo.ActionID  = EncryptionDecryption.DH_PEncodeInt((int)obj1["fMain"]["Action"]);
                    FileTransMainInfo.AttachNum = EncryptionDecryption.DH_PEncode(Convert.ToString(PhotoFile.Count));


                    // var action = _fileTransMainService.All().Where(x => x.MainID ==(int)obj1["fMain"]["FileID"]).Select(x => x.ActionNum).LastOrDefault();
                    var FileTransNum = Convert.ToInt16(_fileTransMainService.All().Where(x => x.MainID == FileTransMainInfo.MainID).Select(x => x.FileTransNum).LastOrDefault());

                    FileTransMainInfo.FileTransNum = EncryptionDecryption.DH_PEncode((FileTransNum + 1).ToString());



                    // FileTransMainInfo.FileTransID = 1;
                    FileTransMainInfo.ActionByID = EncryptionDecryption.DH_PEncodeInt(Convert.ToInt32(Session["UserID"].ToString()));
                    FileTransMainInfo.SignDate   = DateTime.Now;
                    FileTransMainInfo.TransDate  = DateTime.Now;
                    FileTransMainInfo.Note       = EncryptionDecryption.DH_PEncode((string)obj1["fMain"]["Note"]);
                    _fileTransMainService.Add(FileTransMainInfo);
                    _fileTransMainService.Save();
                    transaction.Complete();
                }
            }

            catch (Exception ex)
            {
                return(Json("0", JsonRequestBehavior.AllowGet));
            }
            var    MainIdCheck = _fileMainService.All().Where(x => x.FileNo == (string)obj1["fMain"]["FileID"]).Select(x => x.MainID).LastOrDefault();
            string fileName    = "";
            string NewPhotoID  = "";
            //string ImgPrefix = "";
            string ext            = "";
            string PhotoPath      = "";
            string PhysicalPhPath = "";
            string DBPhotoPath    = "";

            try
            {
                if (PhotoFile != null)
                {
                    for (int i = 0; i < PhotoFile.Count; i++)
                    {
                        string             fileId = Guid.NewGuid().ToString().Replace("-", "");
                        HttpPostedFileBase file   = PhotoFile[i];
                        fileName = Path.GetFileName(file.FileName);
                        //ImgPrefix = file.ContentType; //"Photo";//file.ContentType;//
                        int fSize = file.ContentLength;
                        //var path = Path.Combine(Server.MapPath("~/Uploads/Photo/"), MemberCode, fileId);

                        ext = System.IO.Path.GetExtension(fileName);
                        if (ext.ToLower().Contains("txt") || ext.ToLower().Contains("gif") || ext.ToLower().Contains("jpg") || ext.ToLower().Contains("jpeg") ||
                            ext.ToLower().Contains("png") || ext.ToLower().Contains(".xls") || ext.ToLower().Contains(".docx") ||
                            ext.ToLower().Contains(".xlsx") || ext.ToLower().Contains(".pdf"))
                        {
                            NewPhotoID     = fileId + ext;
                            PhotoPath      = ConfigurationManager.AppSettings["PhotoPath"];
                            PhysicalPhPath = Path.Combine(Server.MapPath(PhotoPath), NewPhotoID);
                            //var path = Path.Combine(Server.MapPath("~/Images/Photo"), fileName);
                            file.SaveAs(PhysicalPhPath);
                            DBPhotoPath = PhotoPath + "\\" + NewPhotoID;
                        }
                        var FileTransMain = new FileTransDetail
                        {
                            AttachFileName = fileName,
                            FileType       = ext,
                            Size           = fSize,
                            FileSourcePath = PhysicalPhPath,
                            FileTransID    = _fileTransMainService.All().Where(x => x.MainID == MainIdCheck).Select(x => x.FileTransID).LastOrDefault(),
                        };
                        _fileTransDetailService.Add(FileTransMain);
                        _fileTransDetailService.Save();
                    }
                }
                return(Json("1", JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json("0", JsonRequestBehavior.AllowGet));
            }
        }
        public ActionResult ClosetoArchive(string FileNo)
        {
            //RBACUser rUser = new RBACUser(Session["UserName"].ToString());
            //if (!rUser.HasPermission("NewFile_Delete"))
            //{
            //    return Json("D", JsonRequestBehavior.AllowGet);
            //}
            using (var transaction = new TransactionScope())
            {
                try
                {
                    var FileMainNo = _fileMainService.All().Where(x => x.FileNo == FileNo).FirstOrDefault();
                    if (FileMainNo != null)
                    {
                        //For filemain and afilemain by Anna
                        var aFileMain = new AFileMain();
                        aFileMain.FileNo      = FileMainNo.FileNo;
                        aFileMain.FileRef     = FileMainNo.FileRef;
                        aFileMain.FileSub     = FileMainNo.FileSub;
                        aFileMain.FileText    = FileMainNo.FileText;
                        aFileMain.LastUpdDate = FileMainNo.LastUpdDate;
                        aFileMain.UpdUserID   = Convert.ToInt32(FileMainNo.UpdUserID);
                        aFileMain.UserID      = FileMainNo.UserID;
                        aFileMain.VersionNo   = FileMainNo.VersionNo;
                        aFileMain.CreateDate  = FileMainNo.CreateDate;
                        aFileMain.AttachNum   = FileMainNo.AttachNum;
                        _afileMainService.Add(aFileMain);
                        _afileMainService.Save();


                        _fileMainService.Delete(FileMainNo);
                        _fileMainService.Save();
                    }
                    //var FileDetailNo = _fileDetailService.All().Where(x => x.MainID == FileNo).FirstOrDefault();
                    //if (FileDetailNo != null)
                    //{
                    //    var aFileDetail = new AFileDetail();
                    //    aFileDetail.AttachFileName = FileDetailNo.AttachFileName;
                    //    aFileDetail.FileNo = FileDetailNo.MainID;
                    //    aFileDetail.FileSourcePath = FileDetailNo.FileSourcePath;
                    //    aFileDetail.FileType = FileDetailNo.FileType;
                    //    aFileDetail.Size = FileDetailNo.Size;

                    //    _afileDetailService.Add(aFileDetail);
                    //    _afileDetailService.Save();

                    //    _fileDetailService.Delete(FileDetailNo);
                    //    _fileDetailService.Save();
                    //    transaction.Complete();
                    //}
                    //else
                    //{
                    //    return Json("2", JsonRequestBehavior.AllowGet);
                    //}
                    return(Json("1", JsonRequestBehavior.AllowGet));
                }
                catch (Exception)
                {
                    return(Json("0", JsonRequestBehavior.AllowGet));
                }
            }
        }
        public ActionResult SaveNewFile()
        {
            HttpFileCollectionBase PhotoFile = Request.Files;
            var fMain  = Request.Form["fMain"];
            var obj1   = JObject.Parse(fMain);
            var FileNo = (string)obj1["fMain"]["FileID"];

            try
            {
                var fileNoCheck = _fileMainService.All().Where(x => x.FileNo.ToString() == FileNo).Select(x => x.FileNo).FirstOrDefault();

                if (fileNoCheck == null)
                {
                    FileMain FileMainInfo = new FileMain();
                    FileMainInfo.FileNo    = (string)obj1["fMain"]["FileID"];
                    FileMainInfo.FileSub   = (string)obj1["fMain"]["FileSub"];
                    FileMainInfo.FileRef   = (string)obj1["fMain"]["FileRef"];
                    FileMainInfo.FileText  = (string)obj1["fMain"]["FileText"];
                    FileMainInfo.AttachNum = Convert.ToByte(PhotoFile.Count);
                    //FileMainInfo.FileID = 1;
                    FileMainInfo.UserID = Convert.ToInt32(Session["UserID"].ToString());
                    //FileMainInfo.VersionNo = _actionListService.All().Select(x=>x.ActDesc).FirstOrDefault();
                    FileMainInfo.VersionNo   = "New";
                    FileMainInfo.UpdUserID   = Convert.ToInt32(Session["UserID"].ToString());
                    FileMainInfo.CreateDate  = DateTime.Now;
                    FileMainInfo.LastUpdDate = DateTime.Now;
                    _fileMainService.Add(FileMainInfo);
                    _fileMainService.Save();
                }
            }
            catch (Exception ex)
            {
                return(Json("0", JsonRequestBehavior.AllowGet));
            }
            //else
            //{
            //     return Json("2", JsonRequestBehavior.AllowGet);
            //}
            string fileName       = "";
            string NewPhotoID     = "";
            string ImgPrefix      = "";
            string ext            = "";
            string PhotoPath      = "";
            string PhysicalPhPath = "";
            string DBPhotoPath    = "";

            try
            {
                if (PhotoFile != null)
                {
                    for (int i = 0; i < PhotoFile.Count; i++)
                    {
                        string             fileId = Guid.NewGuid().ToString().Replace("-", "");
                        HttpPostedFileBase file   = PhotoFile[i];
                        fileName  = Path.GetFileName(file.FileName);
                        ext       = System.IO.Path.GetExtension(fileName);
                        ImgPrefix = FileNo;     //"Photo";//file.ContentType;//
                        int fSize = file.ContentLength;
                        //var path = Path.Combine(Server.MapPath("~/Uploads/Photo/"), MemberCode, fileId);


                        if (ext.ToLower().Contains("txt") || ext.ToLower().Contains("gif") || ext.ToLower().Contains("jpg") || ext.ToLower().Contains("jpeg") ||
                            ext.ToLower().Contains("png") || ext.ToLower().Contains(".xls") || ext.ToLower().Contains(".docx") ||
                            ext.ToLower().Contains(".xlsx") || ext.ToLower().Contains(".pdf"))
                        {
                            NewPhotoID     = ImgPrefix + fileId + ext;
                            PhotoPath      = ConfigurationManager.AppSettings["PhotoPath"];
                            PhysicalPhPath = Path.Combine(Server.MapPath(PhotoPath), NewPhotoID);
                            //var path = Path.Combine(Server.MapPath("~/Images/Photo"), fileName);
                            file.SaveAs(PhysicalPhPath);

                            DBPhotoPath = PhotoPath + "\\" + NewPhotoID;
                        }
                        var NewFile = new FileDetail
                        {
                            AttachFileName = fileName,
                            FileType       = ext,
                            Size           = fSize,
                            FileSourcePath = PhysicalPhPath,
                            //MainID = (int)obj1["fMain"]["MainID"],
                            MainID = _fileMainService.All().Where(x => x.FileNo == (string)obj1["fMain"]["FileID"]).Select(x => x.MainID).FirstOrDefault(),
                        };
                        _fileDetailService.Add(NewFile);
                        _fileDetailService.Save();
                    }
                }
                return(Json("1", JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                return(Json("0", JsonRequestBehavior.AllowGet));
            }
        }