Ejemplo n.º 1
0
        private ProjectDoc CreateNewProject(string text)
        {
            ProjectDoc projectDoc = new ProjectDoc();

            projectDoc.Text = text;
            return(projectDoc);
        }
Ejemplo n.º 2
0
        public ProjectDoc UploadFinishReport(ProjectDoc doc)
        {
            var project = _context.Projects.FirstOrDefault(p => p.ProjectId == doc.ProjectId);

            if (null == project)
            {
                throw new NotFoundException("未找到项目");
            }

            if (!project.Terminable())
            {
                throw new OtherException("项目状态不允许上传该文档");
            }

            var pdfName = DateTime.Now.ToFileTime() + project.Name;

            if (!PdfHelper.ConvertProjectPdf(project.ProjectId, doc.Name, pdfName))
            {
                throw new OtherException("生成PDF文档失败");
            }

            doc.RelativeURL = doc.RelativeURL.Replace(doc.Name, pdfName + ".pdf");
            doc.Name        = pdfName + ".pdf";

            var pre = _context.ProjectDocs.Where(pd => pd.Type == ProjectDocType.FINISH_REPORT && pd.ProjectId == project.ProjectId);

            _context.ProjectDocs.RemoveRange(pre);

            _context.ProjectDocs.Add(doc);
            //project.Status = ProjectStatus.INST_REVIEW;

            _context.SaveChanges();

            return(doc);
        }
Ejemplo n.º 3
0
        public RunManager(ProjectDoc projectDoc)
        {
            this.projectDoc = projectDoc;

            processWorker = new System.ComponentModel.BackgroundWorker();
            processWorker.WorkerReportsProgress      = true;
            processWorker.WorkerSupportsCancellation = true;
            processWorker.DoWork             += new System.ComponentModel.DoWorkEventHandler(this.ProcessWorkerDoWork);
            processWorker.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.ProcessWorkerRunWorkerCompleted);
            processWorker.ProgressChanged    += new System.ComponentModel.ProgressChangedEventHandler(this.ProcessWorkerProgressChanged);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Сохранить проект
        /// </summary>
        public void SaveProjetData(bool showDialog = true)
        {
            ProjectDoc doc = new ProjectDoc(this.Project.ProjectFilePath);

            doc.SaveProject(this.Project);

            if (showDialog)
            {
                HelperDialog.ShowWarningDialog($"Проект [{this.Project.Name}] сохранен!", "Сохранено");
            }
        }
Ejemplo n.º 5
0
 void PortfolioControlLoad(object sender, EventArgs e)
 {
     this.projectDoc = (ProjectDoc)this.Parent.Parent.Parent;
     if (!DesignMode && !isInitialized)
     {
         log = Factory.SysLog.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
         projectProperties  = new ProjectProperties();
         treeView.LabelEdit = true;
         string appData = Factory.Settings["AppDataFolder"];
         TickZoom.Api.ProjectProperties loadProjectProperties = Factory.Starter.ProjectProperties(appData + @"\portfolio.xml");
         ReloadProjectModels(loadProjectProperties);
     }
 }
Ejemplo n.º 6
0
        private void menuItemNew_Click(object sender, System.EventArgs e)
        {
            ProjectDoc projectDoc = CreateNewProject();

            if (dockPanel.DocumentStyle == DocumentStyle.SystemMdi)
            {
                projectDoc.MdiParent = this;
                projectDoc.Show();
            }
            else
            {
                projectDoc.Show(dockPanel);
            }
        }
Ejemplo n.º 7
0
        private ProjectDoc CreateNewProject()
        {
            ProjectDoc projectDoc = new ProjectDoc();

            int    count = 1;
            string text  = "Project" + count.ToString();

            while (FindDocument(text) != null)
            {
                count++;
                text = "Project" + count.ToString();
            }
            projectDoc.Text = text;
            return(projectDoc);
        }
