private void btnBrowse_Click(object sender, EventArgs e)
 {
     if (openFileDialog1.ShowDialog() == DialogResult.OK)
     {
         btnUpload.Enabled = true;
         lblError.Text = "";
         #region dataGridView stuff
         List<String> files = openFileDialog1.SafeFileNames.ToList();
         List<Library.File> myFiles = new List<Library.File>();
         foreach (string f in files)
         {
             Library.File file = new Library.File(f, "", Project);
             myFiles.Add(file);
         }
         dataGridView1.DataSource = myFiles;
         dataGridView1.Columns.Remove("id");
         dataGridView1.Columns.Remove("VersionNr");
         dataGridView1.Columns.Remove("FileLock");
         dataGridView1.Columns.Remove("FileLockTime");
         dataGridView1.Columns.Remove("Project");
         dataGridView1.AutoResizeColumns();
         #endregion
         foreach (string filepath in openFileDialog1.FileNames)
         {
             fullFilePathList.Add(filepath);
             fileToUploadList.Add(Path.GetFileName(filepath));
         }
     }
 }
        private int AddFile(string fileName, string fileDesc)
        {
            if (txtFileName.Text.Length > 0 && txtDesc.Text.Length > 3)
            {
                try
                {
                    Library.File newFile = new Library.File(fileName, fileDesc, Project);
                    AddSingleFileMessage asfm = new AddSingleFileMessage();
                    asfm.file = newFile;
                    AddSingleFileMessage newAsfm = client.AddFile(asfm);

                    lblFilePath.Text = "";
                    txtFileName.Text = "";
                    txtDesc.Text = "";

                    return newAsfm.file.Id;
                }
                catch (Exception hest)
                {

                    MessageBox.Show("failed uploading your file to database. Sorry for this :( \n " + hest);
                    return 0;
                }
            }
            else
            {
                lblError.ForeColor = System.Drawing.Color.Red;
                lblError.Text = "Please recheck all fields Thanks!";
                return 0;
            }
        }
        public int AddFile(string fileName, string fileDesc, int projectid)
        {
            Project project = new Library.Project();
            project.Id = projectid;
            File file = new File(fileName, fileDesc, project);
            User owner = new Library.User(1);
            try
            {
                file.FileLock = 1;
                file.FileLockTime = DateTime.Now;
                file.VersionNr = 1;
                var option = new TransactionOptions();
                option.IsolationLevel = IsolationLevel.ReadCommitted;

                using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, option))
                {
                    bool f = dbFile.AddFIle(file);
                    FileVersion fv = new FileVersion(file.Id.ToString(), file, file.VersionNr, owner);

                    bool version = dbFileVersion.AddFileVersion(fv);

                    if (version && f)
                        scope.Complete();
                }
                return file.Id;
            }
            catch (Exception e)
            {
                throw new Exception("File not added to DB " + e);
            }
        }
 public FileVersion(string filePath, File file, int versionNumber, User owner)
 {
     FilePath = filePath;
     FileId = file.Id;
     VersionNumber = versionNumber;
     TimeStamp = DateTime.Now;
     Owner = owner.Id;
 }
 public AddSingleFileMessage AddFile(AddSingleFileMessage asfm)
 {
     AddSingleFileMessage returnASFM = new AddSingleFileMessage();
     Library.File file = new Library.File();
     returnASFM.file = file;
     returnASFM.file.Id = fCtr.AddFile(asfm.file.Title, asfm.file.Description, asfm.file.Project);
     return returnASFM;
 }
 public List<ChatMessage> GetNewMessagesFromFile(File file, int lastMessageId)
 {
     if (file == null)
     {
         return null;
     }
     else
     {
         return dbChatMessage.GetMoreChatMessages(file.Id, lastMessageId);
     }
     throw new NotImplementedException();
 }
 public bool AddFIle(File file)
 {
     try
     {
         //dbContext.ExecuteCommand() //TODO Lock db pre write.
         dbContext.Files.InsertOnSubmit(file);
         dbContext.SubmitChanges();
         return true;
     }
     catch
     {
         return false;
     }
 }
        public void Setup()
        {
            myUser = userController.FindUserById(5);
            myFile = fileController.GetFile(1);

            if (!myUser.Username.Equals("arm"))
            {
                Assert.Fail("Something went wrong when downloading user: arm");
            }

            if (!myFile.Title.Equals("my file"))
            {
                Assert.Fail("Something went wrong when downloading file");
            }
        }
        public bool RemoveFile(File file)
        {
            File nFile = GetFile(file.Id);
            if (nFile != null)
            {
                IDbFileVersion dbFileVersion = new DbFileVersion();
                bool error = false;
                try
                {
                    var option = new TransactionOptions();
                    option.IsolationLevel = IsolationLevel.ReadCommitted;

                    using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, option))
                    {
                        nFile = GetFile(file.Id);
                        //Delete all file versions related to file
                        bool fv = dbFileVersion.RemoveFileVersionsForFile(file.Id);
                        if (fv)
                        {
                            dbContext.Files.DeleteOnSubmit(nFile);
                            dbContext.SubmitChanges();
                            scope.Complete();
                        }
                        else
                        {
                            scope.Dispose();
                            error = true;
                        }
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("File could not be removed. File id: " + nFile.Id + "Error: \n" + e);
                    return false;
                }
                if (error != true)
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            return false;
            throw new NotImplementedException();
        }
 public List<int> AddMutiFiles(List<string> fileNames, List<string> fileDescs, Library.Project project)
 {
     List<int> ids = new List<int>();
     List<File> files = new List<File>();
     User owner = new Library.User(1);
     int i = 0;
     try
     {
         foreach (String fn in fileNames)
         {
             File file = new File(fn, fileDescs[i], project);
             file.FileLock = 1;
             file.FileLockTime = DateTime.Now;
             file.VersionNr = 1;
             files.Add(file);
             i++;
         }
         var option = new TransactionOptions();
         option.IsolationLevel = IsolationLevel.ReadCommitted;
         using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, option))
         {
             foreach (File f in files)
             {
                 bool af = dbFile.AddFIle(f);
                 FileVersion fv = new FileVersion(f.Id.ToString(), f, f.VersionNr, owner);
                 bool version = dbFileVersion.AddFileVersion(fv);
                 if (!af && !version)
                 {
                     scope.Dispose();
                     break;
                 }
                 ids.Add(f.Id);
             }
             scope.Complete();
         }
         return ids;
     }
     catch (Exception e)
     {
         throw new Exception("Files not added to DB: \n" + e);
     }
 }
 private void lwFiles_ItemActivate(object sender, EventArgs e)
 {
     if (lwFiles.SelectedItems.Count == 1)
     {
         var fileMetaData = new FileMetaData();
         fileMetaData.FileId = Convert.ToInt32(lwFiles.SelectedItems[0].Text);
         GetFileMessage gfm = new GetFileMessage();
         gfm.Metadata = fileMetaData;
         //Library.File activeFile = fileClient.GetFile(gfm).file;
         activeFile = fileClient.GetFile(gfm).file;
         lblFIleInfo.Text = activeFile.Title;
         txtFileDesc.Text = activeFile.Description;
         btnDownload.Visible = true;
         ChatMessage[] messages = chatService.GetLast20MessagesFromFile(activeFile);
         listBox_Filechat.Items.Clear();
         LastDate = DateTime.MinValue;
         UpdateChat(messages);
     }
 }
        private void supprimerToolStripMenuItem5_Click(object sender, EventArgs e)
        {
            TreeNode t = this.prv_currentNodeContext;

            if (t != null)
            {
                if (t.Tag != null)
                {
                    DialogResult dr = MessageBox.Show(Translate("SuppressText"), Translate("SuppressTitle"), MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (dr == System.Windows.Forms.DialogResult.Yes)
                    {
                        if (t.Tag is Library.MasterPage)
                        {
                            MasterPage mp = t.Tag as MasterPage;
                            Project.CurrentProject.Remove(mp);
                            Project.Save(Project.CurrentProject, ConfigDirectories.GetDocumentsFolder(), AppDomain.CurrentDomain.GetData("fileName").ToString());
                            Project.CurrentProject.ReloadProject();
                        }
                        else if (t.Tag is Library.MasterObject)
                        {
                            Project.CurrentProject.Remove(t.Tag as MasterObject);
                            Project.Save(Project.CurrentProject, ConfigDirectories.GetDocumentsFolder(), AppDomain.CurrentDomain.GetData("fileName").ToString());
                            Project.CurrentProject.ReloadProject();
                        }
                        else if (t.Tag is Library.HTMLTool)
                        {
                            Library.HTMLTool tool = t.Tag as Library.HTMLTool;
                            Project.CurrentProject.Remove(tool);
                            Project.Save(Project.CurrentProject, ConfigDirectories.GetDocumentsFolder(), AppDomain.CurrentDomain.GetData("fileName").ToString());
                            Project.CurrentProject.ReloadProject();
                        }
                        else if (t.Tag is Library.HTMLObject)
                        {
                            HTMLObject obj = t.Tag as Library.HTMLObject;
                            Project.CurrentProject.Remove(obj);
                            Project.Save(Project.CurrentProject, ConfigDirectories.GetDocumentsFolder(), AppDomain.CurrentDomain.GetData("fileName").ToString());
                            Project.CurrentProject.ReloadProject();
                        }
                        else if (t.Tag is Library.SculptureObject)
                        {
                            SculptureObject sObject = t.Tag as SculptureObject;
                            Project.CurrentProject.Remove(sObject);
                            Project.Save(Project.CurrentProject, ConfigDirectories.GetDocumentsFolder(), AppDomain.CurrentDomain.GetData("fileName").ToString());
                            Project.CurrentProject.ReloadProject();
                        }
                        else if (t.Tag is Library.Page)
                        {
                            Page p = t.Tag as Library.Page;
                            Project.CurrentProject.Remove(p);
                            Project.Save(Project.CurrentProject, ConfigDirectories.GetDocumentsFolder(), AppDomain.CurrentDomain.GetData("fileName").ToString());
                            Project.CurrentProject.ReloadProject();
                        }
                        else if (t.Tag is Library.File)
                        {
                            Library.File f = t.Tag as Library.File;
                            Project.CurrentProject.Remove(f);
                            Project.Save(Project.CurrentProject, ConfigDirectories.GetDocumentsFolder(), AppDomain.CurrentDomain.GetData("fileName").ToString());
                            Project.CurrentProject.ReloadProject();
                        }
                    }
                }
            }
        }