Esempio n. 1
0
        private void ERP_PROJECTTREE_Load(object sender, EventArgs e)
        {
            tn.Tag = ProjectId;
            project p = project.Find(ProjectId);

            if (p != null)
            {
                tn.Text               = project.Find(ProjectId).description;
                tn.ImageIndex         = 3;
                tn.SelectedImageIndex = 3;
            }
            else
            {
                tn.Text = "项目";
            }
            this.tvMType.Nodes.Add(tn);
            //AddFirstSubProject(tn);
            //AddSystem(tn);
            //this.tvMType.ExpandAll();

            DataTable dt    = new DataTable();
            DataTable dtact = new DataTable();

            //int projectid = ProjectSystem.FindProjectid(ProjectId);
            dt    = SubProject.FindAllSubPro(ProjectId).Tables[0];
            dtact = Activity.FindActivityDs(ProjectId).Tables[0];
            //string virroot = ProjectSystem.GetProName(projectID);
            CreateTreeViewRecursiveNew(tn, dt, dtact, "0");
        }
Esempio n. 2
0
 public void TryRun(string targetName, SubProject fixtureProject)
 {
     if (fixtureProject.Targets.Contains(targetName))
     {
         fixtureProject.Targets[targetName].Execute();
     }
 }
        public async Task <SubProject> CreateAsync <TInputModel>(TInputModel inputModel)
        {
            var inputSubProject = AutoMapperConfig.MapperInstance.Map <SubProject>(inputModel);
            var project         = await this.projectsService.GetByIdAsync(inputSubProject.ProjectId);

            var subProject = new SubProject
            {
                SubProjectTypeId = inputSubProject.SubProjectTypeId,
                ProjectId        = inputSubProject.ProjectId,
                Budget           = inputSubProject.Budget,
                ProgressStatusId = project.ProgressStatusId,
            };

            if (inputSubProject.DueDate != null)
            {
                subProject.DueDate = inputSubProject.DueDate?.ToUniversalTime();
            }
            else
            {
                subProject.DueDate = project.DueDate;
            }

            await this.subProjectsRepository.AddAsync(subProject);

            await this.subProjectsRepository.SaveChangesAsync();

            return(subProject);
        }
Esempio n. 4
0
        public async Task DeleteAsyncShouldDeletetheCorrectSubProject()
        {
            // Arrange
            var subProject = new SubProject
            {
                Id               = 1,
                Budget           = 1000,
                ProgressStatusId = 2,
                DueDate          = DateTime.Now.AddDays(10),
            };

            await this.PlanItDbContext.SubProjects.AddAsync(subProject);

            await this.PlanItDbContext.SaveChangesAsync();

            var subProjectId = 1;

            // Act
            var expected = 0;

            await this.SubProjectsService.DeleteAsync(subProjectId);

            // Assert
            Assert.Equal(expected, this.PlanItDbContext.SubProjects.Count());
        }
        public ActionResult Create(string projectCode, FormCollection collection)
        {
            var project = this.projectServices.GetProjectByCode(projectCode);
            if (project == null)
            {
                return RedirectToAction("Index", "Project");
            }

            try
            {
                var newSubProject = new SubProject { Project = project };

                if (TryUpdateModel(newSubProject, null, null, new[] { "Project" }))
                {
                    project.SubProjects.Add(newSubProject);
                    this.projectServices.SaveProject(project);

                    return RedirectToAction("Index", new { projectCode });
                }
            }
            catch (Exception e)
            {
                ModelState.AddModelError(string.Empty, e);
            }

            return View();
        }
Esempio n. 6
0
        public async Task <ActionResult <SubProject> > PostSubProject(SubProjectDTO subProjectDto)
        {
            var subproject = _context.SubProjects.Where(c => c.SubProjectName == subProjectDto.SubProjectName).FirstOrDefault();

            if (subproject != null)
            {
                return(Conflict(new RespStatus {
                    Status = "Failure", Message = "Sub Project Already Exists"
                }));
            }

            SubProject SubProj = new SubProject
            {
                ProjectId      = subProjectDto.ProjectId,
                SubProjectName = subProjectDto.SubProjectName,
                SubProjectDesc = subProjectDto.SubProjectDesc
            };

            _context.SubProjects.Add(SubProj);
            await _context.SaveChangesAsync();

            return(Ok(new RespStatus {
                Status = "Success", Message = "Sub-Project Created!"
            }));
        }
Esempio n. 7
0
        protected override void ExecuteTask()
        {
            int TestCount        = 0;
            int TestPassingCount = 0;

            foreach (String Fixture in Fixtures)
            {
                SubProject FixtureProject = this.Project.SubProjects[Fixture];

                try
                {
                    this.TryRun(string.Format("{0}.{1}", FixtureProject.ProjectName, FixtureSetUp), FixtureProject);

                    foreach (Target FixtureTarget in FixtureProject.Targets)
                    {
                        if (FixtureTarget.Name.EndsWith("Test"))
                        {
                            try
                            {
                                TestCount++;
                                this.TryRun(string.Format("{0}.{1}", FixtureProject.ProjectName, SetUpName), FixtureProject);
                                FixtureTarget.Execute();
                                TestPassingCount++;
                            }
                            catch (BuildException bx)
                            {
                                Log(Level.Error, "{0} at:{1}{2}", bx.Message, Environment.NewLine, bx.Location.ToString());
                            }
                            catch (Exception ex)
                            {
                                Log(Level.Error, "{0} in {1}", ex.Message, FixtureTarget.Name);
                            }
                            finally
                            {
                                this.TryRun(string.Format("{0}.{1}", FixtureProject.ProjectName, TearDownName), FixtureProject);
                            }
                        }
                    }
                }
                finally
                {
                    this.TryRun(string.Format("{0}.{1}", FixtureProject.ProjectName, FixtureTearDown), FixtureProject);
                }
            }

            int TestFailingCount = TestCount - TestPassingCount;

            Log(Level.Info, "Tests Run: {0}", TestCount);
            Log(Level.Info, "Tests Passing: {0}", TestPassingCount);
            Log(Level.Info, "Tests Failing: {0}", TestFailingCount);
            Log(Level.Info, "Test Assertions Executed: {0}", MbUnit.Framework.Assert.AssertCount);
            if (TestFailingCount > 0)
            {
                throw new BuildException(string.Format("{0} tests failed.", TestFailingCount));
            }
        }
        public async Task SumCostsCompleteProjectsByManagerIdFromProjectShouldReturnCorretcValue()
        {
            // Arrange
            var project = new Project
            {
                Id = 1,
                ProjectManagerId = "First",
                IsDeleted        = false,
                ProgressStatus   = new ProgressStatus
                {
                    Name = GlobalConstants.ProgressStatusCompleted,
                },
            };

            var subProject = new SubProject
            {
                Id        = 1,
                ProjectId = 1,
            };

            var problems = new List <Problem>
            {
                new Problem
                {
                    SubProjectId = 1,
                    HourlyRate   = 4,
                    TotalHours   = 25,
                },
                new Problem
                {
                    SubProjectId = 1,
                    HourlyRate   = 4,
                    TotalHours   = 100,
                },
            };

            await this.PlanItDbContext.Projects.AddAsync(project);

            await this.PlanItDbContext.SubProjects.AddAsync(subProject);

            await this.PlanItDbContext.Problems.AddRangeAsync(problems);

            await this.PlanItDbContext.SaveChangesAsync();

            var userId = "First";

            // Act
            var expected = 500;

            var actual = this.ProblemsService.SumCostsCompleteProjectsByManagerId(userId);

            // Assert
            Assert.Equal(expected, actual);
        }