Ejemplo n.º 8
0
        /// <summary>
        /// 上传文档
        /// </summary>
        /// <returns></returns>
        public HttpResponseMessage Post()
        {
            try
            {
                var            projectId = HttpContext.Current.Request.Params["ProjectId"];
                ProjectDocType docType   = (ProjectDocType)int.Parse(HttpContext.Current.Request.Params["Type"]);

                //获取绝对路径
                DirectoryInfo dir = Directory.CreateDirectory(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, SystemConfig.ProjectPathWin, projectId));
                //保存文件
                string saveName = FileHelper.Upload(HttpContext.Current, dir.FullName);

                //生成ProjectDoc对象
                string path = "/" + Path.Combine(SystemConfig.ProjectPathWeb, projectId, saveName).Replace(@"\", @"/");

                ProjectDoc doc = new ProjectDoc()
                {
                    RelativeURL = path,
                    Type        = (ProjectDocType)docType,
                    Name        = saveName,
                    ProjectId   = projectId
                };

                switch (docType)
                {
                case ProjectDocType.FINISH_REPORT:
                    _projectdocRepository.UploadFinishReport(doc);
                    break;

                case ProjectDocType.OTHER:
                    _projectdocRepository.UploadProjectDoc(doc);
                    break;

                default:
                    throw new OtherException("文档类型错误");
                }

                //保存到数据库
                return(ResponseWrapper.SuccessResponse());
            }
            catch (Exception e)
            {
                return(ResponseWrapper.ExceptionResponse(e));
            }
        }
Ejemplo n.º 9
0
        private void btnSaveDoc_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(ProjectName.Text) || string.IsNullOrEmpty(ProjectSurName.Text))
            {
                MessageBox.Show("Название проекта или Раздел проекта не могут быть пустыми.");
                return;
            }
            if (!CheckMoney())
            {
                MessageBox.Show("Планируемые затраты и Фактические затраты должны быть представленны в виде числа с запятой.");
                return;
            }
            if (!CheckTime())
            {
                MessageBox.Show("Часы и минуты должны быть указаны.");
                return;
            }

            ProjectDoc project = new ProjectDoc();

            project.User           = currentUser;
            project.NameProject    = ProjectName.Text;
            project.SurNameProject = ProjectSurName.Text;
            project.PlanHourse     = int.Parse(PlanHourse.Text);
            project.PlanMinets     = int.Parse(PlanMinets.Text);
            project.SpendedHourse  = int.Parse(SpendedHourse.Text);
            project.SpendedMinets  = int.Parse(SpendedMinets.Text);
            project.PlanMoney      = decimal.Parse(PlanMoney.Text.Replace('.', ','));
            project.SpendedMoney   = decimal.Parse(SpendedMoney.Text.Replace('.', ','));

            ProjectDoc writedProject = SqlManager.InsertProjectDoc(project);

            if (writedProject.guid == default(Guid))
            {
                MessageBox.Show("Произошла ошибка, данные не были записаны в базу данных!");
                return;
            }
            MessageBox.Show("Данные успешно записаны в базу данных.");
            ClearFields();
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Загрузить данные из файла в проект
        /// </summary>
        /// <param name="proj"></param>
        private void LoadProjectDataFromFile(ref ProjectItem proj)
        {
            //По данным файла формируем объект MyProject
            ProjectDoc doc       = new ProjectDoc(proj.Project.ProjectFilePath);
            var        localProj = proj.Project;

            doc.GetProjectItem(ref localProj);
            //После того, как мы сформировали объект MyProject, начинаем формировать ProjectItem и TaskItems
            //по структуре объекта MyProject
            //Обязательно перед загрузкой задач нужно установить MainProjectTaskRoot.Task
            proj.MainProjectTaskRoot.Task = localProj.TaskRoot;
            proj.MainProjectTaskRoot.ProjectItem.AutoScroll = true;
            this.LoadTasks(proj, proj.Project.TaskRoot, proj.MainProjectTaskRoot);

            //Раскроем или закроем нужные панели подзадач
            //this.OpenCloseSubPanelsForAllTasks(proj.MainProjectTaskRoot);

            //После того, как мы загрузили объект выделим первую задачу
            if (proj.MainProjectTaskRoot?.SubTaskItems?.Count > 0)
            {
                this.ChangeSelectedTaskItem(proj.MainProjectTaskRoot.SubTaskItems[0]);
            }
        }
