Example #1
0
        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);
            }
        }
Example #2
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
        public int UploadFile(int ideaId)
        {
            List <FileDataObject> files = FetchUploadedFiles();
            FileDataObject        file  = files.Single();

            file.IsUploadedViaDiscussions = true;
            return(ProcessFactory.GetFileProcess().Insert(file, ideaId, UserId));
        }
Example #8
0
 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;
        }
Example #10
0
        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);
        }
Example #11
0
        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));
        }
Example #12
0
        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;
        }
Example #14
0
        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));
        }
Example #15
0
        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);
        }
Example #16
0
        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);
        }
Example #17
0
        /// <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());
        }
Example #18
0
        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);
        }
Example #19
0
        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());
        }