public void UserSharedFileCollectionViewModel_ProcessSelectedFileTest_AddAsNewFile()
        {
            var mockFileUploadService = new Mock <IFileUploadService>();

            mockFileUploadService
            .Setup(uploader => uploader.ShowFileReplacementPrompt(
                       It.IsAny <IEnumerable <SharedFileViewModel> >(),
                       It.IsAny <SharedFileViewModel>(),
                       It.IsAny <OperationCallback <SharedFileReplaceCommands> >()))
            .Callback((IEnumerable <SharedFileViewModel> sharedFileViewModels, SharedFileViewModel sharedFileViewModel, OperationCallback <SharedFileReplaceCommands> callback) =>
            {
                sharedFileViewModel.Model.OriginalFileName += "_copy";
                callback(null, SharedFileReplaceCommands.SaveAs);
            });
            var sampleVm = new SampleUserSharedFileCollectionViewModel();

            sampleVm.FileUploadService = mockFileUploadService.Object;
            int initialCount    = sampleVm.ViewModels.Count;
            var oldSharedFileVm = sampleVm.ViewModels.First();
            var sharedFile      = new SharedFile()
            {
                SharedFileId = Guid.NewGuid(), OriginalFileName = oldSharedFileVm.Model.OriginalFileName
            };
            var newSharedFileVm = viewModelFactory.GetViewModel <SharedFileViewModel>(vm => vm.Model.SharedFileId == sharedFile.SharedFileId);

            newSharedFileVm.Model = sharedFile;
            sampleVm.ProcessSelectedFile(newSharedFileVm);
            Assert.AreEqual(initialCount + 1, sampleVm.ViewModels.Count);
            Assert.IsTrue(sampleVm.ViewModels.Contains(newSharedFileVm));
            Assert.IsTrue(sampleVm.ViewModels.Contains(oldSharedFileVm));
        }
Exemplo n.º 2
0
 internal void RemoveSharedFile(SharedFile file)
 {
     lock (_sharedFiles)
     {
         _sharedFiles.Remove(file.MetaData.FileID);
     }
 }
Exemplo n.º 3
0
        public static bool CreateHistory(SharedFile file, IFileSystem fileSystem, string virtualFilePath, string virtualHistoryPath)
        {
            bool historyCreated = false;

            //File.Move(Path.Combine(sourceFilePath, Path.GetFileName(this.serverFileName)), Path.Combine(historyFolderPath, Path.GetFileName(this.serverFileName)));
            fileSystem.MoveFile(
                VirtualPathUtility.Combine(virtualFilePath, file.ServerFileName),
                VirtualPathUtility.Combine(virtualHistoryPath, file.ServerFileName),
                true);

            historyCreated = SharedFile.AddHistory(
                file.ItemGuid,
                file.ModuleGuid,
                file.UserGuid,
                file.ItemId,
                file.ModuleId,
                file.FriendlyName,
                file.OriginalFileName,
                file.ServerFileName,
                file.SizeInKB,
                file.UploadDate,
                file.UploadUserId,
                file.ViewRoles
                );


            return(historyCreated);
        }
Exemplo n.º 4
0
            /// <summary>
            /// Locks the file
            /// </summary>
            /// <param name="timeout">The amount of time to try to acquire a lock</param>
            public static ISharedFile Lock(string path, int timeout)
            {
                SharedFile sf;

                lock (files)
                {
                    bool b;
                    if (b = !files.TryGetValue(path, out sf))
                    {
                        files[path] = sf = new SharedFile(path);
                    }

                    sf.Lock();

                    if (!b)
                    {
                        return(new SharedDisposable(sf));
                    }
                }

                if (File.Exists(path))
                {
                    var limit = DateTime.UtcNow.AddMilliseconds(timeout);

                    do
                    {
                        try
                        {
                            sf.Stream = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.Read);
                            break;
                        }
                        catch (FileNotFoundException)
                        {
                            break;
                        }
                        catch (Exception e)
                        {
                            Util.Logging.Log(e);
                        }

                        if (DateTime.UtcNow > limit)
                        {
                            break;
                        }

                        Thread.Sleep(100);
                    }while (true);
                }

                if (sf.Stream == null)
                {
                    lock (files)
                    {
                        files.Remove(sf.Path);
                        return(null);
                    }
                }

                return(new SharedDisposable(sf));
            }
        public override void DeleteSiteContent(int siteId)
        {
            SharedFile.DeleteBySite(siteId);

            if (SharedFilesConfiguration.DeleteFilesOnSiteDelete)
            {
                try
                {
                    string fileVirtualBasePath = "~/Data/Sites/" + siteId.ToInvariantString() + "/SharedFiles/";

                    FileSystemProvider p = FileSystemManager.Providers[WebConfigSettings.FileSystemProvider];
                    if (p != null)
                    {
                        IFileSystem fileSystem = p.GetFileSystem();
                        if (fileSystem != null)
                        {
                            fileSystem.DeleteFolder(fileVirtualBasePath);
                        }
                    }
                }
                catch (Exception ex)
                {
                    log.Error(ex);
                }
            }
        }