Ejemplo n.º 11
0
        private void menuItemLayoutByCode_Click(object sender, System.EventArgs e)
        {
            dockPanel.SuspendLayout(true);

            m_solutionExplorer.Show(dockPanel, DockState.DockRight);
            propertyWindow.Show(m_solutionExplorer.Pane, m_solutionExplorer);
            m_toolbox.Show(dockPanel, new Rectangle(98, 133, 200, 383));
            m_outputWindow.Show(m_solutionExplorer.Pane, DockAlignment.Bottom, 0.35);
            m_taskList.Show(m_toolbox.Pane, DockAlignment.Left, 0.4);

            CloseAllDocuments();
            ProjectDoc doc1 = CreateNewProject("Project1");
            ProjectDoc doc2 = CreateNewProject("Project2");
            ProjectDoc doc3 = CreateNewProject("Project3");
            ProjectDoc doc4 = CreateNewProject("Project4");

            doc1.Show(dockPanel, DockState.Document);
            doc2.Show(doc1.Pane, null);
            doc3.Show(doc1.Pane, DockAlignment.Bottom, 0.5);
            doc4.Show(doc3.Pane, DockAlignment.Right, 0.5);

            dockPanel.ResumeLayout(true, true);
        }
Ejemplo n.º 12
0
 /// <summary>
 /// 上传文档
 /// </summary>
 /// <param name="privilege">权限验证</param>
 /// <returns>
 /// 成功,返回ResponseStatus.success
 /// 失败,返回ResponseStatus.unkown_error,和错误信息
 /// </returns>
 public void UploadProjectDoc(ProjectDoc doc)
 {
     _context.ProjectDocs.Add(doc);
     _context.SaveChanges();
 }
Ejemplo n.º 13
0
        //Создаем запись в Проект (работы)
        public static ProjectDoc InsertProjectDoc(ProjectDoc projectDoc)
        {
            if (projectDoc == null)
            {
                throw new ArgumentException($"{nameof(projectDoc)} не может быть NULL.");
            }

            if (projectDoc.User.Id == 0)
            {
                throw new ArgumentException("Id Пользователя не может быть 0.");
            }
            if (string.IsNullOrEmpty(projectDoc.User.Login))
            {
                throw new ArgumentException("Логин пользователя не может быть пустой.");
            }
            if (string.IsNullOrEmpty(projectDoc.User.role?.Name))
            {
                throw new ArgumentException("Роль не может быть пустой.");
            }


            Guid newGuid = Guid.NewGuid();
            int  result  = 0;

            using (SqlCommand cmd = sqlConnection.CreateCommand())
            {
                cmd.CommandText = @"INSERT INTO 
            [dbo].[Project]
           ([ProjectName]
           ,[ProjectSurNave]
           ,[LoginIdCreater]
           ,[PlanHourse]
           ,[PlanMinets]
           ,[SpendedHourse]
           ,[SpendedMinets]
           ,[PlanMoney]
           ,[SpendedMoney]
           ,[GUID])

             VALUES
            (@NameProject,
            @SurNameProject,
            @LoginIdCreater,
            @PlanHourse,
            @PlanMinets,
            @SpendedHourse,
            @SpendedMinets,
            @PlanMoney,
            @SpendedMoney,
            @GUID)";

                cmd.Parameters.AddWithValue("@NameProject", projectDoc.NameProject);
                cmd.Parameters.AddWithValue("@SurNameProject", projectDoc.SurNameProject);
                cmd.Parameters.AddWithValue("@LoginIdCreater", projectDoc.User.Id);
                cmd.Parameters.AddWithValue("@PlanHourse", projectDoc.PlanHourse);
                cmd.Parameters.AddWithValue("@PlanMinets", projectDoc.PlanMinets);
                cmd.Parameters.AddWithValue("@SpendedHourse", projectDoc.SpendedHourse);
                cmd.Parameters.AddWithValue("@SpendedMinets", projectDoc.SpendedMinets);
                cmd.Parameters.AddWithValue("@PlanMoney", projectDoc.PlanMoney);
                cmd.Parameters.AddWithValue("@SpendedMoney", projectDoc.SpendedMoney);
                cmd.Parameters.AddWithValue("@GUID", newGuid);

                result = cmd.ExecuteNonQuery();
            }

            if (result == 0)
            {
                //тут ошибка
            }

            projectDoc.guid = newGuid;

            return(projectDoc);
        }