private string GetSerializedProject(string storageFilePath, string centralModelPath) { var project = GetProject(storageFilePath); var projectAttributes = project.DataObject.Attributes; var revitattrsMap = new Dictionary <string, string>(); if (_revitProjectAttrsMap != null) { foreach (var pilotAttr in projectAttributes) { var revitAttrs = _revitProjectAttrsMap.Where(m => m.Value.Equals(pilotAttr.Key)); foreach (var revitAttr in revitAttrs.Where(revitAttr => revitAttr.Key != null)) { revitattrsMap[revitAttr.Key] = pilotAttr.Value.ToString(); } } } var revitProject = new RevitProject() { CentralModelPath = centralModelPath, ProjectInfoAttrsMap = revitattrsMap }; var serializedProject = JsonConvert.SerializeObject(revitProject); return(serializedProject); }
public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) { if (values.Length == 2) { RevitProject selectedProject = values[0] as RevitProject; ObservableCollection <RevitProject> items = values[1] as ObservableCollection <RevitProject>; if (null != selectedProject && null != items) { var filteredItems = from item in items where item.ProjectNumber == selectedProject.ProjectNumber select item; if (filteredItems.Count() > 0) { projects = new ObservableCollection <RevitProject>(filteredItems.ToList()); } } } return(projects); }
private void FileDrop(string[] files) { try { foreach (string rvtFile in files) { string fileExt = System.IO.Path.GetExtension(rvtFile); if (fileExt != ".rvt") { continue; } RevitProject rvtProject = new RevitProject(); rvtProject.FilePath = rvtFile; rvtProject.FileName = System.IO.Path.GetFileName(rvtProject.FilePath); string projectNumber = "00.00000.00"; string projectName = "Undefined"; RevitProject.GetProjectInfo(rvtProject.FilePath, out projectNumber, out projectName); rvtProject.ProjectNumber = projectNumber; rvtProject.ProjectName = projectName; rvtProject.LinkedBy = Environment.UserName; rvtProject.LastLinked = DateTime.Now; rvtProject.LinkedDate = DateTime.Now; viewModel.Projects.Add(rvtProject); RevitProject selectedProject = viewModel.SelectedProject; viewModel.SelectedProject = null; viewModel.SelectedProject = selectedProject; } } catch (Exception ex) { string message = ex.Message; } }