Exemplo n.º 6
0
        public void SharedFileStateConverter_ConvertedFileSet_AlreadyShared()
        {
            var user = new User()
            {
                UserId = Guid.NewGuid(), UserTag = TestConstants.Facebook1UserId
            };
            var roomSharedFileCollectionsViewModel = viewModelFactory.GetViewModel <RoomSharedFileCollectionViewModel>();
            var sharedFile = new SharedFile()
            {
                SharedFileId          = Guid.NewGuid(),
                ConvertedFileLocation = "http://localhost/something",
                User = user
            };
            var sharedFileViewModel = viewModelFactory.GetViewModel <SharedFileViewModel>(vm => vm.Model.SharedFileId == sharedFile.SharedFileId);

            sharedFileViewModel.Model = sharedFile;
            roomSharedFileCollectionsViewModel.ViewModels.Add(sharedFileViewModel);
            var converter = new SharedFileStateConverter()
            {
                SharedFileViewModels = roomSharedFileCollectionsViewModel.ViewModels
            };
            string actual = converter.Convert(sharedFileViewModel, typeof(string), null, CultureInfo.CurrentCulture) as string;

            Assert.AreEqual(ClientStrings.SharedFileActionRemove, actual);
        }
        public frmShareFileSelection(BitChatNode node, SharedFile sharedFile)
        {
            InitializeComponent();

            BitChat[] sharedChats = sharedFile.GetChatList();

            foreach (BitChat chat in node.GetBitChatList())
            {
                bool found = false;

                foreach (BitChat sharedChat in sharedChats)
                {
                    if (sharedChat == chat)
                    {
                        found = true;
                        break;
                    }
                }

                if (!found)
                {
                    checkedListBox1.Items.Add(chat);
                }
            }
        }
        private void button3_Click(object sender, EventArgs e)
        {
            using (var fileDialog = new OpenFileDialog())
            {
                if (fileDialog.ShowDialog() == DialogResult.OK)
                {
                    SharedFile file = new SharedFile(fileDialog.FileName);

                    formatter.Serialize(strm, "3");
                    try
                    {
                        try {
                            formatter.Serialize(strm, file);
                            MessageBox.Show("File uploaded");
                        }
                        catch (Exception exc)
                        {
                            MessageBox.Show("Somethings goes wrong" + exc.Message);
                        }
                        button1_Click(button1, EventArgs.Empty);
                    }
                    catch (Exception exception)
                    {
                        MessageBox.Show("Something goes wrong, " + exception.Message);
                    }
                }
            }
        }
Exemplo n.º 9
0
        private void btnDeleteFile_Click(object sender, EventArgs e)
        {
            SharedFile sharedFile = new SharedFile(moduleId, itemId);

            if (sharedFile.ModuleId != moduleId)
            {
                SiteUtils.RedirectToAccessDeniedPage(this);

                return;
            }

            sharedFile.ContentChanged += new ContentChangedEventHandler(sharedFile_ContentChanged);

            if (config.EnableVersioning)
            {
                SharedFilesHelper.CreateHistory(sharedFile, fileSystem, virtualSourcePath, virtualHistoryPath);
            }

            sharedFile.Delete();
            CurrentPage.UpdateLastModifiedTime();
            CacheHelper.ClearModuleCache(moduleId);
            SiteUtils.QueueIndexing();

            if (hdnReturnUrl.Value.Length > 0)
            {
                WebUtils.SetupRedirect(this, hdnReturnUrl.Value);

                return;
            }

            WebUtils.SetupRedirect(this, SiteUtils.GetCurrentPageUrl());
        }