Esempio n. 9
0
        public SubProjectPanel(SubProject subPrj)
        {
            InitializeComponent();

            App app = App.Current as App;
            _mainFrame = app.MainFrame;

            _treePanel = new IS3ProjectTree(this, MyTreeView, subPrj);

            GotFocus += SubProjectPanel_GotFocus;
        }
        public SubProjectPanel(SubProject subPrj)
        {
            InitializeComponent();

            App app = App.Current as App;

            _mainFrame = app.MainFrame;

            _treePanel = new IS3ProjectTree(this, MyTreeView, subPrj);

            GotFocus += SubProjectPanel_GotFocus;
        }
Esempio n. 11
0
        public async Task <ActionResult <SubProject> > PostSubProject(SubProjectDTO subProjectDto)
        {
            SubProject SubProj = new SubProject();

            SubProj.SubProjectName = subProjectDto.SubProjectName;
            SubProj.SubProjectDesc = subProjectDto.SubProjectDesc;

            _context.SubProjects.Add(SubProj);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetSubProject", new { id = SubProj.Id }, SubProj));
        }
        /// <summary>
        /// Returns a view with a form for creating a new <see cref="SubProject"/>.
        /// </summary>
        /// <param name="projectCode">The parent project code.</param>
        /// <returns>A view with a form for creating a new <see cref="SubProject"/>.</returns>
        public ActionResult Create(string projectCode)
        {
            var project = this.projectServices.GetProjectByCode(projectCode);
            if (project == null)
            {
                return RedirectToAction("Index", "Project");
            }

            ViewBag.ProjectCode = projectCode;
            var subProject = new SubProject { Project = project };
            return View(subProject);
        }
        private void Delete()
        {
            string Id = Request["Id"];

            if (!string.IsNullOrEmpty(Id))
            {
                ProjectUser.DeleteAll("ProjectId='" + Id + "'");
                SubProject.DeleteAll("ProjectId='" + Id + "'");
                KanChaSheJi.DeleteAll("ProjectId='" + Id + "'");
                sql = "delete NCRL_SP..Project where Id='" + Id + "'";
                DataHelper.ExecSql(sql);
            }
        }
Esempio n. 14
0
        /// <summary>
        /// Creates the project layout. Reads the layout file if specified.
        /// </summary>
        /// <param name="traps">Directory for trap files, or null to use layout/current directory.</param>
        /// <param name="archive">Directory for source archive, or null for layout/no archive.</param>
        /// <param name="layout">Path of layout file, or null for no layout.</param>
        /// <exception cref="InvalidLayoutException">Failed to read layout file.</exception>
        public Layout(string traps, string archive, string layout)
        {
            useLayoutFile = string.IsNullOrEmpty(traps) && !string.IsNullOrEmpty(layout);

            if (useLayoutFile)
            {
                ReadLayoutFile(layout);
                DefaultProject = blocks[0].Directories;
            }
            else
            {
                DefaultProject = new SubProject(traps, archive);
            }
        }
Esempio n. 15
0
        /// <summary>
        /// 删除之前台座上的构件
        /// </summary>
        /// <param name="subProject"></param>
        /// <returns></returns>
        public async Task <Pedestal> DeleteSubProjectInPedestal(SubProject subProject)
        {
            if (subProject.Pedestal == null)
            {
                return(null);
            }
            // 删除台座原有的构件,已绑定新台座
            subProject.Pedestal = await Repository.GetAll().FirstOrDefaultAsync(v => v.SubProjectId == subProject.Id);

            var pedestal = await GetAsync(subProject.Pedestal.Id);

            pedestal.SubProjectId = null;
            pedestal.SubProject   = null;
            return(await Repository.UpdateAsync(pedestal));
        }
Esempio n. 16
0
        public async Task <IActionResult> OnGetAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            SubProject = await _context.SubProject.FirstOrDefaultAsync(m => m.ID == id);

            if (SubProject == null)
            {
                return(NotFound());
            }
            return(Page());
        }
Esempio n. 17
0
        /// <summary>
        /// Creates the project layout. Reads the layout file if specified.
        /// </summary>
        /// <param name="traps">Directory for trap files, or null to use layout/current directory.</param>
        /// <param name="archive">Directory for source archive, or null for layout/no archive.</param>
        /// <param name="layout">Path of layout file, or null for no layout.</param>
        /// <exception cref="InvalidLayoutException">Failed to read layout file.</exception>
        public Layout(string?traps, string?archive, string?layout)
        {
            useLayoutFile = string.IsNullOrEmpty(traps) && !string.IsNullOrEmpty(layout);
            blocks        = new List <LayoutBlock>();

            if (useLayoutFile)
            {
                ReadLayoutFile(layout !);
                defaultProject = blocks[0].Directories;
            }
            else
            {
                defaultProject = new SubProject(traps, archive);
            }
        }
Esempio n. 18
0
        public async Task <IActionResult> OnPostAsync(int?id)
        {
            if (id == null)
            {
                return(NotFound());
            }

            SubProject = await _context.SubProject.FindAsync(id);

            if (SubProject != null)
            {
                _context.SubProject.Remove(SubProject);
                await _context.SaveChangesAsync();
            }

            return(RedirectToPage("./Index"));
        }
Esempio n. 19
0
        /// <summary>
        /// 检查构件有没有资格上该台座
        /// </summary>
        /// <param name="pedestal"></param>
        /// <param name="subProject"></param>
        /// <returns></returns>
        public async Task QualifyToPedestal(Pedestal pedestal, SubProject subProject)
        {
            var query = _repositorySPSL.GetAll().Where(v => v.SubProject.Id == subProject.Id)
                        .Include(v => v.Pedestal).Select(v => v.Pedestal.Type);

            if (pedestal.Type == "CL")
            {
                if (!await query.ContainsAsync("GJ"))
                {
                    throw new UserFriendlyException("该构件还未上够钢筋绑扎台");
                }
                if (!await query.ContainsAsync("ZL"))
                {
                    throw new UserFriendlyException("该构件还未上过制梁台");
                }
            }
        }
