Example #1
0
        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>();
        }
Example #2
0
        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);
        }
Example #3
0
        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)
            }));
        }
Example #4
0
        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 }));
        }
Example #7
0
        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));
        }
Example #8
0
        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));
        }
Example #9
0
        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("录入公告进度失败!");
        }
Example #10
0
 public ActionResult Edit(ProjectProgress progress)
 {
     return(SuccessJsonResult());
 }
Example #11
0
 public int Save(ProjectProgress progress)
 {
     DB.Project_Progress.Add(progress);
     DB.SaveChanges();
     return(progress.ID);
 }