Exemplo n.º 10
0
        // POST: api/Share
        public async Task Post()
        {
            HttpContext         httpContext         = HttpContext.Current;
            SharedVulnerability sharedVulnerability = new SharedVulnerability();

            sharedVulnerability.Comment       = httpContext.Request.Form["Comment"];
            sharedVulnerability.CommitMessage = httpContext.Request.Form["CommitMessage"];
            sharedVulnerability.CweId         = int.TryParse(httpContext.Request.Form["CweId"], out int cweId) ? cweId : (int?)null;

            foreach (string key in httpContext.Request.Files.AllKeys)
            {
                SharedFile     sharedFile = new SharedFile();
                HttpPostedFile file       = httpContext.Request.Files[key];
                sharedFile.Name = file.FileName;
                using (BinaryReader binaryReader = new BinaryReader(file.InputStream))
                {
                    sharedFile.Content = binaryReader.ReadBytes(file.ContentLength);
                }
                sharedFile.VulnerabilityState = key.StartsWith("currentFile") ? VulnerabilityState.AfterFix : VulnerabilityState.Vulnerable;
                sharedVulnerability.SharedFiles.Add(sharedFile);
            }

            micscanContext.SharedVulnerabilities.Add(sharedVulnerability);
            await micscanContext.SaveChangesAsync();
        }
Exemplo n.º 11
0
        protected void dgFile_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "ItemClicked")
            {
                string   keys      = e.CommandArgument.ToString();
                char[]   separator = { '~' };
                string[] args      = keys.Split(separator);
                string   type      = args[1];
                dgFile.EditIndex = -1;

                if (type == "folder")
                {
                    CurrentFolderId = int.Parse(args[0]);
                    BindData();
                    upFiles.Update();
                    return;
                }

                // this isn't used since we changed to a link to download.aspx
                if (type == "file")
                {
                    int        fileID     = int.Parse(args[0]);
                    SharedFile sharedFile = new SharedFile(this.ModuleId, fileID);

                    sharedFile.ContentChanged += new ContentChangedEventHandler(SharedFile_ContentChanged);

                    string virtualPath = "~/Data/Sites/" + this.SiteId.ToInvariantString()
                                         + "/SharedFiles/" + sharedFile.ServerFileName;

                    string fileType = Path.GetExtension(sharedFile.OriginalFileName).Replace(".", string.Empty);
                    string mimeType = SiteUtils.GetMimeType(fileType);
                    Page.Response.ContentType = mimeType;

                    if (SiteUtils.IsNonAttacmentFileType(fileType))
                    {
                        //this will display the pdf right in the browser
                        Page.Response.AddHeader("Content-Disposition", "filename=\"" + HttpUtility.UrlEncode(sharedFile.FriendlyName.Replace(" ", string.Empty), Encoding.UTF8) + "\"");
                    }
                    else
                    {
                        // other files just use file save dialog
                        Page.Response.AddHeader("Content-Disposition", "attachment; filename=\"" + HttpUtility.UrlEncode(sharedFile.FriendlyName.Replace(" ", string.Empty), Encoding.UTF8) + "\"");
                    }


                    Page.Response.Buffer       = false;
                    Page.Response.BufferOutput = false;
                    //Page.Response.TransmitFile(downloadPath);
                    using (System.IO.Stream stream = fileSystem.GetAsStream(virtualPath))
                    {
                        stream.CopyTo(Page.Response.OutputStream);
                    }
                    try
                    {
                        Page.Response.End();
                    }
                    catch (System.Threading.ThreadAbortException) { }
                }
            }
        }
