示例#1
0
        private void MoveClientFiles(RegisterModel model)
        {
            FileRequestModel FileRequestModel = (FileRequestModel)Session["FileRequestModel"];
            int GID = FileRequestModel.GID;
            //CreateRootFolder
            FileSystemBL      fBL              = new FileSystemBL();
            string            RootFolderName   = AppConstants.ROOT_FOLDER_NAME;
            MessageBL         mBL              = new MessageBL();
            var               GetAttachmentLog = mBL.GetAttachmentLog(GID);
            ELTFileSystemItem RootFolderItem   = new ELTFileSystemItem()
            {
                Owner_Email = model.UserName, IsFolder = true, Name = RootFolderName, ParentID = -1
            };

            fBL.InsertFile(RootFolderItem);
            string            SenderEmailFolder     = GetAttachmentLog[0].SenderEmail;
            ELTFileSystemItem SenderEmailFolderItem = new ELTFileSystemItem()
            {
                Owner_Email = model.UserName, IsFolder = true, Name = SenderEmailFolder, ParentID = RootFolderItem.ID
            };

            fBL.InsertFile(SenderEmailFolderItem);
            string            DocFolder     = GetAttachmentLog[0].ReferenceNo;
            ELTFileSystemItem DocFolderItem = new ELTFileSystemItem()
            {
                Owner_Email = model.UserName, IsFolder = true, Name = DocFolder, ParentID = SenderEmailFolderItem.ID
            };

            fBL.InsertFile(DocFolderItem);

            //mBL.CopyAttachment(GID, model.UserName, DocFolderItem.ID);

            Session["FileFolderToBeSet"] = DocFolderItem.Name;
        }
示例#2
0
        public async Task Create(FileRequestModel model)
        {
            var fileEntity = await CreateFile(model);

            if (fileEntity != null)
            {
                _context.Files.Add(fileEntity);
                await _context.SaveChangesAsync(model.Username);
            }
        }
示例#3
0
        private void RerequestFile(NameValueCollection qscoll)
        {
            FileRequestModel FileRequestModel = new FileRequestModel();

            FileRequestModel.Token         = qscoll["Token"];
            FileRequestModel.FileID        = Convert.ToInt32(qscoll["FileID"]);
            FileRequestModel.GID           = Convert.ToInt32(qscoll["GID"]);
            FileRequestModel.UserEmail     = Convert.ToString(qscoll["UserEmail"]);
            FileRequestModel.FileAccessUrl = Url.Content(AppConstants.URL_FILE_ACCESS_PAGE + "?Token=" + qscoll["Token"] + "&FileID=" + qscoll["FileID"] + "&GID=" + qscoll["GID"] + "&UserEmail=" + qscoll["UserEmail"]);
            Session["FileRequestModel"]    = FileRequestModel;
        }
示例#4
0
        public async Task <IActionResult> Create([FromForm] FileRequestModel model)
        {
            if (ModelState.IsValid)
            {
                await _fileService.Create(model);

                return(NoContent());
            }

            return(new BadRequestObjectResult(this.ModelState));
        }
示例#5
0
        // GET: Admin/Files
        public async Task <ActionResult> Index(string courseId, string levelId, string contentId, string keyword = "", string orderBy = "", string isAscending = "")
        {
            ControllerHelper c = new ControllerHelper(courseId, levelId, contentId, keyword, orderBy, isAscending);

            c.SetViewBagValues(ViewBag);
            var dbSet        = db.Files;
            var queryable    = dbSet.ByCourse(c.CourseId).ByLevel(c.LevelId).ByContent(c.ContentId);
            var requestModel = new FileRequestModel(keyword, orderBy, isAscending);
            var list         = await requestModel.GetOrderedData(queryable).Include(x => x.Content).ToListAsync();

            return(View(list));
        }
示例#6
0
        internal void UpdateCell(FileRequestModel item)
        {
            if (!string.IsNullOrEmpty(item.FileName))
            {
                return;
            }

            if (item.FileName.Length > Constants.MaxLength)
            {
                FileLabel.Text = item.FileName.Substring(default(int), Constants.MaxLength);
            }

            FileLabel.Text = item.FileName;
        }
示例#7
0
        public ActionResult Register()
        {
            string UserEmail = Request.QueryString["UserEmail"];

            if (Request.QueryString["NewRegFromFileAccess"] != null)
            {
                FileRequestModel model = (FileRequestModel)Session["FileRequestModel"];
                UserEmail = model.UserEmail;
            }
            if (!string.IsNullOrEmpty(UserEmail))
            {
                ViewBag.UserEmail = UserEmail;
            }
            return(View());
        }
