Ejemplo n.º 1
0
        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;
            }
        }
Ejemplo n.º 2
0
        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);
                }
            }
        }
Ejemplo n.º 3
0
        private void CreateNew()
        {
            var project = new Project();

            project.RemovingRequested += RemovingRequestedHandler;
            OpenProjects.Add(project);
            SelectedProject = project;
        }
Ejemplo n.º 4
0
        public void OpenProject(Stream stream, string fileName)
        {
            IProject project = new Project.Project(stream, fileName);

            CurrentProject = project;
            OpenProjects.Add(project);
            ProjectOpened(project, EventArgs.Empty);
        }
Ejemplo n.º 5
0
 private void CloseProject()
 {
     foreach (UnitViewModel uvm in SelectedProject.Units)
     {
         uvm.CloseCommand.Execute(null);
     }
     OpenProjects.Remove(SelectedProject);
     SelectedProject = null;
 }
Ejemplo n.º 6
0
        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;
            }
        }
Ejemplo n.º 7
0
        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);
        }
Ejemplo n.º 8
0
        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;
            }
        }
Ejemplo n.º 9
0
        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();
            });
        }