Exemplo n.º 12
0
        private void DeleteItem(GridViewRow e)
        {
            string keys = dgFile.DataKeys[e.RowIndex].Value.ToString();

            char[]   separator = { '~' };
            string[] args      = keys.Split(separator);
            string   type      = args[1];

            if (type == "folder")
            {
                int folderID            = int.Parse(args[0]);
                SharedFileFolder folder = new SharedFileFolder(this.ModuleId, folderID);
                //folder.DeleteAllFiles(this.filePath);
                SharedFilesHelper.DeleteAllFiles(folder, fileSystem, fileVirtualBasePath, config);
                SharedFileFolder.DeleteSharedFileFolder(folderID);

                //TODO: file content changed event so re-index
            }

            if (type == "file")
            {
                int        fileID     = int.Parse(args[0]);
                SharedFile sharedFile = new SharedFile(this.ModuleId, fileID);

                if (!config.EnableVersioning)
                {
                    fileSystem.DeleteFile(VirtualPathUtility.Combine(fileVirtualBasePath, sharedFile.ServerFileName));
                }

                sharedFile.Delete();

                sharedFile.ContentChanged += new ContentChangedEventHandler(SharedFile_ContentChanged);
            }
        }
Exemplo n.º 13
0
        public override void ContentChangedHandler(
            object sender,
            ContentChangedEventArgs e)
        {
            if (WebConfigSettings.DisableSearchIndex)
            {
                return;
            }

            SharedFile sharedFile = (SharedFile)sender;

            if (e.IsDeleted)
            {
                // get list of pages where this module is published
                List <PageModule> pageModules
                    = PageModule.GetPageModulesByModule(sharedFile.ModuleId);

                foreach (PageModule pageModule in pageModules)
                {
                    mojoPortal.SearchIndex.IndexHelper.RemoveIndexItem(
                        pageModule.PageId,
                        sharedFile.ModuleId,
                        sharedFile.ItemId);
                }
            }
            else
            {
                IndexItem(sharedFile);
            }
        }
 private void chat_FileRemoved(BitChat chat, SharedFile sharedFile)
 {
     if (_sharedFile == sharedFile)
     {
         FileRemoved?.Invoke(this, EventArgs.Empty);
     }
 }
Exemplo n.º 15
0
        public async Task <IActionResult> Edit(int id, [Bind("ID,Name,UploadDate,Category,Rating,Size,Uploader")] SharedFile sharedFile)
        {
            if (id != sharedFile.ID)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(sharedFile);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!SharedFileExists(sharedFile.ID))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(sharedFile));
        }
Exemplo n.º 16
0
 private static void Remove(SharedFile sf)
 {
     lock (files)
     {
         using (sf.Stream) { }
         files.Remove(sf.Path);
     }
 }
Exemplo n.º 17
0
        private void _chat_FileAdded(BitChat sender, SharedFile sharedFile)
        {
            SharedFileItem item = new SharedFileItem(sharedFile, _chat);

            item.FileRemoved += OnFileRemoved;

            lstFiles.AddItem(item);
        }
Exemplo n.º 18
0
 private void BitChat_FileRemoved(BitChat chat, SharedFile sharedFile)
 {
     if (_sharedFile == sharedFile)
     {
         linkAction.Visible = false;
         _sharedFile        = null;
     }
 }
        private void chat_FileAdded(BitChat.Peer peer, MessageItem message, SharedFile sharedFile)
        {
            ChatMessageFileItem fileItem = new ChatMessageFileItem(peer, message, sharedFile);

            AddMessage(fileItem, true);

            fileItem.ShareFile += FileItem_ShareFile;
        }
Exemplo n.º 20
0
        public void SharedFileStateConverter_ConvertedFileNull_UploadCommandNull()
        {
            var    sharedFile = new SharedFile();
            var    converter  = new SharedFileStateConverter();
            string actual     = converter.Convert(sharedFile, typeof(string), null, CultureInfo.CurrentCulture) as string;

            Assert.AreEqual(ClientStrings.SharedFileActionError, actual);
        }
Exemplo n.º 21
0
 public void Insert(SharedFile file)
 {
     if (file == null)
     {
         throw new ArgumentNullException("file");
     }
     _repo.Insert(file);
 }