Esempio n. 20
0
        public async Task CreateAsyncWithNullDueDateShouldReturnCorrectSubProject()
        {
            // Arrange
            var project = new Project
            {
                Id = 2,
                ProgressStatusId = 2,
                DueDate          = DateTime.UtcNow,
            };

            await this.PlanItDbContext.Projects.AddAsync(project);

            await this.PlanItDbContext.SaveChangesAsync();

            var inputModel = new SubProjectCreateInputModel
            {
                SubProjectTypeId = 1,
                ProjectId        = 2,
                Budget           = 3000,
                DueDate          = null,
            };

            // Act
            var expected = new SubProject
            {
                SubProjectTypeId = 1,
                ProjectId        = 2,
                Budget           = 3000,
                DueDate          = DateTime.UtcNow,
                ProgressStatusId = 2,
            };

            var actual = await this.SubProjectsService
                         .CreateAsync <SubProjectCreateInputModel>(inputModel);

            // Assert
            Assert.Equal(expected.SubProjectTypeId, actual.SubProjectTypeId);
            Assert.Equal(expected.ProjectId, actual.ProjectId);
            Assert.Equal(expected.Budget, actual.Budget);
            Assert.Equal(expected.DueDate?.ToString(DateTimeFormat), actual.DueDate?.ToString(DateTimeFormat));
            Assert.Equal(expected.ProgressStatusId, actual.ProgressStatusId);
        }
Esempio n. 21
0
        public async Task EditAsyncShouldReturnCorrectSubProject()
        {
            // Arrange
            var editModel = new SubProjectEditInputModel
            {
                Id               = 1,
                Budget           = 5000,
                ProgressStatusId = 3,
                DueDate          = DateTime.Now.AddDays(20),
            };

            var subProject = new SubProject
            {
                Id               = 1,
                Budget           = 1000,
                ProgressStatusId = 2,
                DueDate          = DateTime.Now.AddDays(10),
            };

            await this.PlanItDbContext.SubProjects.AddAsync(subProject);

            await this.PlanItDbContext.SaveChangesAsync();

            // Act
            var expected = new SubProjectEditInputModel
            {
                Id               = 1,
                Budget           = 5000,
                ProgressStatusId = 3,
                DueDate          = DateTime.UtcNow.AddDays(20),
            };

            var actual = await this.SubProjectsService
                         .EditAsync <SubProjectEditInputModel>(editModel);

            // Assert
            Assert.Equal(expected.Id, actual.Id);
            Assert.Equal(expected.ProgressStatusId, actual.ProgressStatusId);
            Assert.Equal(expected.DueDate?.ToString(DateTimeFormat), actual.DueDate?.ToString(DateTimeFormat));
        }
Esempio n. 22
0
        /// <summary>
        /// 更换项目时重新构建项目结构树
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void cmb_project_SelectedIndexChanged(object sender, EventArgs e)
        {
            tvMType.Nodes.Clear();
            tn = new TreeNode();
            ProjectCmbItem item = (ProjectCmbItem)cmb_project.SelectedItem;

            if (item == null)
            {
                MessageBox.Show("请选择项目", "提示");
                return;
            }
            ProjectId = item.Value;
            tn.Tag    = ProjectId;
            project p = project.Find(ProjectId);

            if (p != null)
            {
                tn.Text               = p.description;
                tn.ImageIndex         = 3;
                tn.SelectedImageIndex = 3;
            }
            else
            {
                tn.Text = "项目";
            }
            this.tvMType.Nodes.Add(tn);
            ecprojectid = ProjectSystem.FindProjectid(ProjectId).ToString();
            DataTable dt    = new DataTable();
            DataTable dtact = new DataTable();

            //int projectid = ProjectSystem.FindProjectid(ProjectId);
            dt    = SubProject.FindAllSubPro(ProjectId).Tables[0];
            dtact = Activity.FindActivityDs(ProjectId).Tables[0];
            //string virroot = ProjectSystem.GetProName(projectID);
            CreateTreeViewRecursiveNew(tn, dt, dtact, "0");
            ProjectCmbItem.BlockBind(cmb_block, ecprojectid);
        }
Esempio n. 23
0
 /// <summary>
 /// Deletes the sub project.
 /// </summary>
 /// <param name="subProject">The sub project.</param>
 public void DeleteSubProject(SubProject subProject)
 {
     throw new System.NotImplementedException();
 }
Esempio n. 24
0
        /// <summary>
        /// Saves the sub project.
        /// </summary>
        /// <param name="subProject">The sub project.</param>
        public void SaveSubProject(SubProject subProject)
        {
            if (subProject == null)
            {
                throw new ArgumentNullException("subProject", "Cannot save null sub project.");
            }

            if (subProject.SubProjectId == Guid.Empty)
            {
                this.DataContext.InsertSubProject(subProject);
            }
            else
            {
                this.DataContext.UpdateSubProject(subProject);
            }

            this.DataContext.SaveChanges();
        }