示例#8
0
        public SuccessfullOperated<FileRequestModel> SendFileToFriendship(int friendshipId, string authorId, FileRequestModel model)
        {
            var successfullOperated = new SuccessfullOperated<FileRequestModel>()
            {
                IsSuccessfull = false,
                Element = model
            };

            var friendship = this.data.Friendships
                .All()
                .FirstOrDefault(f => f.Id == friendshipId);

            if (friendship == null)
            {
                return successfullOperated;
            }

            var author = this.data.Users
                .All()
                .FirstOrDefault(u => u.Id == authorId);

            if (author == null)
            {
                return successfullOperated;
            }

            var fileForDb = new File()
            {
                Author = model.Author,
                CompressedFile = model.CompressedFile
            };

            try
            {
                model.Id = fileForDb.Id;

                friendship.Files.Add(fileForDb);
                this.data.SaveChanges();

                successfullOperated.IsSuccessfull = true;

                return successfullOperated;
            }
            catch (Exception)
            {
                return successfullOperated;
            }
        }
示例#9
0
        private async Task <string> UploadFile(IFormFile file, string extension)
        {
            if (file.Length > 0)
            {
                var fileSystemName = FileRequestModel.GenerateSystemName();

                var filePath = BuildFilePath(fileSystemName, extension);

                using (var stream = File.Create(filePath))
                {
                    await file.CopyToAsync(stream);
                }
                return(fileSystemName);
            }
            return(null);
        }
        public Guid FileOffer([FromBody] FileRequestModel model)
        {
            var details = new FileTransferDetails()
            {
                Date                = DateTime.Now,
                Description         = null,
                FileName            = model.FileName,
                Size                = 0,
                SourceDeviceId      = null,
                SourceUserName      = model.RequestedFromUserName,
                DestinationDeviceId = model.RequestedByDeviceId,
                DestinationUserName = model.RequestedByUserName
            };

            QueueInstances.FileTransfersQueue.Add(details);
            return(details.Id);
        }
示例#11
0
        private async Task <UploadFile> CreateFile(FileRequestModel model)
        {
            var extension  = Path.GetExtension(model.File.FileName).Trim('.');
            var systemName = await UploadFile(model.File, extension);

            if (!string.IsNullOrWhiteSpace(systemName))
            {
                var fileEntity = new UploadFile
                {
                    Extension  = extension,
                    Name       = string.IsNullOrWhiteSpace(model.Name) ? model.File.FileName : model.Name,
                    Size       = model.File.Length,
                    SystemName = systemName
                };

                return(fileEntity);
            }
            return(null);
        }
示例#12
0
        public async Task <IHttpActionResult> Post([FromBody] FileRequestModel value)
        {
            try
            {
                value.UserId = CurrentUserId;
                var objs = await _uow.File.SearchAsync(value);

                return(Ok(new { data = objs.Item1, total = objs.Item2 - 1 }));
            }
            catch (BusinessException ex)
            {
                return(BadRequest(ex.Message));
            }
            catch (Exception ex)
            {
                _log.Error(ex);
                return(BadRequest(this.General_Err));
            }
        }
示例#13
0
        public ActionResult RejectOffer()
        {
            FileRequestModel FileRequestModel = (FileRequestModel)Session["FileRequestModel"];
            int       GID  = FileRequestModel.GID;
            MessageBL BL   = new MessageBL();
            var       logs = BL.GetAttachmentLog(GID);

            if (logs[0].RecipientEmail == FileRequestModel.UserEmail)
            {
                Response.Cookies["TempUser"]["ReadFileAllowedToken"] = FileRequestModel.Token;
                Session["FileRequestModel"] = null;
                return(Json(new { Status = "Sucess" }, JsonRequestBehavior.AllowGet));
            }
            else
            {
                Session["FileRequestModel"] = null;
                return(Json(new { Status = "Fail", ErrorMsg = "The specified file does not belong to the user." }, JsonRequestBehavior.AllowGet));

                //Return Error and let the View calls th error
            }
            //start Token
        }
示例#14
0
 public async Task <Tuple <List <FileSearchResult>, int> > SearchAsync(FileRequestModel req)
 {
     return(await(_dbContext as Model.PunnelContext).msp_File_SearchAsync(req));
 }
示例#15
0
        public ActionResult NewRegistrationViaFileAccess()
        {
            FileRequestModel model = (FileRequestModel)Session["FileRequestModel"];

            return(View(model));
        }