Exemplo n.º 22
0
        void grdHistory_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            int archiveID = Convert.ToInt32(e.CommandArgument);

            switch (e.CommandName)
            {
            case "restore":
                //SharedFile.RestoreHistoryFile(archiveID, this.upLoadPath, this.historyPath);
                SharedFilesHelper.RestoreHistoryFile(archiveID, fileSystem, virtualSourcePath, virtualHistoryPath);
                WebUtils.SetupRedirect(this, Request.RawUrl);
                break;

            case "deletehx":
                SharedFilesHelper.DeleteHistoryFile(archiveID, fileSystem, virtualHistoryPath);
                SharedFile.DeleteHistory(archiveID);

                WebUtils.SetupRedirect(this, Request.RawUrl);
                break;

            case "download":

                SharedFileHistory historyFile = SharedFile.GetHistoryFile(archiveID);
                if (historyFile != null)
                {
                    string fileType = Path.GetExtension(historyFile.FriendlyName).Replace(".", string.Empty);
                    if (string.Equals(fileType, "pdf", StringComparison.InvariantCultureIgnoreCase))
                    {
                        //this will display the pdf right in the browser
                        Page.Response.AddHeader("Content-Disposition", "filename=" + historyFile.FriendlyName);
                    }
                    else
                    {
                        // other files just use file save dialog
                        Page.Response.AddHeader("Content-Disposition", "attachment; filename=" + historyFile.FriendlyName);
                    }

                    //Page.Response.AddHeader("Content-Length", documentFile.DocumentImage.LongLength.ToString());

                    Page.Response.ContentType  = "application/" + fileType;
                    Page.Response.Buffer       = false;
                    Page.Response.BufferOutput = false;
                    //Response.TransmitFile(historyPath + historyFile.ServerFileName);
                    //Response.End();

                    using (System.IO.Stream stream = fileSystem.GetAsStream(virtualHistoryPath + historyFile.ServerFileName))
                    {
                        stream.CopyTo(Page.Response.OutputStream);
                    }
                    try
                    {
                        Page.Response.End();
                    }
                    catch (System.Threading.ThreadAbortException) { }
                }

                break;
            }
        }
Exemplo n.º 23
0
        private void btnUpdateFile_Click(object sender, EventArgs e)
        {
            SiteUser siteUser = SiteUtils.GetCurrentSiteUser();

            if (siteUser == null)
            {
                return;
            }

            SharedFile file = new SharedFile(moduleId, itemId);

            file.ContentChanged += new ContentChangedEventHandler(sharedFile_ContentChanged);

            if ((file.ItemId > 0) && (file.ModuleId == moduleId))
            {
                file.FriendlyName = txtFriendlyName.Text;
                file.Description  = edDescription.Text;
                file.FolderId     = int.Parse(ddFolders.SelectedValue);

                if (file.FolderId > -1)
                {
                    SharedFileFolder folder = new SharedFileFolder(moduleId, file.FolderId);
                    file.FolderGuid = folder.FolderGuid;
                }

                if (file.ModuleGuid == Guid.Empty)
                {
                    Module m = new Module(moduleId);
                    file.ModuleGuid = m.ModuleGuid;
                }

                file.UploadUserId = siteUser.UserId;
                // really last mod date
                file.UploadDate = DateTime.UtcNow;

                List <ListItem> selectedRoles = cblRolesThatCanViewFile.Items.Cast <ListItem>()
                                                .Where(li => li.Selected)
                                                .ToList();

                string viewRoles = String.Join(";", selectedRoles.Select(x => x.Value.ToString()).ToArray());

                file.ViewRoles = viewRoles;
                file.Save();
            }

            CurrentPage.UpdateLastModifiedTime();
            CacheHelper.ClearModuleCache(moduleId);
            SiteUtils.QueueIndexing();

            if (hdnReturnUrl.Value.Length > 0)
            {
                WebUtils.SetupRedirect(this, hdnReturnUrl.Value);

                return;
            }

            WebUtils.SetupRedirect(this, SiteUtils.GetCurrentPageUrl());
        }