Esempio n. 25
0
        public async Task ChangeStatusAsyncWithOneProblemsCompletedShouldChangeStatus()
        {
            // Arrange
            var subProject = new SubProject
            {
                Id             = 1,
                ProgressStatus = new ProgressStatus
                {
                    Name = GlobalConstants.ProgressStatusAssigned,
                },
                Project = new Project
                {
                    IsDeleted = false,
                },
            };

            await this.PlanItDbContext.SubProjects.AddAsync(subProject);

            var problems = new List <Problem>
            {
                new Problem
                {
                    SubProjectId   = 1,
                    ProgressStatus = new ProgressStatus
                    {
                        Name = GlobalConstants.ProgressStatusCompleted,
                    },
                },
                new Problem
                {
                    SubProjectId   = 1,
                    ProgressStatus = new ProgressStatus
                    {
                        Name = GlobalConstants.ProgressStatusCompleted,
                    },
                },
            };

            await this.PlanItDbContext.Problems.AddRangeAsync(problems);

            await this.PlanItDbContext.SaveChangesAsync();

            int subProjectId = 1;

            var status = new ProgressStatus
            {
                Name = GlobalConstants.ProgressStatusCompleted,
            };

            // Act
            var expected = new Project
            {
                Id             = 1,
                ProgressStatus = new ProgressStatus
                {
                    Name = GlobalConstants.ProgressStatusCompleted,
                },
            };

            var actual = await this.SubProjectsService
                         .ChangeStatusAsync(subProjectId, status);

            // Assert
            Assert.Equal(expected.ProgressStatus.Name, actual.ProgressStatus.Name);
        }
        public void SaveSubProjectIUpdatesSubProjectIfItIsNotNew()
        {
            // Arrange
            var subProjectToSave = new SubProject { SubProjectId = Guid.NewGuid() };
            var service = new ProjectServices(this.dataContext);

            this.mockDataContext.Setup(x => x.InsertSubProject(It.IsAny<SubProject>())).Callback(
                () => Assert.Fail("Insert should not be called."));

            this.mockDataContext.Setup(x => x.UpdateSubProject(subProjectToSave))
                .Verifiable();

            this.mockDataContext.Setup(x => x.SaveChanges()).Verifiable();

            // Act
            service.SaveSubProject(subProjectToSave);

            // Assert
            this.mockDataContext.Verify();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Aim.Portal.Web.WebPortalService.CheckLogon();
            }
            catch
            {
                Response.Write("<script> window.location.href = '/Login.aspx';</script>");
                Response.End();
            }
            string         action = Request["action"];
            string         sql    = "";
            DataTable      dt     = null;
            Project        pEnt   = null;
            Project        oriEnt = null;
            EasyDictionary dic    = null;
            string         id     = Request["id"];

            if (!string.IsNullOrEmpty(id))
            {
                pEnt = Project.Find(id);
            }
            switch (action)
            {
            case "loadprojecttype":
                sql = "select name from SysEnumeration where ParentId='f6845db5-6277-43b7-885d-031754bd51b0' order by SortIndex asc";
                dt  = DataHelper.QueryDataTable(sql);
                Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                Response.End();
                break;

            case "loadlocationfirst":
                sql = "select id,name from NCRL_SP..LocationFirst order by Id asc";
                dt  = DataHelper.QueryDataTable(sql);
                Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                Response.End();
                break;

            case "loadlocationsecond":
                if (!string.IsNullOrEmpty(Request["locationfirst"]))
                {
                    sql = @"select id,name from NCRL_SP..LocationSecond where First_Id=(select top 1 Id from 
                              NCRL_SP..LocationFirst where Name='" + Request["locationfirst"] + "') order by Id asc";
                    dt  = DataHelper.QueryDataTable(sql);
                    Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                    Response.End();
                }
                break;

            case "loadchuangkou":
                sql = "select id,DelegateName as name from NCRL_SP..DelegateInfo";
                dt  = DataHelper.QueryDataTable(sql);
                Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                Response.End();
                break;

            case "loadgongchengleixing":
                if (Request["prjleibiename"] == "市政工程")
                {
                    sql = "select name from SysEnumeration where ParentId='120731f7-1ddd-4acc-a410-8bd39356863e' order by SortIndex asc";
                }
                else
                {
                    sql = "select name from SysEnumeration where ParentId='110731f7-1ddd-4acc-a410-8bd39356863e' order by SortIndex asc";
                }
                dt = DataHelper.QueryDataTable(sql);
                Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                Response.End();
                break;

            case "create":
                pEnt            = JsonHelper.GetObject <Project>(Request["formdata"]);
                pEnt.BelongCmp  = "ZX";
                pEnt.Status     = "已创建";
                pEnt.CreateId   = Aim.Portal.Web.WebPortalService.CurrentUserInfo.UserID;
                pEnt.CreateName = Aim.Portal.Web.WebPortalService.CurrentUserInfo.Name;
                pEnt.CreateTime = DateTime.Now;
                pEnt.DoCreate();
                Response.Write("{success:true,data:" + JsonHelper.GetJsonString(pEnt) + "}");
                Response.End();
                break;

            case "update":
                pEnt   = JsonHelper.GetObject <Project>(Request["formdata"]);
                dic    = JsonHelper.GetObject <EasyDictionary>(Request["formdata"]);
                oriEnt = Project.Find(pEnt.Id);
                oriEnt = DataHelper.MergeData <Project>(oriEnt, pEnt, dic.Keys);
                oriEnt.DoUpdate();
                Response.Write("{success:true,data:" + JsonHelper.GetJsonString(oriEnt) + "}");
                Response.End();
                break;

            case "loadform":
                Response.Write("{success:true,data:" + JsonHelper.GetJsonString(pEnt) + "}");
                Response.End();
                break;

            case "loadjiegouleixing":
                sql = "select name from SysEnumeration where ParentId='28c731f7-1ddd-4acc-a410-8bd39356863e' order by SortIndex asc";
                dt  = DataHelper.QueryDataTable(sql);
                Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                Response.End();
                break;

            case "update_gaikuang":
            case "update_unit":
            case "update_standard":
            case "update_other":
                pEnt   = JsonHelper.GetObject <Project>(Request["formdata"]);
                dic    = JsonHelper.GetObject <EasyDictionary>(Request["formdata"]);
                oriEnt = Project.Find(id);
                oriEnt = DataHelper.MergeData <Project>(oriEnt, pEnt, dic.Keys);
                oriEnt.DoUpdate();
                Response.Write("{success:true,data:" + JsonHelper.GetJsonString(oriEnt) + "}");
                Response.End();
                break;

            case "loadsubprj":
                sql = "select * from NCRL_SP..SubProject where ProjectId='" + id + "'";
                dt  = DataHelper.QueryDataTable(sql);
                Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                Response.End();
                break;

            case "loadkanchashejiuser":
                sql = @"select a.*,(select top 1 SortIndex from NCRL_Portal..SysEnumeration where Name=a.MajorName and ParentId='b640c40c-e2a9-41a8-bd28-d8ff9d71ff94') as SortIndex
                    from NCRL_SP..KanChaSheJi a where a.ProjectId='" + id + "' order by SortIndex asc";
                dt  = DataHelper.QueryDataTable(sql);
                Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                Response.End();
                break;

            case "loadprojectuser":
                sql = @"select a.*,(select top 1 SortIndex from NCRL_Portal..SysEnumeration where Name=a.MajorName and ParentId='b640c40c-e2a9-41a8-bd28-d8ff9d71ff94') as SortIndex
                    from NCRL_SP..ProjectUser a where a.ProjectId='" + id + "' order by SortIndex asc";
                dt  = DataHelper.QueryDataTable(sql);
                Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                Response.End();
                break;

            case "update_subprj":
                IList <SubProject> spEnts = SubProject.FindAllByProperty(SubProject.Prop_ProjectId, id);
                foreach (SubProject spEnt in spEnts)
                {
                    spEnt.DoDelete();
                }
                spEnts = JsonHelper.GetObject <IList <SubProject> >(Request["subprjs"]);
                foreach (SubProject spEnt in spEnts)
                {
                    spEnt.ProjectId = id;
                    spEnt.DoCreate();
                }
                Response.Write("{success:true}");
                Response.End();
                break;

            case "loadmajor":
                sql = "select Name name from  NCRL_Portal..SysEnumeration where ParentID = 'b640c40c-e2a9-41a8-bd28-d8ff9d71ff94' order by sortindex asc";
                dt  = DataHelper.QueryDataTable(sql);
                Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                Response.End();
                break;

            case "update_kanchashejiuser":
                IList <KanChaSheJi> kcsEnts = KanChaSheJi.FindAllByProperty(KanChaSheJi.Prop_ProjectId, id);
                foreach (KanChaSheJi kcsEnt in kcsEnts)
                {
                    kcsEnt.DoDelete();
                }
                kcsEnts = JsonHelper.GetObject <IList <KanChaSheJi> >(Request["kanchashejiuser"]);
                foreach (KanChaSheJi kcsEnt in kcsEnts)
                {
                    kcsEnt.ProjectId = id;
                    kcsEnt.DoCreate();
                }
                Response.Write("{success:true}");
                Response.End();
                break;

            case "loadexpert_shentu":
                if (!string.IsNullOrEmpty(Request["majorname"]))
                {
                    sql = "select Id UserId,UserName from NCRL_SP..Expert where ProfessionType like '%审图专家%' and MajorName like '%" + Request["majorname"] + "%'";
                    dt  = DataHelper.QueryDataTable(sql);
                    Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                    Response.End();
                }
                break;

            case "loadexpert_qianzhang":
                if (!string.IsNullOrEmpty(Request["majorname"]))
                {
                    sql = "select Id UserId,UserName from NCRL_SP..Expert where ProfessionType like '%签章专家%' and MajorName like '%" + Request["majorname"] + "%'";
                    dt  = DataHelper.QueryDataTable(sql);
                    Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                    Response.End();
                }
                break;

            case "loadexpert_shenhe":
                if (!string.IsNullOrEmpty(Request["majorname"]))
                {
                    sql = "select Id UserId,UserName from NCRL_SP..Expert where ProfessionType like '%审核专家%' and MajorName like '%" + Request["majorname"] + "%'";
                    dt  = DataHelper.QueryDataTable(sql);
                    Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                    Response.End();
                }
                break;

            case "update_projectexpert":
                if (pEnt.Status == "已创建")    //如果项目任务已经下达了,不允许再对专家信息进行修改,不然会造成后面数据错误
                {
                    IList <ProjectUser> puEnts = ProjectUser.FindAllByProperty(ProjectUser.Prop_ProjectId, id);
                    foreach (ProjectUser puEnt in puEnts)
                    {
                        puEnt.DoDelete();
                    }
                    puEnts = JsonHelper.GetObject <IList <ProjectUser> >(Request["projectexpert"]);
                    foreach (ProjectUser puEnt in puEnts)
                    {
                        puEnt.ProjectId = id;
                        puEnt.DoCreate();
                    }
                    Response.Write("{success:true}");
                    Response.End();
                }
                break;
            }
        }
