public ServiceBase(Host host, TSettings settings) { _host = host; Settings = settings; var connection = CreateConnectionInfo(); if (connection != null) { _sshClient = new SshClient(connection); } _progress = new ProjectProgress(); ArchType = ArchType.x86; CmdType = CmdType.None; IPv4 = string.Empty; IPv6 = string.Empty; IsOnlyIPv6 = false; NavigationService = Mvx.IoCProvider.Resolve <IMvxNavigationService>(); }
public void InsertProjectProgress(ProjectProgress projectProgress) { if (projectProgress == null) { throw new ArgumentNullException(nameof(projectProgress)); } if (projectProgress is IEntityForCaching) { throw new ArgumentException("Cacheable entities are not supported by Entity Framework"); } _projectProgressRepository.Insert(projectProgress); }
public IHttpActionResult QueryCheckPoints(string projectId, string flowCode) { var list = nodeInfo.QueryCheckPoints(projectId, flowCode); var project = ProjectInfo.Get(projectId, flowCode.Split('_')[0]); return(Ok(new { Nodes = list, Info = project, Progress = ProjectProgress.GetProgress(projectId), Operators = TaskWork.GetOperators(flowCode, projectId), IsFinished = ProjectInfo.IsFlowFinished(projectId, flowCode) })); }
public void RemoveProjectProgress(Project project, ProjectProgress projectProgress) { if (project == null) { throw new ArgumentNullException(nameof(project)); } if (projectProgress == null) { throw new ArgumentNullException(nameof(projectProgress)); } project.ProjectProgresses.Remove(projectProgress); }
public IHttpActionResult Submit(StoreSTLocation store) { using (var scope = new TransactionScope()) { //store.Save(); Mapper.CreateMap <StoreSTLocation, StoreSTLocationHistory>(); var history = Mapper.Map <StoreSTLocationHistory>(store); var his = StoreSTLocationHistory.FirstOrDefault(e => e.RefId == store.ProjectIdentifier); var project = ProjectInfo.Get(store.ProjectIdentifier); if (his == null) { history.Id = Guid.NewGuid(); history.RefId = store.ProjectIdentifier; } else { history.Id = his.Id; history.RefId = store.ProjectIdentifier; } history.Save(); if (store.EstimatedVsActualConstruction != null) { store.EstimatedVsActualConstruction.Save(); } TaskWork.Finish(t => t.ReceiverAccount == ClientCookie.UserCode && t.TypeCode == FlowCode.Renewal_SiteInfo && t.RefID == project.ProjectId); ProjectInfo.FinishNode(project.ProjectId, FlowCode.Renewal_SiteInfo, NodeCode.Finish, ProjectStatus.Finished); ProjectInfo.CompleteMainIfEnable(project.ProjectId); if (ProjectInfo.IsFlowFinished(project.ProjectId, FlowCode.Renewal_ContractInfo)) { ProjectProgress.SetProgress(project.ProjectId, "100%"); } scope.Complete(); } return(Ok()); }
public virtual IActionResult ProjectProgressAdd(int projectId, int progressStatusId, string startDate, string endDate, string comment, int uploadId) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageProjects)) { return(AccessDeniedView()); } //try to get a project with the specified id var project = _projectService.GetProjectById(projectId); if (project == null) { return(Json(new { Result = false })); } project.LastUpdateBy = _workContext.CurrentUser.UserName; project.Modified = DateTime.UtcNow; _projectService.UpdateProject(project); var projectProgress = new ProjectProgress { ProjectId = project.Id, ProgressStatusId = progressStatusId, ProgressStartDate = DateTime.Parse(startDate).AddYears(-543), ProgressEndDate = DateTime.Parse(endDate).AddYears(-543), Comment = comment, Modified = DateTime.Now, ProjectUploadId = uploadId }; _projectService.InsertProjectProgress(projectProgress); // project.ProjectProgresss.Add(projectProgress); // _projectService.UpdateProgress(project); return(Json(new { Result = true })); }
public ActionResult getWorkingProjects() { IQueryable <Project> projects = projectManager.FindList(p => p.Progress != ProjectProgress.提交备案); //选出处于某个进度的项目 string progress = Request.QueryString["Progress"]; if (progress != null && progress != "") { var p = int.Parse(progress); ProjectProgress pp = (ProjectProgress)p; projects = projects.Where(project => project.Progress == pp); } User user = Session["User"] as User; string roleName = user == null ? "" : user.Role.Name; //总队只能看到一个季度的项目 if (roleName == "消防机构总队") { //DateTime leftDate = DateTime.Now.AddMonths(-3); //projects = projects.Where(p => p.RegTime >= leftDate); } string fireCode = user.Name.Substring(0, 8); var fire = fireManager.Find(f => f.Code == fireCode); //支队大队只能看到管辖单位为自己的项目 if (roleName == "消防机构大队") { projects = projects.Where(p => p.FireControlInstitution.ID == fire.ID); } if (roleName == "消防机构支队") { City city = getCityByFireName(fire.Name); projects = projects.Where(p => p.City == city); } //服务机构只能看到属于自己的项目 if (roleName == "服务机构") { int companyID = userCompanyManager.Find(ur => ur.UserID == user.ID).CompanyID; projects = projects.Where(p => p.Company.ID == companyID); } projects = projects.OrderByDescending(p => p.ID); var data = projects.Select(p => new { ID = p.ID, Name = p.Name, CompanyName = p.Company.Name, FireName = p.FireControlInstitution.Name, Progress = p.Progress.ToString(), }); return(Json(data, JsonRequestBehavior.AllowGet)); }
public ActionResult getProjects(bool flag = false) { var projects = projectManager.FindList(); string type = Request.QueryString["Type"]; string city = Request.QueryString["City"]; string lTime = Request.QueryString["lTime"]; string rTime = Request.QueryString["rTime"]; string result = Request.QueryString["Result"]; string name = Request.QueryString["Name"]; string progress = Request.QueryString["Progress"]; string company = Request.QueryString["Company"]; //按项目类型查询 if (type != null && type != "-1") { ProjectType pType = (ProjectType)int.Parse(type); projects = projects.Where(p => p.Type == pType); } //按所属地区查询 if (city != null && city != "-1") { City c = (City)int.Parse(city); projects = projects.Where(p => p.City == c); } //按报告备案时间查询 if (lTime != null && lTime != "") { DateTime begin = Convert.ToDateTime(lTime); projects = projects.Where(p => p.RecordDate >= begin); } if (rTime != null && rTime != "") { DateTime end = Convert.ToDateTime(rTime); projects = projects.Where(p => p.RecordDate <= end); } //按检测结果查询 if (result != null && result != "-1") { bool r = result == "0" ? true : false; projects = projects.Where(p => p.Result == r); } //按项目名称查询 if (name != null && name != "") { projects = projects.Where(p => p.Name.Contains(name)); } //按服务机构查询 if (company != null && company != "") { projects = projects.Where(p => p.Company.Name.Contains(company)); } //按项目进度查询 if (progress != null && progress != "") { var p = int.Parse(progress); ProjectProgress pp = (ProjectProgress)p; projects = projects.Where(project => project.Progress == pp); } if (!flag) { User user = Session["User"] as User; string roleName = user == null ? "" : user.Role.Name; string fireCode = user.Name.Substring(0, 8); var fire = fireManager.Find(f => f.Code == fireCode); if (roleName == "消防机构支队") { City c = getCityByFireName(fire.Name); projects = projects.Where(p => p.City == c); } if (roleName == "消防机构大队") { projects = projects.Where(p => p.FireControlInstitution.ID == fire.ID); } if (roleName == "服务机构") { int companyID = userCompanyManager.Find(ur => ur.UserID == user.ID).CompanyID; projects = projects.Where(p => p.Company.ID == companyID); } } else { projects = projects.Where(p => p.Progress == ProjectProgress.提交备案); } projects = projects.OrderByDescending(p => p.ID); var list = projects.ToList(); var data = list.Select(p => new { ID = p.ID, Name = p.Name, CompanyName = p.Company.Name, Type = p.Type.ToString(), City = p.City.ToString(), RecordDate = ((DateTime)p.RecordDate).ToShortDateString(), Result = p.Result == true?"合格":"不合格" }); return(Json(data, JsonRequestBehavior.AllowGet)); }
public ActionResult Save(ProjectProgress progress, double Min, string projectName, string replyRemark, int[] userId) { //应袁总要求,工作进度可以随便填写,不需要验证 20180702 修改注释 //if (progress.Percent <= Min) //{ // throw new ArgumentException("录入的项目进度百分比不能低于之前的百分比,请核对!"); //} var replyPath = string.Empty; var flag = false; if (Math.Abs(progress.Percent - 100) < 0.01)//输入100%的时候,进行校验 { #region 核对项目参与人员 if (userId == null) { throw new ArgumentException("请确认项目参与人员!"); } else { var project = Core.ProjectManager.Get(progress.ProjectID); if (project == null || project.ProjectUser == null || project.ProjectUser.Count == 0) { throw new ArgumentException("未获取项目信息,无法校验项目参与人员!"); } else { var lack = false; foreach (var item in project.ProjectUser) { if (!userId.Contains(item.UserId)) { lack = true; break; } } if (lack) { throw new ArgumentException("请确认勾选每个项目参与人员!"); } } } #endregion #region 核对批复文件 if (Request.Files.Count > 0) { var file = HttpContext.Request.Files[0]; var fileName = file.FileName; if (!string.IsNullOrEmpty(fileName)) { var ext = Path.GetExtension(fileName); if (ext == ".pdf") { replyPath = FileManager.UploadProject(file, projectName); } } } #endregion flag = true; } var id = Core.Project_ProgressManager.Save(progress); if (id > 0) { Core.ProjectRecordManager.Save(new ProjectRecord { Content = string.Format("{0}录入工作进度", Identity.Name), ProjectId = progress.ProjectID, UserId = progress.UserID }); if (flag)//一旦录入项目进度为100%;并通过校验 { if (Core.ProjectManager.Done(progress.ProjectID, true, replyPath, replyRemark)) { var recordId = Core.ProjectRecordManager.Save(new ProjectRecord { ProjectId = progress.ProjectID, Content = string.Format("{0}标记项目完成100%{1}", Identity.Name, string.IsNullOrEmpty(replyPath) ? "" : ";并上传项目批复文件"), UserId = progress.UserID }); return(Redirect("/Project/Home/Detail?id=" + progress.ProjectID)); } else { throw new ArgumentException("成功录入项目进度,但是更新项目完成状态失败!"); } } return(Redirect("/Project/Home/Detail?id=" + progress.ProjectID)); } throw new ArgumentException("录入公告进度失败!"); }
public ActionResult Edit(ProjectProgress progress) { return(SuccessJsonResult()); }
public int Save(ProjectProgress progress) { DB.Project_Progress.Add(progress); DB.SaveChanges(); return(progress.ID); }