Exemplo n.º 24
0
        private void Run()
        {
            NetworkStream strm    = null;
            String        choosen = null;

            do
            {
                try
                {
                    strm = client.GetStream();
                    IFormatter formatter = new BinaryFormatter();
                    choosen = (String)formatter.Deserialize(strm);

                    switch (choosen)
                    {
                    case "1":
                        Console.WriteLine(choosen);
                        formatter.Serialize(strm, findAllStoredFiles());
                        break;

                    case "2":
                        Console.WriteLine(choosen);
                        try
                        {
                            String path = (String)formatter.Deserialize(strm);
                            Console.WriteLine(path);
                            SharedFile file = new SharedFile(path);

                            formatter.Serialize(strm, file);
                        }
                        catch (SerializationException se)
                        {
                            Console.WriteLine("Serialization exception" + se.Message);
                        }
                        break;

                    case "3":
                        Console.WriteLine(choosen);
                        try {
                            SharedFile upload = (SharedFile)formatter.Deserialize(strm);
                            upload.Save("stored");
                        }
                        catch (SerializationException se)
                        {
                            Console.WriteLine("Deserialization exception" + se.Message);
                        }

                        break;
                    }
                }
                catch (Exception e)
                {
                    strm.Close();
                    Console.WriteLine(e.Message);
                    break;
                }
            } while (!choosen.Equals("4"));
        }
Exemplo n.º 25
0
        private void btnUpload_Click(object sender, EventArgs e)
        {
            if (uploader.HasFile)
            {
                SiteUser siteUser = SiteUtils.GetCurrentSiteUser();
                if (siteUser == null)
                {
                    return;
                }

                SharedFile sharedFile = new SharedFile(this.moduleId, this.itemId);
                sharedFile.ContentChanged += new ContentChangedEventHandler(sharedFile_ContentChanged);

                if (config.EnableVersioning)
                {
                    bool historyCreated = SharedFilesHelper.CreateHistory(sharedFile, fileSystem, virtualSourcePath, virtualHistoryPath);
                    if (historyCreated)
                    {
                        sharedFile.ServerFileName = System.Guid.NewGuid().ToString() + ".config";
                    }
                }


                sharedFile.ModuleId = this.moduleId;
                if (sharedFile.ModuleGuid == Guid.Empty)
                {
                    Module m = GetModule(moduleId, SharedFile.FeatureGuid);
                    sharedFile.ModuleGuid = m.ModuleGuid;
                }

                string fileName = Path.GetFileName(uploader.FileName);

                sharedFile.OriginalFileName = fileName;
                sharedFile.FriendlyName     = fileName;
                sharedFile.SizeInKB         = (int)(uploader.FileBytes.Length / 1024);
                sharedFile.UploadUserId     = siteUser.UserId;
                sharedFile.UploadDate       = DateTime.UtcNow;

                if (sharedFile.Save())
                {
                    string destPath = virtualSourcePath + sharedFile.ServerFileName;

                    using (Stream s = uploader.FileContent)
                    {
                        //fileSystem.SaveFile(destPath, file1.FileContent, file1.ContentType, true);
                        fileSystem.SaveFile(destPath, s, IOHelper.GetMimeType(Path.GetExtension(sharedFile.FriendlyName).ToLower()), true);
                    }
                }



                CurrentPage.UpdateLastModifiedTime();
                CacheHelper.ClearModuleCache(moduleId);
                SiteUtils.QueueIndexing();
            }

            WebUtils.SetupRedirect(this, Request.RawUrl);
        }
Exemplo n.º 26
0
        protected void btnUpload_Click(object sender, EventArgs e)
        {
            // as long as javascript is available this code should never execute
            // because the standard file input ir replaced by javascript and the file upload happens
            // at the service url /SharedFiles/upload.ashx
            // this is fallback implementation

            if (!fileSystem.FolderExists(fileVirtualBasePath))
            {
                fileSystem.CreateFolder(fileVirtualBasePath);
            }

            SiteUser siteUser = SiteUtils.GetCurrentSiteUser();

            if (siteUser == null)
            {
                WebUtils.SetupRedirect(this, Request.RawUrl); return;
            }


            if (uploader.HasFile)
            {
                SharedFile sharedFile = new SharedFile();

                string fileName = Path.GetFileName(uploader.FileName);

                sharedFile.ModuleId         = ModuleId;
                sharedFile.ModuleGuid       = ModuleConfiguration.ModuleGuid;
                sharedFile.OriginalFileName = fileName;
                sharedFile.FriendlyName     = fileName;
                sharedFile.SizeInKB         = (int)(uploader.FileContent.Length / 1024);
                sharedFile.FolderId         = CurrentFolderId;

                if (CurrentFolderId > -1)
                {
                    SharedFileFolder folder = new SharedFileFolder(ModuleId, CurrentFolderId);
                    sharedFile.FolderGuid = folder.FolderGuid;
                }

                sharedFile.UploadUserId = siteUser.UserId;
                sharedFile.UserGuid     = siteUser.UserGuid;

                sharedFile.ContentChanged += new ContentChangedEventHandler(SharedFile_ContentChanged);

                if (sharedFile.Save())
                {
                    string destPath = VirtualPathUtility.Combine(fileVirtualBasePath, sharedFile.ServerFileName);

                    using (Stream s = uploader.FileContent)
                    {
                        fileSystem.SaveFile(destPath, s, IOHelper.GetMimeType(Path.GetExtension(sharedFile.FriendlyName).ToLower()), true);
                    }
                }
            }

            WebUtils.SetupRedirect(this, Request.RawUrl);
        }
