private void UpdateFileDataObject(string oldPath, string newPath) { Uri oldUrl = new Uri("file://" + Uri.EscapeUriString(oldPath)); Uri newUrl = new Uri("file://" + Uri.EscapeUriString(newPath)); if (_monitoredFileUris.ContainsKey(oldUrl)) { try { Uri uri = _monitoredFileUris[oldUrl]; FileDataObject file = _model.GetResource <FileDataObject>(uri); file.Url = newUrl.AbsoluteUri; file.Commit(); _monitoredFiles.Remove(oldPath); _monitoredFiles.Add(newPath, new FileInfoCache(newPath)); _monitoredFileUris.Remove(oldUrl); _monitoredFileUris.Add(newUrl, file.Uri); Logger.LogInfo("Moved {0}", newPath); } catch (Exception e) { Logger.LogError(HttpStatusCode.InternalServerError, e); } } else { CreateFileDataObject(newPath); } }
private void BrowseBtn_Click(object sender, RoutedEventArgs e) { if (CurrentContract.PermanentRecord == true) { ErrorHandler.NotifyUser("سند به ثبت نهایی رسیده است"); return; } FileDataObject d = FilingManager.GetFileDataObject(); // check if the file is empty or the selected item is nulland return if (d == null) { return; } var f = new PaymentFile() { Index = 1, Name = d.FileName, FileContent = d.FileContent, AttachedDate = DateTime.Now, FileGuid = Guid.NewGuid(), PaymentDraftId = (dataGrid.SelectedItem as PaymentDraft).PaymentDraftId }; DataManagement.AddPaymentDraftFile(f); ErrorHandler.NotifyUser("فایل ثبت شد"); }
private void BrowseBtn1_Click(object sender, RoutedEventArgs e) { if (EditBtn.IsEnabled == false) { ErrorHandler.NotifyUser("برای بارگذاری فایل پس از تکمیل سند و ثبت آن از طریق جستجو وارد شوید"); return; } if (dataGrid1.SelectedIndex == -1) { return; } if ((dataGrid1.SelectedItem as ContractFile).FileId > 0) { return; } if (CurrentContract.PermanentRecord == true) { ErrorHandler.NotifyUser("سند به ثبت نهایی رسیده است"); return; } FileDataObject temp = FilingManager.GetFileDataObject(); if (temp == null) { return; } ContractFile t = dataGrid1.SelectedItem as ContractFile; t.FileContent = temp.FileContent; t.Name = temp.FileName; t.AttachedDate = DateTime.Now; DataManagement.AddContractFile(CurrentContract.Contractid, ContractIndex.ComplementOrExtend, t); ErrorHandler.NotifyUser(Errors.Saved); }
public byte[] GetThumbnail(FileDataObject file) { byte[] thumbNail = null; if (file.IsImage) { using (MemoryStream ms = new MemoryStream(file.Content)) using (MemoryStream outStream = new MemoryStream()) { Image img = Image.FromStream(ms); using (Image thumbNailImage = img.GetThumbnailImage(182, 150, () => false, IntPtr.Zero)) { var imageEncoder = ImageCodecInfo.GetImageEncoders() .Where(codecInfo => codecInfo.MimeType == file.ContentType.ToLowerInvariant()) .First(); using (var encParams = new EncoderParameters(1)) { long quality = 100; encParams.Param[0] = new EncoderParameter(Encoder.Quality, quality); thumbNailImage.Save(outStream, imageEncoder, encParams); thumbNail = outStream.ToArray(); } } } } else { thumbNail = IsPdf(file.ContentType) ? GetFileIconStream("pdf") : GetFileIconStream("file"); } return(thumbNail); }
public FileDataObject FetchThumbnail(int fileId, int ideaId) { FileDataObject file = null; using (var context = new IdeaPoolEntities()) { var selectedFile = context.Files .Where(x => x.Id == fileId && x.IdeaId == ideaId) .Select(x => new { x.Id, x.Thumbnail, x.ContentType, x.Name }).SingleOrDefault(); if (selectedFile != null) { file = new FileDataObject { Id = selectedFile.Id, Thumbnail = selectedFile.Thumbnail, ThumbnailBase64 = Convert.ToBase64String(selectedFile.Thumbnail), ContentType = selectedFile.ContentType, Name = selectedFile.Name }; } } return(file); }
public FileDataObject Fetch(int ideaId, int fileId) { FileDataObject file = null; using (var context = new IdeaPoolEntities()) { var selectedFile = context.Files .Where(x => x.Id == fileId && x.IdeaId == ideaId) .Select(x => new { x.Id, x.Content, x.ContentType, x.Name }).SingleOrDefault(); if (selectedFile != null) { file = new FileDataObject { Id = selectedFile.Id, Content = selectedFile.Content, ContentType = selectedFile.ContentType, Name = selectedFile.Name }; } } return(file); }
public int UploadFile(int ideaId) { List <FileDataObject> files = FetchUploadedFiles(); FileDataObject file = files.Single(); file.IsUploadedViaDiscussions = true; return(ProcessFactory.GetFileProcess().Insert(file, ideaId, UserId)); }
public int Insert(FileDataObject file, int ideaId, int userId) { if (!(ideaData.GetCreatorUserId(ideaId) == userId || userData.IsOwnerOrReviewer(userId))) { throw new PermissionException(); } file.Thumbnail = GetThumbnail(file); return(fileData.Insert(file, ideaId)); }
private void Copy_Executed(object sender, ExecutedRoutedEventArgs e) { var selectedList = DataGridOfFiles.SelectedItems; foreach (var item in selectedList) { FileDataObject file = (FileDataObject)item; CopyFiles.Add(file); } ToDelete = false; }
public void SendFile(FileInfo fileInfo) { int ideaId = Convert.ToInt32(fileInfo.ChannelName); ProcessFactory.GetDiscussionProcess().InsertFile(ideaId, fileInfo.UserId, fileInfo.FileId); FileDataObject file = ProcessFactory.GetFileProcess().FetchThumbnail(fileInfo.FileId, ideaId); Clients.Group(fileInfo.ChannelName).receiveFile(fileInfo.ChannelName, fileInfo.UserId, fileInfo.UserName, fileInfo.FileId, file.Name, file.ThumbnailBase64, file.ContentType, file.IsImage); Clients.Group(OWNER_GROUP_NAME).notifyOwners(fileInfo.ChannelName, fileInfo.UserId, fileInfo.UserName, null); GroupsHelper.MarkUnReadForOfflineUsers(fileInfo.ChannelName); }
public FileResult Download(int ideaId, int fileId) { IIdeaProcess ideaprocess = ProcessFactory.GetIdeaProcess(); if (ideaprocess.GetCreatorUserId(ideaId) != UserId && !HasAccess(FeatureAccess.VIEW_IDEAS_OF_OTHERS)) { throw new PermissionException(); } FileDataObject file = ProcessFactory.GetFileProcess().Fetch(ideaId, fileId); return(File(file.Content, System.Net.Mime.MediaTypeNames.Application.Octet, file.Name)); }
public FileDataObject FetchThumbnail(int fileId, int ideaId) { if (fileId == 0) { throw new CustomException("Invalid parameters."); } FileDataObject file = fileData.FetchThumbnail(fileId, ideaId); if (file == null) { throw new CustomException("File not found."); } return(file); }
private void Cut_Executed(object sender, ExecutedRoutedEventArgs e) { CopyFiles.Clear(); var selectedElement = sender as DataGrid; var selectedList = selectedElement.SelectedItems; var selected = sender as DataGridRow; // selectedElement..Opacity = .5; foreach (var item in selectedList) { FileDataObject file = (FileDataObject)item; CopyFiles.Add(file); } ToDelete = true; }
public ActionResult DisplayImage(int ideaId, int imageId) { IIdeaProcess ideaprocess = ProcessFactory.GetIdeaProcess(); if (ideaprocess.GetCreatorUserId(ideaId) != UserId && !HasAccess(FeatureAccess.VIEW_IDEAS_OF_OTHERS)) { throw new PermissionException(); } FileDataObject file = ProcessFactory.GetFileProcess().Fetch(ideaId, imageId); if (!file.IsImage) { throw new CustomException("Image not found"); } return(File(new MemoryStream(file.Content), file.ContentType)); }
protected List <FileDataObject> FetchUploadedFiles() { List <FileDataObject> files = new List <FileDataObject>(); for (int i = 0; i < System.Web.HttpContext.Current.Request.Files.Count; i++) { var file = System.Web.HttpContext.Current.Request.Files[i]; MemoryStream ms = new MemoryStream(); file.InputStream.CopyTo(ms); FileDataObject fileObject = new FileDataObject { Content = ms.ToArray(), ContentType = file.ContentType, Name = file.FileName }; files.Add(fileObject); } return(files); }
private FileInfoCache CreateFileDataObject(string path) { FileInfoCache file = new FileInfoCache(path); string queryString = @" PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> PREFIX nfo: <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#> SELECT ?uri WHERE { ?uri a nfo:FileDataObject . ?uri nfo:fileUrl """ + file.Url.AbsoluteUri + @""" . } LIMIT 1"; SparqlQuery query = new SparqlQuery(queryString); ISparqlQueryResult result = _model.ExecuteQuery(query); BindingSet bindings = result.GetBindings().FirstOrDefault(); if (bindings == null) { FileDataObject f = _model.CreateResource <FileDataObject>(); f.CreationTime = file.CreationTime; f.LastAccessTime = file.LastAccessTime; f.LastModificationTime = file.LastWriteTime; f.Url = file.Url.AbsoluteUri; f.Commit(); _monitoredFileUris[file.Url] = f.Uri; Logger.LogInfo("Created {0}", file.FullName); } else { _monitoredFileUris[file.Url] = new Uri(bindings["uri"].ToString()); Logger.LogInfo("Updating {0}", file.FullName); } return(file); }
/// <summary> /// Extract text from cliboard object for textual representation. /// </summary> /// <returns></returns> private string ExtractText() { if (this.Item.ContainsText()) { return(this.Item.GetData(Formats.Contains("System.String") ? "System.String" : Formats[0]).ToString()); } if (this.Item.ContainsImage()) { if (Formats.Contains("Bitmap")) { return("Image"); } return("Image"); } if (this.Item.ContainsAudio()) { if (Formats.Contains("Audio")) { return("Audio"); } return("Audio"); } if (this.Item.GetDataPresent(DataFormats.FileDrop, false) == true) { string[] fileNames = (string[])this.Item.GetData(DataFormats.FileDrop); return(FileNamesToString(fileNames)); } else if (this.Item.GetDataPresent("FileGroupDescriptorW")) { FileDataObject dataObject = new FileDataObject(this.Item); string[] fileNames = (string[])dataObject.GetData("FileGroupDescriptorW"); return(FileNamesToString(fileNames)); } return(this.Item.ToString()); }
public int Insert(FileDataObject file, int ideaId) { int fileId; using (var context = new IdeaPoolEntities()) { File dbFile = new File { Content = file.Content, ContentType = file.ContentType, IdeaId = ideaId, Name = file.Name, Thumbnail = file.Thumbnail, SizeInKb = file.SizeInKb, UniqueID = Guid.NewGuid(), IsUploadedViaDiscussions = file.IsUploadedViaDiscussions }; context.Files.Add(dbFile); context.SaveChanges(); fileId = dbFile.Id; } return(fileId); }
private void ViewEnd_Click(object sender, RoutedEventArgs e) { BusyIndicator busy = new BusyIndicator(); var x = dataGrid.SelectedItem as PaymentDraft; layoutRoot.Children.Add(busy); Task.Factory.StartNew(delegate { try { FileDataObject temp = DataManagement.RetrievePaymentDraftFile(x.PaymentDraftId, 2); OpenFileHandler.OpenFileFromByte(temp.FileContent, temp.FileName); temp = null; } catch (System.Exception ex) { ErrorHandler.ShowErrorMessage(Errors.NoFile); } }).ContinueWith(delegate { this.layoutRoot.Children.Remove(busy); }, TaskScheduler.FromCurrentSynchronizationContext()); }