Esempio n. 28
0
        protected override void ExecuteTask()
        {
            int           TestCount        = 0;
            int           TestPassingCount = 0;
            StringBuilder FailingTestInfo  = new StringBuilder();

            ReportContainer Report = new ReportContainer();


            foreach (String Fixture in Fixtures)
            {
                if (!this.Project.SubProjects.Contains(Fixture))
                {
                    throw new BuildException(string.Format("There is no fixture loaded for {0}.", Fixture), this.Location);
                }
                SubProject FixtureProject = this.Project.SubProjects[Fixture];

                FixtureReport fixtureReport = new FixtureReport(Fixture);
                Report.FixtureReports.Add(fixtureReport);

                try
                {
                    this.TryRun(string.Format("{0}.{1}", FixtureProject.ProjectName, FixtureSetUp), FixtureProject);

                    foreach (Target FixtureTarget in FixtureProject.Targets)
                    {
                        if (FixtureTarget.Name.EndsWith("Test"))
                        {
                            TestReport testReport = new TestReport(FixtureTarget.Name);
                            fixtureReport.TestReports.Add(testReport);
                            try
                            {
                                TestCount++;
                                this.TryRun(string.Format("{0}.{1}", FixtureProject.ProjectName, SetUpName), FixtureProject);
                                FixtureTarget.Execute();
                                TestPassingCount++;
                                testReport.Passed = true;
                            }
                            catch (BuildException bx)
                            {
                                string FailureInfo = string.Format("{0} at:{1}{2}{3}{4}", bx.Message, Environment.NewLine, bx.Location.ToString(), Environment.NewLine, bx.ToString());
                                Log(Level.Error, FailureInfo);
                                FailingTestInfo.AppendLine(FailureInfo);

                                testReport.Passed           = false;
                                testReport.FailureException = bx.ToString();
                            }
                            catch (Exception ex)
                            {
                                string FailureInfo = string.Format("{0} in {1}{2}{3}", ex.Message, FixtureTarget.Name, Environment.NewLine, ex.ToString());
                                Log(Level.Error, FailureInfo);
                                FailingTestInfo.AppendLine(FailureInfo);

                                testReport.Passed           = false;
                                testReport.FailureException = ex.ToString();
                            }
                            finally
                            {
                                this.TryRun(string.Format("{0}.{1}", FixtureProject.ProjectName, TearDownName), FixtureProject);
                            }
                        }
                    }
                }
                finally
                {
                    this.TryRun(string.Format("{0}.{1}", FixtureProject.ProjectName, FixtureTearDown), FixtureProject);
                }
            }

            int TestFailingCount = TestCount - TestPassingCount;

            Log(Level.Info, "Tests Run: {0}", TestCount);
            Log(Level.Info, "Tests Passing: {0}", TestPassingCount);
            Log(Level.Info, "Tests Failing: {0}", TestFailingCount);
            Log(Level.Info, "Test Assertions Executed: {0}", MbUnit.Framework.Assert.AssertCount);
            Console.WriteLine(FailingTestInfo.ToString());

            if (File.Exists(FilePath))
            {
                File.Delete(FilePath);
            }

            XmlSerializer Serializer = new XmlSerializer(typeof(ReportContainer));

            using (FileStream ReportStream = File.OpenWrite(FilePath))
            {
                Serializer.Serialize(ReportStream, Report);
            }

            if (TestFailingCount > 0)
            {
                throw new BuildException(string.Format("{0} tests failed.", TestFailingCount));
            }
        }
 public void SetJsonBody(SubProject subProject)
 {
     Helpers.JsonSerializer aux = new Helpers.JsonSerializer();
     jsonBody = aux.Serialize(subProject);
 }