Exemplo n.º 27
0
        private void PopulateFileControls()
        {
            Title        = SiteUtils.FormatPageTitle(siteSettings, SharedFileResources.SharedFilesEditLabel);
            heading.Text = SharedFileResources.SharedFilesEditLabel;

            SharedFile file = new SharedFile(moduleId, itemId);

            if ((file.ItemId > 0) && (file.ModuleId == moduleId))
            {
                pnlNotFound.Visible = false;
                pnlFolder.Visible   = false;
                pnlFile.Visible     = true;

                using (IDataReader reader = SharedFileFolder.GetSharedModuleFolders(file.ModuleId))
                {
                    ddFolders.DataSource = reader;
                    ddFolders.DataBind();
                }

                ddFolders.Items.Insert(0, new ListItem("Root", "-1"));
                ddFolders.SelectedValue = file.FolderId.ToInvariantString();

                hdnCurrentFolderId.Value = file.FolderId.ToInvariantString();

                if (timeZone != null)
                {
                    lblUploadDate.Text = file.UploadDate.ToLocalTime(timeZone).ToString();
                }
                else
                {
                    lblUploadDate.Text = file.UploadDate.AddHours(TimeOffset).ToString();
                }

                SiteUser uploadUser = new SiteUser(siteSettings, file.UploadUserId);
                lblUploadBy.Text     = uploadUser.Name;
                lblFileSize.Text     = file.SizeInKB.ToString();
                txtFriendlyName.Text = file.FriendlyName;
                edDescription.Text   = file.Description;

                if (config.EnableVersioning)
                {
                    using (IDataReader reader = file.GetHistory())
                    {
                        grdHistory.DataSource = reader;
                        grdHistory.DataBind();
                    }
                }

                PopulateAllowedRolesList(cblRolesThatCanViewFile, file.ViewRoles);
            }
            else
            {
                pnlNotFound.Visible = true;
                pnlFolder.Visible   = false;
                pnlFile.Visible     = false;
            }
        }
Exemplo n.º 28
0
 public static DalSharedFile ToDalSharedFile(this SharedFile sharedFileEntity)
 {
     return(new DalSharedFile()
     {
         OwnerId = sharedFileEntity.OwnerId,
         RecipientId = sharedFileEntity.RecipientId,
         FileId = sharedFileEntity.FileId
     });
 }
Exemplo n.º 29
0
 public SharedFile[] GetSharedFileList()
 {
     lock (_sharedFiles)
     {
         SharedFile[] sharedFilesList = new SharedFile[_sharedFiles.Count];
         _sharedFiles.Values.CopyTo(sharedFilesList, 0);
         return(sharedFilesList);
     }
 }
Exemplo n.º 30
0
        public IActionResult GetByCarId([FromForm(Name = ("File"))] IFormFile file, [FromForm] SharedFile sharedFile)
        {
            var result = _sharedFilesService.Update(file, sharedFile);

            if (result.Success)
            {
                return(Ok(result));
            }
            return(BadRequest(result));
        }
Exemplo n.º 31
0
 private void SharedFileProcessor(SharedFile file)
 {
     //todo
     Console.WriteLine("Receive a file");
 }