public void OpenProject(string fileName) { Project project = Storage.GetProject(fileName); if (project == null) { MessageBox.Show( "An error occured while opening project file.", "Error", MessageBoxButton.OK, MessageBoxImage.Error); } else if (OpenProjects.ToList().Find(i => i.Id == project.Id) != null) { SelectedProject = OpenProjects.ToList().Find(i => i.Id == project.Id); } else { //if (dialog.FileName != project.Path) //{ project.Path = fileName; project.Code = Path.GetFileNameWithoutExtension(fileName); foreach (Unit unit in project.Units) { unit.Project.Path = fileName; unit.Project.Code = Path.GetFileNameWithoutExtension(fileName); } //} var projectViewModel = new ProjectViewModel(project); OpenProjects.Add(projectViewModel); SelectedProject = projectViewModel; } }
private void NewProject() { Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog(); dlg.FileName = "Urcie Project"; // Default file name dlg.DefaultExt = ".urc1"; // Default file extension dlg.Filter = "Urcie Project (.urc1)|*.urc1"; // Filter files by extension Nullable <bool> result = dlg.ShowDialog(); if (result == true) { ProjectViewModel viewModel = new ProjectViewModel(); viewModel.Code = dlg.FileName; try { viewModel.Code = Path.GetFileNameWithoutExtension(dlg.FileName); viewModel.Path = dlg.FileName; Storage.SaveProject(viewModel.ToModel()); OpenProjects.Add(viewModel); SelectedProject = viewModel; SelectedProject.Original = viewModel.ToModel(); } catch (Exception e) { MessageBox.Show(e.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error); } } }
private void CreateNew() { var project = new Project(); project.RemovingRequested += RemovingRequestedHandler; OpenProjects.Add(project); SelectedProject = project; }
public void OpenProject(Stream stream, string fileName) { IProject project = new Project.Project(stream, fileName); CurrentProject = project; OpenProjects.Add(project); ProjectOpened(project, EventArgs.Empty); }
private void CloseProject() { foreach (UnitViewModel uvm in SelectedProject.Units) { uvm.CloseCommand.Execute(null); } OpenProjects.Remove(SelectedProject); SelectedProject = null; }
private void openProjectMenuItem_Click(object sender, EventArgs e) { List <SQLFunc.SubResults> sqlData = mySQL.GetData(DBTables["Projects"].ToString(), "ProjectName,Country,Sector,SubSector,pCur,ProjectID"); OpenProjects ProjectOpen = new OpenProjects(sqlData); ProjectOpen.ShowDialog(); if (ProjectOpen == null || ProjectOpen.Data2LookFor == null) { return; } SQLFunc.SubResults sql1Data = mySQL.Get1Data(DBTables["Projects"].ToString(), "*", ProjectOpen.Data2LookFor); ProjectOpen.Close(); switch (ProjectOpen.Action) { case OpenProjects.ActionType.OpenProject: NewMDEProject OpenProject = new NewMDEProject(DBTables, mySQL, today, sql1Data, CoinParams); OpenProject.ShowDialog(); break; case OpenProjects.ActionType.ValidateProject: SQLFunc.SubResults checkData = mySQL.Get1Data(DBTables["ProjectInScope"].ToString(), "ProjectID", "ProjectID='" + sql1Data._SubResults[25].ToString() + "'"); bool Exists = false; if (checkData._SubResults.Count != 0) { Exists = true; } ProjectValidation ValidateProject = new ProjectValidation(DBTables, mySQL, sql1Data, today, Exists); ValidateProject.ShowDialog(); if (ValidateProject == null) { return; } if (ValidateProject.IsOpen) { OpenProject = new NewMDEProject(DBTables, mySQL, today, sql1Data, CoinParams); OpenProject.ShowDialog(); } if (ValidateProject.IsValidated) { string data2save = "'" + ValidateProject.Project_ID.ToString() + "','Validated','" + FormatDate(ValidateProject.StartDate) + "','" + FormatDate(ValidateProject.COD) + "','" + FormatDate(ValidateProject.EndDate) + "','','','','','','','','','','','','',''"; mySQL.InsertData(DBTables["ProjectInScope"].ToString(), data2save); UpdateProjectInScope(); } ValidateProject.Close(); break; } }
private void RemovingRequestedHandler(object sender, EventArgs e) { Project project = (Project)sender; if (!project.IsSaved) { new ConfirmDialog().ShowDialog(); //MessageBoxResult result = // MessageBox.Show( // "There are stil some unsaved changes in this project. Do you want to close it anyways?", // "Close without saving?", // MessageBoxButton.YesNo); //switch (result) //{ // case MessageBoxResult.Yes: // break; // default: // return; //} } if (project == SelectedProject) { if (OpenProjects.Count == 1) { SelectedProject = null; } else { int newIndex = OpenProjects.IndexOf(project) - 1; if (newIndex < 0) { newIndex += 2; SelectedProject = newIndex < OpenProjects.Count ? OpenProjects[newIndex] : null; } SelectedProject = OpenProjects[newIndex]; } } OpenProjects.Remove(project); }
private void Open() { var ofd = new OpenFileDialog(); ofd.DefaultExt = ".mmproj"; ofd.Filter = "MagicMesh project files|*.mmproj|All files|*.*"; ofd.CheckFileExists = true; ofd.CheckPathExists = true; ofd.Multiselect = true; if (ofd.ShowDialog() == true) { Project project = null; foreach (string fileName in ofd.FileNames) { project = Project.Load(fileName); project.RemovingRequested += RemovingRequestedHandler; OpenProjects.Add(project); } SelectedProject = project; } }
public MainWindowViewModel() { _openProjects = new ObservableCollection <ProjectViewModel>(); SelectProjectCommand = new RelayCommand <ProjectViewModel>((project) => { SelectActiveProject(project); }); NewProjectCommand = new RelayCommand(() => { var proj = new ProjectViewModel(); proj.ProjectName = ProjectViewModel.UnNamedProjectName; // bug waiting to happen. names should be more unique because of how saving saving works at SelectActiveProject(proj); OpenProjects.Add(proj); }); CloseActiveProjectCommand = new RelayCommand(() => { if (ActiveProject != null) { // TODO: Ask if to save first ActiveProject.SaveState(); OpenProjects.Remove(ActiveProject); SelectActiveProject(OpenProjects.LastOrDefault()); } }); OpenProjectCommand = new RelayCommand(() => { OpenFileDialog openFileDialog = new OpenFileDialog(); if (openFileDialog.ShowDialog() == DialogResult.OK) { var proj = ProjectViewModel.FromFile(openFileDialog.FileName); if (proj != null) { SelectActiveProject(proj); OpenProjects.Add(proj); } } }); SaveProjectCommand = new RelayCommand(() => { if (ActiveProject.ProjectName == ProjectViewModel.UnNamedProjectName) { SaveAs(); } else { ActiveProject.SaveState(); } }); SaveAsProjectCommand = new RelayCommand(() => { SaveAs(); }); CloseAllCommand = new RelayCommand(() => { foreach (var item in OpenProjects) { item.SaveState(); } ActiveProject = null; OpenProjects.Clear(); }); }