Esempio n. 30
0
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                Aim.Portal.Web.WebPortalService.CheckLogon();
            }
            catch
            {
                Response.Write("<script> window.parent.location.href = '/Login.aspx';</script>");
                Response.End();
            }
            string                 templatepath = ConfigurationManager.AppSettings["TemplatePath"].ToString();
            string                 action       = Request["action"];
            string                 id           = Request["id"];
            Document               srcDoc       = null;
            BookmarkCollection     marks        = null;
            IList <EasyDictionary> dics         = null;
            string                 filename     = "";

            if (!string.IsNullOrEmpty(id))
            {
                pEnt = Project.Find(id);
            }
            switch (action)
            {
            case "loadproject":
                string ProjectName = Request["ProjectName"];
                if (!string.IsNullOrEmpty(ProjectName))
                {
                    where = "and ProjectName like '%" + ProjectName + "%' ";
                }
                sql = @"select * from NCRL_SP..Project where BelongCmp = 'ZX' " + where;
                dt  = DataHelper.QueryDataTable(GetPageSql(sql));
                Response.Write("{rows:" + JsonHelper.GetJsonStringFromDataTable(dt) + ",total:" + totalProperty + "}");
                Response.End();
                break;

            case "delete":
                Delete();
                break;

            case "Recycle":
                Recycle();
                break;

            case "loadexportfile":
                sql = "select Id,Name,CreateTime from FileItem where ProjectId='" + id + "' and Path='导出' order by CreateTime asc";
                dt  = DataHelper.QueryDataTable(sql);
                Response.Write("{innerrows:" + JsonHelper.GetJsonStringFromDataTable(dt) + "}");
                Response.End();
                break;

            case "export_opinioncover":    //意见封面
                try
                {
                    srcDoc = new Document(templatepath + "审查意见封面.doc");
                    marks  = srcDoc.Range.Bookmarks;
                    for (int j = 0; j < marks.Count; j++)
                    {
                        Bookmark mark = marks[j];
                        if (ContainProperty(pEnt, mark.Name))
                        {
                            mark.Text = pEnt.GetValue(mark.Name) + "";
                        }
                    }
                    filename = pEnt.ProjectName.Replace("#", "") + "_审查意见封面.doc";
                    srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename);
                    UpdateFileItem(filename);
                    Response.Write("{success:true}");
                }
                catch
                {
                    Response.Write("{success:false}");
                }
                Response.End();
                break;

            case "exporthegeshu":
                srcDoc = new Document(templatepath + "审查合格书_市政工程_房屋建筑.doc");
                marks  = srcDoc.Range.Bookmarks;
                for (int j = 0; j < marks.Count; j++)
                {
                    Bookmark mark = marks[j];
                    if (ContainProperty(pEnt, mark.Name))
                    {
                        mark.Text = pEnt.GetValue(mark.Name) + "";
                    }
                }
                sql  = @"select a.MajorName,(select top 1 SortIndex from SysEnumeration where ParentId='b640c40c-e2a9-41a8-bd28-d8ff9d71ff94' and Name=a.MajorName) as SortIndex
                                 from NCRL_SP..ProjectUser a where a.ProjectId='" + pEnt.Id + "' order by SortIndex asc";
                dics = DataHelper.QueryDictList(sql);
                int i = 1;
                foreach (EasyDictionary dic in dics)
                {
                    if (dic.Get <string>("MajorName") != "勘察")
                    {
                        if (marks["Major" + i] != null)
                        {
                            marks["Major" + i].Text = dic.Get <string>("MajorName");
                        }
                        i++;
                    }
                }
                filename = pEnt.ProjectName.Replace("#", "") + "_审查合格书.doc";
                srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename);
                UpdateFileItem(filename);
                break;

            case "export_beiandengjibiao":
                try
                {
                    srcDoc = new Document(templatepath + "附件10施工图设计文件审查备案登记表.doc");
                    marks  = srcDoc.Range.Bookmarks;
                    for (int j = 0; j < marks.Count; j++)
                    {
                        Bookmark mark = marks[j];
                        if (ContainProperty(pEnt, mark.Name))
                        {
                            mark.Text = pEnt.GetValue(mark.Name) + "";
                        }
                    }
                    if (marks["Layer"] != null)
                    {
                        marks["Layer"].Text = "地上层数:" + pEnt.UpperLayers + (string.IsNullOrEmpty(pEnt.DownLayers) ? "" : "地下层数:" + pEnt.DownLayers);
                    }
                    if (marks["KanChaIfBeiAn"] != null)
                    {
                        marks["KanChaIfBeiAn"].Text = string.IsNullOrEmpty(pEnt.KanChaUnitBeiAnNo) ? "否" : "是";
                    }
                    if (marks["SheJiIfBeiAn"] != null)
                    {
                        marks["SheJiIfBeiAn"].Text = string.IsNullOrEmpty(pEnt.SheJiUnitBeiAnNo) ? "否" : "是";
                    }
                    sql  = @"select a.*,(select top 1 SortIndex from NCRL_Portal..SysEnumeration where Name=a.MajorName and ParentId='b640c40c-e2a9-41a8-bd28-d8ff9d71ff94') as SortIndex
                        from NCRL_SP..KanChaSheJi a where a.ProjectId='" + pEnt.Id + "' order by SortIndex asc";
                    dics = DataHelper.QueryDictList(sql);    //勘察设计人员
                    int index = 1;
                    foreach (EasyDictionary dic in dics)
                    {
                        if (dic.Get <string>("Position") == "注册土木工程师(岩土)")
                        {
                            if (marks["ZhuCeYanTuName"] != null)
                            {
                                marks["ZhuCeYanTuName"].Text = dic.Get <string>("UserName");
                            }
                            if (marks["ZhuCeYanTuSealNo"] != null)
                            {
                                marks["ZhuCeYanTuSealNo"].Text = dic.Get <string>("SealNo");
                            }
                            if (marks["ZhuCeYanTuShenFenZheng"] != null)
                            {
                                marks["ZhuCeYanTuShenFenZheng"].Text = dic.Get <string>("ShenFenZhengNo");
                            }
                        }
                        else if (dic.Get <string>("Position") == "一级注册建筑师")
                        {
                            if (marks["ZhuCeJianZaoShiName"] != null)
                            {
                                marks["ZhuCeJianZaoShiName"].Text = dic.Get <string>("UserName");
                            }
                            if (marks["ZhuCeJianZaoShiSealNo"] != null)
                            {
                                marks["ZhuCeJianZaoShiSealNo"].Text = dic.Get <string>("SealNo");
                            }
                            if (marks["ZhuCeJianZaoShiShenFenZheng"] != null)
                            {
                                marks["ZhuCeJianZaoShiShenFenZheng"].Text = dic.Get <string>("ShenFenZhengNo");
                            }
                        }
                        else if (dic.Get <string>("Position") == "一级注册结构师")
                        {
                            if (marks["ZhuCeJieGouShiName"] != null)
                            {
                                marks["ZhuCeJieGouShiName"].Text = dic.Get <string>("UserName");
                            }
                            if (marks["ZhuCeJieGouShiSealNo"] != null)
                            {
                                marks["ZhuCeJieGouShiSealNo"].Text = dic.Get <string>("SealNo");
                            }
                            if (marks["ZhuCeJieGouShiShenFenZheng"] != null)
                            {
                                marks["ZhuCeJieGouShiShenFenZheng"].Text = dic.Get <string>("ShenFenZhengNo");
                            }
                        }
                        else
                        {
                            if (marks["SheJi_MajorName" + index] != null)
                            {
                                marks["SheJi_MajorName" + index].Text = dic.Get <string>("MajorName");
                            }
                            if (marks["SheJi_UserName" + index] != null)
                            {
                                marks["SheJi_UserName" + index].Text = dic.Get <string>("UserName");
                            }
                            index++;
                        }
                    }
                    sql   = @"select a.*,(select top 1 SortIndex from NCRL_Portal..SysEnumeration where Name=a.MajorName and ParentId='b640c40c-e2a9-41a8-bd28-d8ff9d71ff94') as SortIndex
                        ,b.StampNo as QianZhangStampNo,c.StampNo as ShenHeStampNo  from NCRL_SP..ProjectUser a 
                        left join NCRL_SP..Expert b on b.Id=a.QianZhangId 
                        left join NCRL_SP..Expert c on c.Id=a.ShenHeId where a.ProjectId='" + pEnt.Id + "' order by SortIndex asc";
                    dics  = DataHelper.QueryDictList(sql);
                    index = 1;
                    foreach (EasyDictionary dic in dics)
                    {
                        if (marks["ShenTu_MajorName" + index] != null)
                        {
                            marks["ShenTu_MajorName" + index].Text = dic.Get <string>("MajorName");
                        }
                        if (marks["ShenTu_UserName" + index] != null)
                        {
                            marks["ShenTu_UserName" + index].Text = dic.Get <string>("QianZhangName");
                        }
                        if (marks["ShenTu_SealNo" + index] != null)
                        {
                            marks["ShenTu_SealNo" + index].Text = dic.Get <string>("QianZhangStampNo");
                        }
                        if (marks["FuHe_UserName" + index] != null)
                        {
                            marks["FuHe_UserName" + index].Text = dic.Get <string>("ShenHeName");
                        }
                        if (marks["FuHe_SealNo" + index] != null)
                        {
                            marks["FuHe_SealNo" + index].Text = dic.Get <string>("ShenHeStampNo");
                        }
                        index++;
                    }
                    //写入备案登记表信息
                    IList <BeiAn_Project> bapEnts = BeiAn_Project.FindAllByProperty(BeiAn_Project.Prop_ProjectId, pEnt.Id);
                    if (bapEnts.Count > 0)
                    {
                        for (int j = 0; j < marks.Count; j++)
                        {
                            Bookmark mark = marks[j];
                            if (ContainProperty_Object(bapEnts[0], mark.Name))
                            {
                                mark.Text = bapEnts[0].GetValue(mark.Name) + "";
                            }
                        }
                    }
                    filename = pEnt.ProjectName.Replace("#", "") + "_审查备案登记表.doc";
                    srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename);
                    UpdateFileItem(filename);
                    Response.Write("{success:true}");
                }
                catch
                {
                    Response.Write("{success:false}");
                }
                Response.End();
                break;

            case "export_shenchabaogao":
                try
                {
                    if (pEnt.ProjectType == "房屋建筑")
                    {
                        srcDoc = new Document(templatepath + "房屋建筑_审查报告.doc");
                    }
                    if (pEnt.ProjectType == "市政工程")
                    {
                        srcDoc = new Document(templatepath + "市政工程_审查报告.doc");
                    }
                    if (pEnt.ProjectType == "基坑支护")
                    {
                        srcDoc = new Document(templatepath + "基坑支护_审查报告.doc");
                    }
                    marks = srcDoc.Range.Bookmarks;
                    for (int j = 0; j < marks.Count; j++)
                    {
                        Bookmark mark = marks[j];
                        if (ContainProperty(pEnt, mark.Name))
                        {
                            mark.Text = pEnt.GetValue(mark.Name) + "";
                        }
                    }
                    IList <ShenChaReport> scrEnts = ShenChaReport.FindAllByProperty(ShenChaReport.Prop_ProjectId, pEnt.Id);
                    if (scrEnts.Count > 0)
                    {
                        for (int j = 0; j < marks.Count; j++)
                        {
                            Bookmark mark = marks[j];
                            if (ContainProperty_Object(scrEnts[0], mark.Name))
                            {
                                mark.Text = scrEnts[0].GetValue(mark.Name) + "";
                            }
                        }
                    }
                    if (marks["Layer"] != null)
                    {
                        marks["Layer"].Text = "地上层数:" + pEnt.UpperLayers + (string.IsNullOrEmpty(pEnt.DownLayers) ? "" : "地下层数:" + pEnt.DownLayers);
                    }
                    if (marks["ProjectName1"] != null)
                    {
                        marks["ProjectName1"].Text = pEnt.ProjectName;
                    }
                    if (marks["JianSheUnit1"] != null)
                    {
                        marks["JianSheUnit1"].Text = pEnt.JianSheUnit;
                    }
                    filename = pEnt.ProjectName.Replace("#", "") + "_审查报告.doc";
                    srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename);
                    UpdateFileItem(filename);
                    Response.Write("{success:true}");
                }
                catch (Exception ex)
                {
                    Response.Write("{success:false}");
                }
                Response.End();
                break;

            case "export_kanchashenchabaogao":
                try
                {
                    srcDoc = new Document(templatepath + "江西省工程勘察审查报告书.doc");
                    marks  = srcDoc.Range.Bookmarks;
                    for (int j = 0; j < marks.Count; j++)
                    {
                        Bookmark mark = marks[j];
                        if (ContainProperty(pEnt, mark.Name))
                        {
                            mark.Text = pEnt.GetValue(mark.Name) + "";
                        }
                    }
                    IList <ShenChaReport_KanCha> scrkEnts = ShenChaReport_KanCha.FindAllByProperty(ShenChaReport_KanCha.Prop_ProjectId, pEnt.Id);
                    if (scrkEnts.Count > 0)
                    {
                        for (int j = 0; j < marks.Count; j++)
                        {
                            if (ContainProperty_Object(scrkEnts[0], marks[j].Name))
                            {
                                marks[j].Text = scrkEnts[0].GetValue(marks[j].Name) + "";
                            }
                        }
                    }
                    if (marks["ProjectName2"] != null)
                    {
                        marks["ProjectName2"].Text = pEnt.ProjectName;
                    }
                    if (marks["JianSheUnit2"] != null)
                    {
                        marks["JianSheUnit2"].Text = pEnt.JianSheUnit;
                    }
                    filename = pEnt.ProjectName.Replace("#", "") + "_工程勘察审查报告.doc";
                    srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename);
                    UpdateFileItem(filename);
                    Response.Write("{success:true}");
                }
                catch (Exception ex)
                {
                    Response.Write("{success:false}");
                }
                Response.End();
                break;

            case "exportqingkuangjilu":
                try
                {
                    srcDoc = new Document(templatepath + "附件6房屋建筑和市政基础设施工程施工图设计文件审查情况记录.doc");
                    marks  = srcDoc.Range.Bookmarks;
                    for (int j = 0; j < marks.Count; j++)
                    {
                        Bookmark mark = marks[j];
                        if (ContainProperty(pEnt, mark.Name))
                        {
                            mark.Text = pEnt.GetValue(mark.Name) + "";
                        }
                    }
                    filename = pEnt.ProjectName.Replace("#", "") + "_审查情况记录.doc";
                    srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename);
                    UpdateFileItem(filename);
                    Response.Write("{success:true}");
                }
                catch (Exception ex)
                {
                    Response.Write("{success:false}");
                }
                Response.End();
                break;

            case "export_shenchahuizong":
                try
                {
                    srcDoc = new Document(templatepath + "审查情况汇总.doc");
                    marks  = srcDoc.Range.Bookmarks;
                    for (int j = 0; j < marks.Count; j++)
                    {
                        Bookmark mark = marks[j];
                        if (ContainProperty(pEnt, mark.Name))
                        {
                            mark.Text = pEnt.GetValue(mark.Name) + "";
                        }
                    }
                    if (marks["ProjectType2"] != null)
                    {
                        marks["ProjectType2"].Text = pEnt.ProjectType;
                    }
                    if (marks["Layer"] != null)
                    {
                        marks["Layer"].Text = "地上层数:" + pEnt.UpperLayers + (string.IsNullOrEmpty(pEnt.DownLayers) ? "" : "地下层数:" + pEnt.DownLayers);
                    }
                    //找到项目人员 排除勘察专业的
                    sql  = @"select a.*,(select top 1 SortIndex from NCRL_Portal..SysEnumeration where Name=a.MajorName and ParentId='b640c40c-e2a9-41a8-bd28-d8ff9d71ff94') as SortIndex
                        from NCRL_SP..ProjectUser a   where a.ProjectId='" + pEnt.Id + "' order by SortIndex asc";
                    dics = DataHelper.QueryDictList(sql);
                    int index = 1;
                    foreach (EasyDictionary dic in dics)
                    {
                        if (dic.Get <string>("MajorName") != "勘察")
                        {
                            if (marks["MajorName" + index] != null)
                            {
                                marks["MajorName" + index].Text = dic.Get <string>("MajorName");
                            }
                            if (marks["QianZhangName" + index] != null)
                            {
                                marks["QianZhangName" + index].Text = dic.Get <string>("QianZhangName");
                            }
                            index++;
                        }
                    }
                    sql = @"select isnull(sum(QiangTiao),0) from NCRL_SP..ExamineOpinion where ExamineTaskId in (
                        select Id from NCRL_SP..ExamineTask where ProjectId='" + pEnt.Id + "')";
                    if (marks["QiangTiao"] != null)
                    {
                        marks["QiangTiao"].Text = DataHelper.QueryValue(sql) + "";
                    }
                    filename = pEnt.ProjectName.Replace("#", "") + "_审查情况汇总.doc";
                    srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename);
                    UpdateFileItem(filename);
                    Response.Write("{success:true}");
                }
                catch (Exception ex)
                {
                    Response.Write("{success:false}");
                }
                Response.End();
                break;

            case "export_shenchahuizong_kancha":    //审查情况汇总表_工程勘察
                try
                {
                    srcDoc = new Document(templatepath + "审查情况汇总表_工程勘察.doc");
                    marks  = srcDoc.Range.Bookmarks;
                    for (int j = 0; j < marks.Count; j++)
                    {
                        if (ContainProperty(pEnt, marks[j].Name))
                        {
                            marks[j].Text = pEnt.GetValue(marks[j].Name) + "";
                        }
                    }
                    if (marks["QianZhangName"] != null)    //找到勘察专业的签章专家
                    {
                        IList <ProjectUser> puEnts = ProjectUser.FindAllByProperties(ProjectUser.Prop_ProjectId, pEnt.Id, ProjectUser.Prop_MajorName, "勘察");
                        if (puEnts.Count > 0)
                        {
                            marks["QianZhangName"].Text = puEnts[0].QianZhangName;
                        }
                    }
                    if (marks["QiangTiao"] != null)    //找到勘察专业的强条
                    {
                        IList <ExamineTask> etEnts = ExamineTask.FindAllByProperties(ExamineTask.Prop_MajorName, "勘察", ExamineTask.Prop_ProjectId, pEnt.Id);
                        if (etEnts.Count > 0)
                        {
                            sql = "select isnull(sum(QiangTiao),0) from NCRL_SP..ExamineOpinion where ExamineTaskId='" + etEnts[0].Id + "'";
                            marks["QiangTiao"].Text = DataHelper.QueryValue <Int32>(sql) + "";
                        }
                    }
                    filename = pEnt.ProjectName.Replace("#", "") + "_工程勘察审查情况汇总表.doc";
                    srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename);
                    UpdateFileItem(filename);
                    Response.Write("{success:true}");
                }
                catch (Exception ex)
                {
                    Response.Write("{success:false}");
                }
                Response.End();
                break;

            case "export_kangzhen":
                try
                {
                    srcDoc = new Document(templatepath + "抗震设防监管表.doc");
                    marks  = srcDoc.Range.Bookmarks;
                    for (int j = 0; j < marks.Count; j++)
                    {
                        if (ContainProperty(pEnt, marks[j].Name))
                        {
                            marks[j].Text = pEnt.GetValue(marks[j].Name) + "";
                        }
                    }
                    IList <KangZhen_Project> kzpEnts = KangZhen_Project.FindAllByProperty(KangZhen_Project.Prop_ProjectId, pEnt.Id);
                    if (kzpEnts.Count > 0)
                    {
                        for (int j = 0; j < marks.Count; j++)
                        {
                            if (ContainProperty_Object(kzpEnts[0], marks[j].Name))
                            {
                                marks[j].Text = kzpEnts[0].GetValue <string>(marks[j].Name);
                            }
                        }
                    }
                    if (pEnt.Property == "新建" && marks["XinJian"] != null)
                    {
                        marks["XinJian"].Text = "√";
                    }
                    if (pEnt.Property == "改建" && marks["GaiJian"] != null)
                    {
                        marks["GaiJian"].Text = "√";
                    }
                    if (pEnt.Property == "扩建" && marks["KuoJian"] != null)
                    {
                        marks["KuoJian"].Text = "√";
                    }
                    filename = pEnt.ProjectName.Replace("#", "") + "_抗震设防专项审查监管表.doc";
                    srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename);
                    UpdateFileItem(filename);
                    Response.Write("{success:true}");
                }
                catch (Exception ex)
                {
                    Response.Write("{success:false}");
                }
                Response.End();
                break;

            case "export_zhongshenyijianbiao":
                try
                {
                    srcDoc = new Document(templatepath + "附件5_终审意见表.doc");
                    marks  = srcDoc.Range.Bookmarks;
                    for (int j = 0; j < marks.Count; j++)
                    {
                        if (ContainProperty(pEnt, marks[j].Name))
                        {
                            marks[j].Text = pEnt.GetValue(marks[j].Name) + "";
                        }
                    }
                    IList <ZhongShenOpinion_Project> zsopEnts = ZhongShenOpinion_Project.FindAllByProperty(ZhongShenOpinion_Project.Prop_ProjectId, pEnt.Id);
                    if (zsopEnts.Count > 0)
                    {
                        for (int j = 0; j < marks.Count; j++)
                        {
                            if (ContainProperty_Object(zsopEnts[0], marks[j].Name))
                            {
                                marks[j].Text = zsopEnts[0].GetValue(marks[j].Name) + "";
                            }
                        }
                    }
                    filename = pEnt.ProjectName.Replace("#", "") + "_终审意见表.doc";
                    srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename);
                    UpdateFileItem(filename);
                    Response.Write("{success:true}");
                }
                catch (Exception ex)
                {
                    Response.Write("{success:false}");
                }
                Response.End();
                break;

            case "export_subproject":    //导出子项
                try
                {
                    srcDoc = new Document(templatepath + "子项目明细表.doc");
                    marks  = srcDoc.Range.Bookmarks;
                    IList <SubProject> suEnts = SubProject.FindAllByProperty(SubProject.Prop_ProjectId, pEnt.Id);
                    for (int j = 0; j < suEnts.Count; j++)
                    {
                        foreach (PropertyInfo pi in SubProject.AllProperties)
                        {
                            if (marks[pi.Name + (j + 1)] != null)
                            {
                                marks[pi.Name + (j + 1)].Text = suEnts[j].GetValue(pi.Name) + "";
                            }
                        }
                    }
                    if (marks["ProjectName"] != null)
                    {
                        marks["ProjectName"].Text = pEnt.ProjectName;
                    }
                    filename = pEnt.ProjectName.Replace("#", "") + "_子项目明细表.doc";
                    srcDoc.Save(@"D:\RW\Files\AppFiles\Portal\Default\" + filename);
                    UpdateFileItem(filename);
                    Response.Write("{success:true}");
                }
                catch (Exception ex)
                {
                    Response.Write("{success:false}");
                }
                Response.End();
                break;
            }
        }
 /// <summary>
 /// Saves the sub project.
 /// </summary>
 /// <param name="subProject">The sub project.</param>
 public void InsertSubProject(SubProject subProject)
 {
     this.SubProjectCollection.Add(subProject);
 }
 /// <summary>
 /// Updates the sub project.
 /// </summary>
 /// <param name="subProject">The sub project.</param>
 public void UpdateSubProject(SubProject subProject)
 {
 }