public async Task Add([FromBody] ProjectInfoModel model) { using (_context.Scope()) { await _projectsDataProvider.AddAsync(HttpContext.User.GetUserId(), model); } }
/// <summary> /// 获取项目信息 /// </summary> /// <param name="model"></param> /// <returns></returns> public static DataTable GetProjectInfo(ProjectInfoModel model) { #region 查询语句 //查询SQL拼写 StringBuilder infoSql = new StringBuilder(); infoSql.AppendLine("select a.ProjectNo,a.ID,a.ProjectName,a.CustID,a.CustLinkMan,a.LinkTel,"); infoSql.AppendLine(" CASE a.StartDate WHEN NULL THEN '' ELSE CONVERT(CHAR(10), a.StartDate,23) END as StartDate,a.LinkMan,a.Tel,"); infoSql.AppendLine(" CASE a.EndDate WHEN NULL THEN '' ELSE CONVERT(CHAR(10), a.EndDate,23) END as EndDate,a.Address,a.OverView,a.Remark,"); infoSql.AppendLine(" c.EmployeeName as LinkManName,Convert(numeric(14,"+ ((UserInfoUtil)SessionUtil.Session["UserInfo"]).SelPoint + "),a.Investment) as Investment,"); infoSql.AppendLine(" d.CustName,a.CanViewUser,[dbo].[getEmployeeNameString](a.CanViewUser) as CanViewUserName,"); infoSql.AppendLine(" a.ExtField1,a.ExtField2,a.ExtField3,a.ExtField4,a.ExtField5,a.ExtField6,a.ExtField7,a.ExtField8,a.ExtField9,a.ExtField10,"); infoSql.AppendLine(" a.ExtField11,a.ExtField12,a.ExtField13,a.ExtField14,a.ExtField15,a.ExtField16,a.ExtField17,a.ExtField18,a.ExtField19,a.ExtField20 "); infoSql.AppendLine("from officedba.ProjectInfo a"); infoSql.AppendLine("left join officedba.EmployeeInfo c on a.LinkMan=c.ID"); infoSql.AppendLine("left join officedba.CustInfo d on a.CustID=d.ID"); infoSql.AppendLine("Where a.ID=@ID"); //过滤单据:显示当前用户拥有权限查看的单据 int empid = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).EmployeeID; infoSql.AppendLine(" and ( charindex('," + empid + ",' , ','+a.CanViewUser+',')>0 or a.Creator=" + empid + " OR a.CanViewUser='' OR a.CanViewUser is null) "); #endregion //定义查询的命令 SqlCommand comm = new SqlCommand(); comm.Parameters.Add(SqlHelper.GetParameterFromString("@ID", model.ID.ToString())); //指定命令的SQL文 comm.CommandText = infoSql.ToString(); //执行查询 return(SqlHelper.ExecuteSearch(comm)); }
/// <summary> /// Lists the project infos. /// </summary> /// <param name="projectRepoPath">The repo path.</param> /// <returns> List project info </returns> public IList <ProjectInfoModel> GetListNugetProjectInfos(string projectRepoPath) { var result = new List <ProjectInfoModel>(); var listProjectPaths = Directory.GetDirectories(projectRepoPath, CommonConstant.AllDirectoryFilter, SearchOption.TopDirectoryOnly); if (!listProjectPaths.IsNullOrEmpty()) { foreach (var projectPath in listProjectPaths) { if (ProjectHelper.IsExistedFile(projectPath, CommonConstant.CsprojFileFilter, out var csprojFile) && ProjectHelper.IsExistedFolder(projectPath, CommonConstant.NugetAssetsFilter, out var nugetAssetFolder)) { var projectInfo = new ProjectInfoModel() { ProjectName = ProjectHelper.GetProjectName(csprojFile), ProjectDirectory = projectPath, NuspecPath = Path.Combine(nugetAssetFolder, $"{ProjectHelper.GetProjectName(csprojFile)}{CommonConstant.NuspecFileFilter}") }; result.Add(projectInfo); } } } return(result); }
public async Task <ProjectInfoModel> CreateProject(string projectName, string projectSummary, string avatarToken, string currentUserMail) { var currentUserRepoModel = this._userRepository.GetUser(currentUserMail); if (currentUserRepoModel == null) { Enforce.Throw(new LogicErrorException("当前用户已被删除")); } string projectAvatar = string.Empty; if (!string.IsNullOrEmpty(avatarToken)) { projectAvatar = await _attachmentUploadRepository.GetAttachmentFileID(avatarToken, currentUserRepoModel.info.mail); } ProjectInfoModel infoModel = new ProjectInfoModel(); infoModel.projectName = projectName; infoModel.projectSummary = projectSummary; infoModel.projectAvatar = projectAvatar; infoModel.createUserMail = currentUserRepoModel.info.mail; infoModel.createTime = DateTime.Now; var project = Mapper.Map <ProjectInfoModel, T_PROJECT>(infoModel); if (this._projectBll.CreateProject(project, currentUserRepoModel.info.userID, currentUserRepoModel.info.userName)) { infoModel = Mapper.Map <T_PROJECT, ProjectInfoModel>(project); } return(infoModel); }
/// <summary> /// 插入项目档案 /// </summary> /// <param name="model"></param> /// <param name="ht"></param> /// <param name="ID"></param> /// <returns></returns> public static bool InsertProjectInfo(ProjectInfoModel model, Hashtable ht, out string ID, string startDate, string endDate) { UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"]; ID = "0"; try { bool succ = false; string loginUserID = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).UserID; LogInfoModel logModel = InitLogInfo(model.ProjectNo, 0); logModel.Element = ConstUtil.LOG_PROCESS_INSERT; succ = ProjectInfoDBHelper.InsertProjectInfo(model, ht, out ID, startDate, endDate); if (!succ) { logModel.Remark = ConstUtil.LOG_PROCESS_FAILED; } else { logModel.Remark = ConstUtil.LOG_PROCESS_SUCCESS; } LogDBHelper.InsertLog(logModel); return(succ); } catch (Exception ex) { WriteSystemLog(userInfo, 0, ex); return(false); } }
public MsgModel GetProjectinfo(string projectid) { var msg = new MsgModel { State = false, Msg = "无法获取到项目信息!", Data = null }; try { string sql = "SELECT * FROM `projectinfo` where projectid=" + projectid + ";"; var result = DbHelper.ExecuteDataTable(CommandType.Text, sql); if ((result != null) && (result.Rows.Count > 0)) { var projects = new List <ProjectInfoModel>(); foreach (DataRow row in result.Rows) { var project = new ProjectInfoModel(); if (DBNull.Value != row["Id"]) { project.Id = Convert.ToInt32(row["Id"]); } if (DBNull.Value != row["projectname"]) { project.Projectname = Convert.ToString(row["projectname"]); } if (DBNull.Value != row["Buildingid"]) { project.Buildingid = Convert.ToString(row["Buildingid"]); } if (DBNull.Value != row["BuildingLeader"]) { project.BuildingLeader = Convert.ToString(row["BuildingLeader"]); } if (DBNull.Value != row["BuildingLeaderId"]) { project.BuildingLeaderId = Convert.ToInt32(row["BuildingLeaderId"]); } if (DBNull.Value != row["state"]) { project.State = Convert.ToBoolean(row["state"]); } projects.Add(project); } msg.State = true; msg.Msg = "成功获取项目信息"; msg.Data = projects; } } catch (Exception) { //ignore } return(msg); }
/// <summary> /// 获取项目列表 /// </summary> /// <param name="context"></param> /// <returns></returns> public string GetProjectList(HttpContext context) { int pageIndex = int.Parse(context.Request["PageIndex"]); int pageSize = int.Parse(context.Request["PageSize"]); string projectName = context.Request["ProjectName"]; string area = context.Request["Area"]; string category = context.Request["Category"]; int totalCount = 0; StringBuilder sbWhere = new StringBuilder(string.Format(" Status in(1,2) And WebsiteOwner='{0}' ", bll.WebsiteOwner)); if (!string.IsNullOrEmpty(projectName)) { sbWhere.AppendFormat(" And ProjectName like '%{0}%'", projectName); } if (!string.IsNullOrEmpty(area)) { sbWhere.AppendFormat(" And Area='{0}'", area); } if (!string.IsNullOrEmpty(category)) { sbWhere.AppendFormat(" And Category='{0}'", category); } totalCount = bll.GetCount <WBProjectInfo>(sbWhere.ToString()); List <WBProjectInfo> data = bll.GetLit <WBProjectInfo>(pageSize, pageIndex, sbWhere.ToString(), " Status ASC,AutoID DESC"); List <ProjectInfoModel> newData = new List <ProjectInfoModel>(); foreach (var item in data) { ProjectInfoModel model = new ProjectInfoModel(); model.AutoID = item.AutoID; model.ProjectName = item.ProjectName; model.Thumbnails = item.Thumbnails; model.Area = item.Area; model.Category = item.Category; model.ProjectCycle = item.ProjectCycle; model.Status = item.Status; model.InsertDate = string.Format("{0:f}", item.InsertDate); model.InsertDateStr = item.InsertDateStr; WBCompanyInfo CompanyInfo = bll.Get <WBCompanyInfo>(string.Format("UserId='{0}'", item.UserId)); if (CompanyInfo != null) { model.CompanyName = CompanyInfo.CompanyName; } newData.Add(model); } resp.ExObj = newData; resp.ExStr = ""; int totalpage = bll.GetTotalPage(totalCount, pageSize); if ((totalpage > pageIndex) && (pageIndex.Equals(1))) { resp.ExStr = "1";//是否增加下一页按钮 } return(Common.JSONHelper.ObjectToJson(resp)); }
/// <summary> /// 获取项目详情 /// </summary> /// <param name="projectID"></param> /// <returns></returns> private ProjectInfoModel getProjectInfo(int projectID) { ProjectInfoModel infoModel = null; var project = this._projectBll.GetEntity(new DapperExQuery <T_PROJECT>().AndWhere(s => s.ID, OperationMethod.Equal, projectID)); if (project != null) { infoModel = Mapper.Map <T_PROJECT, ProjectInfoModel>(project); } return(infoModel); }
/// <summary> /// 通过检索条件查询项目档案列表信息 /// </summary> /// <param name="model"></param> /// <param name="startDate"></param> /// <param name="endDate"></param> /// <param name="EFIndex"></param> /// <param name="EFDesc"></param> /// <param name="pageIndex"></param> /// <param name="pageCount"></param> /// <param name="OrderBy"></param> /// <param name="totalCount"></param> /// <returns></returns> public static DataTable GetProjectInfoListBycondition(ProjectInfoModel model, string EFIndex, string EFDesc, int pageIndex, int pageCount, string OrderBy, ref int totalCount) { try { return(ProjectInfoDBHelper.GetProjectInfoListBycondition(model, EFIndex, EFDesc, pageIndex, pageCount, OrderBy, ref totalCount)); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// 项目档案详细信息 /// </summary> /// <param name="model"></param> /// <returns></returns> public static DataTable GetProjectInfo(ProjectInfoModel model) { try { return(ProjectInfoDBHelper.GetProjectInfo(model)); } catch (System.Exception ex) { throw ex; } }
public ActionResult Status(int Id) { var model = new ProjectInfoModel(); var pro = _projects.GetProjectWithId(Id); model.Id = pro.Id; model.PM = pro.PM; model.statusId = pro.statusId; model.Project = pro.Project; model.ProjectComment = pro.ProjectComment; model.StatusName = pro.ProjectStatus.StatusName; return View(model); }
/// <summary> /// 通过检索条件查询项目档案列表 /// </summary> /// <param name="model"></param> /// <param name="startDate"></param> /// <param name="endDate"></param> /// <param name="EFIndex"></param> /// <param name="EFDesc"></param> /// <param name="pageIndex"></param> /// <param name="pageCount"></param> /// <param name="OrderBy"></param> /// <param name="totalCount"></param> /// <returns></returns> public static DataTable GetProjectInfoListBycondition(ProjectInfoModel model, string EFIndex, string EFDesc, int pageIndex, int pageCount, string OrderBy, ref int totalCount) { #region 查询语句 //查询SQL拼写 StringBuilder searchSql = new StringBuilder(); searchSql.AppendLine("select a.ID,a.ProjectNo,a.ProjectName,a.CustID,b.CustName,"); searchSql.AppendLine(" a.LinkMan,c.EmployeeName as LinkManName,a.ModifiedDate,"); searchSql.AppendLine(" isnull( CONVERT(CHAR(10), a.StartDate, 23),'') as StartDate,"); searchSql.AppendLine(" isnull( CONVERT(CHAR(10), a.EndDate, 23),'') as EndDate,Convert(numeric(14,"+ ((UserInfoUtil)SessionUtil.Session["UserInfo"]).SelPoint + "),a.Investment) as Investment "); searchSql.AppendLine("from officedba.ProjectInfo a"); searchSql.AppendLine("left join officedba.CustInfo b on a.CustID=b.ID"); searchSql.AppendLine("left join officedba.EmployeeInfo c on a.LinkMan=c.ID"); searchSql.AppendLine("where a.CompanyCD=@CompanyCD"); int empid = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).EmployeeID; searchSql.AppendLine(" and ( charindex('," + empid + ",' , ','+a.CanViewUser+',')>0 or a.Creator=" + empid + " OR a.CanViewUser='' OR a.CanViewUser is null) "); #endregion //定义查询的命令 SqlCommand comm = new SqlCommand(); //添加公司代码参数 comm.Parameters.Add(SqlHelper.GetParameterFromString("@CompanyCD", model.CompanyCD)); //单据编号 if (!string.IsNullOrEmpty(model.ProjectNo)) { searchSql.AppendLine("and a.ProjectNo like @ProjectNo"); comm.Parameters.Add(SqlHelper.GetParameterFromString("@ProjectNo", "%" + model.ProjectNo + "%")); } //项目名称 if (!string.IsNullOrEmpty(model.ProjectName)) { searchSql.AppendLine(" and a.ProjectName like @ProjectName"); comm.Parameters.Add(SqlHelper.GetParameterFromString("@ProjectName", "%" + model.ProjectName + "%")); } //客户ID if (model.CustID > 0) { searchSql.AppendLine(" and a.CustID=@CustID "); comm.Parameters.Add(SqlHelper.GetParameterFromString("@CustID", model.CustID.ToString())); } //我方负责人 if (model.LinkMan > 0) { searchSql.AppendLine(" and a.LinkMan=@LinkMan "); comm.Parameters.Add(SqlHelper.GetParameterFromString("@LinkMan", model.LinkMan.ToString())); } //指定命令的SQL文 comm.CommandText = searchSql.ToString(); //执行查询 return(SqlHelper.PagerWithCommand(comm, pageIndex, pageCount, OrderBy, ref totalCount)); }
public ActionResult Delete([FromBody] ProjectInfoModel model) { //validation var result = AllItems.Where(x => x.ProjectInfoId == model.ProjectInfoId).FirstOrDefault(); if (result == null) { return(BadRequest()); } db.Remove(result); db.SaveChanges(); return(Ok()); }
private void ViewModel_DeleteProjected(ProjectInfoModel obj) { try { ProjectItems.ToList().ForEach(pj => { if (pj.Tag == obj) { ProjectItems.Remove(pj); } }); ResetProjectItem(); } catch (Exception) { } }
public ActionResult Create([FromBody] ProjectInfoModel model) { //validation if (ModelState.IsValid) { using (TransactionScope tranScope = new TransactionScope()) { db.Add(model); db.SaveChanges(); InserTempTree(model.ServiceTemplateTreeRef, model.ProjectInfoId); tranScope.Complete(); } } return(Ok()); }
private async void DeleteProject(ProjectInfoModel data) { if (!await ApplicationHelper.Default.Quire("是否删除此工程:" + data.ProjectName)) { return; } var appset = SettingHelper.LocContainer.CreateContainer("Projects", ApplicationDataCreateDisposition.Always); try { await(await StorageHelper.Default.LocFolder.GetFileAsync(data.ProjectName)).DeleteAsync(); var folder = await(await StorageHelper.Default.LocFolder.GetFolderAsync("BackgroundImgs")).GetFolderAsync(data.Name); await folder.DeleteAsync(); Projects.Remove(data); DeleteProjected?.Invoke(data); } catch (Exception) { } }
public IEnumerable <ProjectInfoModel> List(int page = 1, int pageSize = 100) { int skip = (page - 1) * pageSize; if (skip < 0) { skip = 0; } if (pageSize < 1) { pageSize = 10; } return(base.Get().Skip(skip).Take(pageSize).Select(p => { ProjectInfoModel pi = Mapper.Map <Project, ProjectInfoModel>(p); pi.OrganizationName = _organizationRepository.GetByIdCached(p.OrganizationId).Name; return pi; })); }
public MsgModel GetBuildings() { var msg = new MsgModel { State = false, Msg = "无法获取到栋号信息!", Data = null }; try { const string sql = "SELECT projectid,buildingid FROM `projectinfo` a WHERE a.state=1;"; var result = DbHelper.ExecuteDataTable(CommandType.Text, sql); if ((result != null) && (result.Rows.Count > 0)) { var projects = new List <ProjectInfoModel>(); foreach (DataRow row in result.Rows) { var project = new ProjectInfoModel(); if (DBNull.Value != row["projectid"]) { project.Projectid = Convert.ToInt32(row["projectid"]); } if (DBNull.Value != row["buildingid"]) { project.Buildingid = Convert.ToString(row["buildingid"]); } projects.Add(project); } msg.State = true; msg.Msg = "成功获取栋号信息"; msg.Data = projects; } } catch (Exception) { //ignore } return(msg); }
public ActionResult AddProject( [DataSourceRequest] DataSourceRequest request,ProjectInfoModel model) { ProjectInfo project = new ProjectInfo(); var getSatusId = _projects.GetstatusName(model.StatusName); if(ModelState.IsValid) { project.Id = model.Id; project.PM = model.PM; project.Project = model.Project; project.ProjectComment = model.ProjectComment; project.statusId = getSatusId.Id; project.percentage = model.percentage; _projects.CreateProjects(project); TempData["success"] = "Edited Succefully"; } else { TempData["fail"] = " Not Edited Succefully"; } return RedirectToAction("ProjectOnDisplay", "AdminProject"); }
public ActionResult Edit([FromBody] ProjectInfoModel model) { //validation var result = AllItems.Where(x => x.ProjectInfoId == model.ProjectInfoId).FirstOrDefault(); if (result == null) { return(BadRequest()); } result.Title = model.Title; result.ProjectNo = model.ProjectNo; result.ProjectTreeRef = model.ProjectTreeRef; result.ReginalPowerCorpRef = model.ReginalPowerCorpRef; result.State = model.State; result.Description = model.Description; db.Update(result); db.SaveChanges(); return(Ok()); }
/// <summary> /// 扩展属性保存操作 /// </summary> /// <returns></returns> private static void GetExtAttrCmd(ProjectInfoModel model, Hashtable htExtAttr, SqlCommand cmd) { try { string strSql = string.Empty; strSql = "UPDATE officedba.ProjectInfo set "; foreach (DictionaryEntry de in htExtAttr)// fileht为一个Hashtable实例 { strSql += de.Key.ToString().Trim() + "=@" + de.Key.ToString().Trim() + ","; cmd.Parameters.AddWithValue("@" + de.Key.ToString().Trim(), de.Value.ToString().Trim()); } int iLength = strSql.Length - 1; strSql = strSql.Substring(0, iLength); strSql += " where CompanyCD = @CompanyCD AND ProjectNo = @ProjectNo"; cmd.Parameters.AddWithValue("@CompanyCD", model.CompanyCD); cmd.Parameters.AddWithValue("@ProjectNo", model.ProjectNo); cmd.CommandText = strSql; } catch (Exception) { } }
private async void ProjectOperator() { if (string.IsNullOrEmpty(ProjectName)) { return; } var filename = ProjectName + ".isf"; var file = await StorageHelper.Default.GetFile(StorageHelper.Default.LocFolder, filename); StorageFile newfile = null; var pim = new ProjectInfoModel(ProjectName + ".isf", file != null ? file.Path : (newfile = await StorageHelper.Default.CreateFile(StorageHelper.Default.LocFolder, filename)).Path); if (file == null && newfile != null) { var LocSetting = SettingHelper.ProjectContainer; if (LocSetting.Values.Keys.Contains(newfile.Name)) { LocSetting.Values[newfile.Name] = newfile.Path; } else { LocSetting.Values.Add(newfile.Name, newfile.Path); } } //SettingHelper.Default.SetSettingValue(SettingHelper.LocContainer, "IsOpen", "1", false); var bki = await StorageHelper.Default.GetFolder(StorageHelper.Default.LocFolder, "BackgroundImgs"); await StorageHelper.Default.CreateFolder(bki, ProjectName); SystemNavigationManager.GetForCurrentView().AppViewBackButtonVisibility = AppViewBackButtonVisibility.Visible; ApplicationHelper.Default.SetWindowTitle(ProjectName); var navSer = SimpleIoc.Default.GetInstance <INavigationService>(); //ApplicationHelper.Default.LocProject = pim; navSer.NavigateTo(ViewModelLocator.CanvasViewKey, pim); }
public PagedResult <ProjectInfoModel> GetByOrganizationId(string organizationId, int page = 1, int pageSize = 10) { if (String.IsNullOrEmpty(organizationId) || !User.CanAccessOrganization(organizationId)) { throw new ArgumentException("Invalid organization id.", "organizationId"); // TODO: These should probably throw http Response exceptions. } int skip = (page - 1) * pageSize; if (skip < 0) { skip = 0; } if (pageSize < 1) { pageSize = 10; } List <Project> projects = _repository.GetByOrganizationId(organizationId).ToList(); List <ProjectInfoModel> projectInfos = projects.Skip(skip).Take(pageSize).Select(p => { ProjectInfoModel pi = Mapper.Map <Project, ProjectInfoModel>(p); pi.OrganizationName = _organizationRepository.GetByIdCached(p.OrganizationId).Name; return(pi); }).ToList(); var result = new PagedResult <ProjectInfoModel>(projectInfos) { Page = page > 1 ? page : 1, PageSize = pageSize >= 1 ? pageSize : 10, TotalCount = projects.Count }; // TODO: Only return the populated fields (currently all properties are being returned). return(result); }
public ActionResult Info(string id) { var query1 = (from t1 in db.MSP_EpmProject_UserView join t2 in db.MSP_EpmResource_UserView on t1.ProjectOwnerResourceUID equals t2.ResourceUID join oct in db.MSPCFPRJ_Network_Priorities_AssociationView on t1.ProjectUID equals oct.EntityUID into temp1 from t3 in temp1.DefaultIfEmpty() join it in db.MSP_EpmLookupTable on t3.LookupMemberUID equals it.MemberUID into temp2 from t4 in temp2.DefaultIfEmpty() where departmentNames.Contains(t1.Project_Departments) && t1.ProjectUID.ToString() == id select new ProjectCaseInfo { projectID = t1.Project_ID, projectDesc = t1.Project_Description, methodology = t1.Methodology, networkPriorities = t4.MemberFullValue, projectName = t1.ProjectName, projectSponsor = t1.Project_Sponsor, execSponsor = t1.Executive_Sponsor, leadArch = t1.Lead_Architect, refID = t1.Reference_ID, program = t1.Program, projectAuthorName = t1.Proposal_Authors, projectManagerName = t1.ProjectOwnerName, projectOwner = t2.ResourceNTAccount, SME = t1.Sustaining_Resource, phase = t1.Phase, costStatus = t1.Cost_Status, scheduleStatus = t1.Schedule_Status, scopeStatus = t1.Scope_Status, teamStatus = t1.Team_Status, proposalStart = t1.Proposed_Start, proposalFinish = t1.Proposed_Finish, projectStartDate = t1.ProjectStartDate, projectFinishDate = t1.ProjectFinishDate, firstSubmitted = t1.First_Portfolio_Submital, projectDuration = t1.ProjectDuration, projectRemainingWork = t1.ProjectRemainingWork, projectWorkspaceInternalHref = t1.ProjectWorkspaceInternalHRef, //primaryService = t1.Primary_Service, projectStkholders = t1.Key_Stakeholders, projectDeliverables = t1.Deliverables_Comment, problemOpp = t1.Problem_Opportunity_Statement, projectScope = t1.Project_Scope, projectExclusions = t1.Project_Exclusions, projectConstraints = t1.Project_Constraints, billing = t1.Billing, costComment = t1.Cost_Comment, benefitComment = t1.Benefits_Comment, driverComment = t1.Business_Driver_Comments, unprovenTechnology = t1.Unproven_Technology, targetPerformance = t1.Target_Performance, currentPerformance = t1.Current_Performance, coreTeam = t1.Core_Team, projectUID = t1.ProjectUID.ToString(), baselineStartDate = t1.ProjectBaseline0StartDate, baselineFinishDate = t1.ProjectBaseline0FinishDate, actualPercentageCompleted = t1.ProjectPercentCompleted, resourceStatus = t1.Resource_Status, resourceStatusDetail = t1.Resource_Status_Detail, substainingResource = t1.Sustaining_Resource }).FirstOrDefault(); if (query1 != null) { if (query1.projectStartDate.HasValue) { query1.projectStartDateDisplay = query1.projectStartDate.Value.ToShortDateString(); } if (query1.projectFinishDate.HasValue) { query1.projectFinishDateDisplay = query1.projectFinishDate.Value.ToShortDateString(); } if (query1.baselineStartDate.HasValue) { query1.baselineStartDateDisplay = query1.baselineStartDate.Value.ToShortDateString(); } if (query1.baselineFinishDate.HasValue) { query1.baselineFinishDateDisplay = query1.baselineFinishDate.Value.ToShortDateString(); } //if (query1.projectDesc != null) //{ // query1.projectDesc = Regex.Replace(query1.projectDesc, "<.*?>|&.*?;", string.Empty).Trim(); //} //if (query1.projectScope != null) //{ // query1.projectScope = Regex.Replace(query1.projectScope, "<.*?>|&.*?;", string.Empty).Trim(); //} //if (query1.projectDeliverables != null) //{ // query1.projectDeliverables = Regex.Replace(query1.projectDeliverables, "<.*?>|&.*?;", string.Empty).Trim(); //} ViewBag.projectInfo = query1; } else { ViewBag.projectInfo = new ProjectCaseInfo(); } var query2 = (from t1 in db.MSP_EpmProject_UserView join t2 in db.MSP_WssIssueToIssueLinks_UserView on t1.ProjectUID equals t2.ProjectUID where departmentNames.Contains(t1.Project_Departments) && t1.ProjectUID.ToString() == id && t2.Status.EndsWith("Active") && t2.Priority.EndsWith("High") select new ProjectCaseIssue { projectUID = t1.ProjectUID.ToString(), projectID = t1.Project_ID, projectName = t1.ProjectName, title = t2.Title, actionPlan = t2.Resolution, assignedToResource = t2.AssignedToResource }); var issuesData = query2.ToList <ProjectCaseIssue>(); var query3 = (from t1 in db.MSP_EpmProject_UserView join t2 in db.MSP_EpmTask_UserView on t1.ProjectUID equals t2.ProjectUID where departmentNames.Contains(t1.Project_Departments) && t1.ProjectUID.ToString() == id && t2.ReportTask == true orderby t2.TaskIndex select new ProjectCaseDeliverable { projectUID = t1.ProjectUID.ToString(), projectID = t1.Project_ID, projectName = t1.ProjectName, taskName = t2.TaskName, taskStartDate = t2.TaskStartDate, taskFinishDate = t2.TaskFinishDate, taskPercentCompleted = t2.TaskPercentCompleted, taskACWP = t2.TaskACWP, taskBCWP = t2.TaskBCWP, taskBCWS = t2.TaskBCWS, taskBaseline0FinishDate = t2.TaskBaseline0FinishDate, }); var deliverablesData = query3.ToList <ProjectCaseDeliverable>(); for (int i = 0; i < deliverablesData.Count(); i++) { if (deliverablesData[i].taskStartDate.HasValue) { deliverablesData[i].taskStartDateDisplay = deliverablesData[i].taskStartDate.Value.ToShortDateString(); } if (deliverablesData[i].taskFinishDate.HasValue) { deliverablesData[i].taskFinishDateDisplay = deliverablesData[i].taskFinishDate.Value.ToShortDateString(); } if (deliverablesData[i].taskBaseline0FinishDate.HasValue) { deliverablesData[i].taskBaseline0FinishDateDisplay = deliverablesData[i].taskBaseline0FinishDate.Value.ToShortDateString(); } } ProjectInfoModel modelData = new ProjectInfoModel(); modelData.listOfIssues = issuesData; modelData.listOfDeliverables = deliverablesData; return(View(modelData)); }
public void ItemQuerySubmitted(ProjectInfoModel model) { ProjectName = model.Name; }
protected ProjectInfoFacade(ProjectInfoModel model) : base(model) { }
/// <summary> /// 项目档案插入 /// </summary> /// <param name="model"></param> /// <returns></returns> public static bool InsertProjectInfo(ProjectInfoModel model, Hashtable htExtAttr, out string ID, string StartDate, string EndDate) { ArrayList listADD = new ArrayList(); bool result = false; #region 项目档案添加SQL语句 StringBuilder sqlPro = new StringBuilder(); sqlPro.AppendLine("INSERT INTO officedba.ProjectInfo"); sqlPro.AppendLine(" (CompanyCD"); sqlPro.AppendLine(" ,ProjectNo"); sqlPro.AppendLine(" ,ProjectName"); sqlPro.AppendLine(" ,CustID"); sqlPro.AppendLine(" ,CustLinkMan"); sqlPro.AppendLine(" ,LinkTel"); sqlPro.AppendLine(" ,LinkMan"); sqlPro.AppendLine(" ,Tel"); sqlPro.AppendLine(" ,Address"); if (!string.IsNullOrEmpty(StartDate)) { sqlPro.AppendLine(" ,StartDate"); } if (!string.IsNullOrEmpty(EndDate)) { sqlPro.AppendLine(" ,EndDate"); } sqlPro.AppendLine(" ,OverView"); sqlPro.AppendLine(" ,Remark"); sqlPro.AppendLine(" ,Creator"); sqlPro.AppendLine(" ,CreateDate"); sqlPro.AppendLine(" ,Investment"); sqlPro.AppendLine(" ,ModifiedDate"); sqlPro.AppendLine(" ,CanViewUser)"); sqlPro.AppendLine(" VALUES"); sqlPro.AppendLine(" (@CompanyCD"); sqlPro.AppendLine(" ,@ProjectNo"); sqlPro.AppendLine(" ,@ProjectName"); sqlPro.AppendLine(" ,@CustID"); sqlPro.AppendLine(" ,@CustLinkMan"); sqlPro.AppendLine(" ,@LinkTel"); sqlPro.AppendLine(" ,@LinkMan"); sqlPro.AppendLine(" ,@Tel"); sqlPro.AppendLine(" ,@Address"); if (!string.IsNullOrEmpty(StartDate)) { sqlPro.AppendLine(" ,@StartDate"); } if (!string.IsNullOrEmpty(EndDate)) { sqlPro.AppendLine(" ,@EndDate"); } sqlPro.AppendLine(" ,@OverView"); sqlPro.AppendLine(" ,@Remark"); sqlPro.AppendLine(" ,@Creator"); sqlPro.AppendLine(" ,@CreateDate"); sqlPro.AppendLine(" ,@Investment"); sqlPro.AppendLine(" ,getdate()"); sqlPro.AppendLine(" ,@CanViewUser)"); sqlPro.AppendLine("set @ID=@@IDENTITY"); SqlCommand comm = new SqlCommand(); comm.CommandText = sqlPro.ToString(); comm.Parameters.Add(SqlHelper.GetParameter("@CompanyCD", model.CompanyCD)); comm.Parameters.Add(SqlHelper.GetParameter("@ProjectNo", model.ProjectNo)); comm.Parameters.Add(SqlHelper.GetParameter("@ProjectName", model.ProjectName)); comm.Parameters.Add(SqlHelper.GetParameter("@CustID", model.CustID)); comm.Parameters.Add(SqlHelper.GetParameter("@CustLinkMan", model.CustLinkMan)); comm.Parameters.Add(SqlHelper.GetParameter("@LinkTel", model.LinkTel)); comm.Parameters.Add(SqlHelper.GetParameter("@LinkMan", model.LinkMan)); comm.Parameters.Add(SqlHelper.GetParameter("@Tel", model.Tel)); comm.Parameters.Add(SqlHelper.GetParameter("@Address", model.Address)); if (!string.IsNullOrEmpty(StartDate)) { comm.Parameters.Add(SqlHelper.GetParameter("@StartDate", StartDate)); } if (!string.IsNullOrEmpty(EndDate)) { comm.Parameters.Add(SqlHelper.GetParameter("@EndDate", EndDate)); } comm.Parameters.Add(SqlHelper.GetParameter("@OverView", model.OverView)); comm.Parameters.Add(SqlHelper.GetParameter("@Remark", model.Remark)); comm.Parameters.Add(SqlHelper.GetParameter("@Creator", model.Creator)); comm.Parameters.Add(SqlHelper.GetParameter("@CreateDate", model.CreateDate)); comm.Parameters.Add(SqlHelper.GetParameter("@Investment", model.Investment)); comm.Parameters.Add(SqlHelper.GetParameter("@CanViewUser", model.CanViewUser)); comm.Parameters.Add(SqlHelper.GetOutputParameter("@ID", SqlDbType.Int)); listADD.Add(comm); #endregion try { #region 扩展属性 SqlCommand cmd = new SqlCommand(); GetExtAttrCmd(model, htExtAttr, cmd); if (htExtAttr.Count > 0) { listADD.Add(cmd); } #endregion if (SqlHelper.ExecuteTransWithArrayList(listADD)) { ID = comm.Parameters["@ID"].Value.ToString(); result = true; } else { ID = "0"; } return(result); } catch (Exception ex) { throw ex; } }
/// <summary> /// 修改项目档案 /// </summary> /// <param name="model"></param> /// <param name="loginUserID"></param> /// <returns></returns> public static bool UpdateProjectInfo(ProjectInfoModel model, Hashtable htExtAttr, string StartDate, string EndDate) { //获取登陆用户ID ArrayList listADD = new ArrayList(); if (model.ID <= 0) { return(false); } #region 主生产计划单修改SQL语句 StringBuilder sqlEdit = new StringBuilder(); sqlEdit.AppendLine("UPDATE officedba.ProjectInfo"); sqlEdit.AppendLine(" SET ProjectName = @ProjectName"); sqlEdit.AppendLine(" ,CustID = @CustID"); sqlEdit.AppendLine(" ,CustLinkMan = @CustLinkMan"); sqlEdit.AppendLine(" ,LinkTel = @LinkTel"); sqlEdit.AppendLine(" ,LinkMan = @LinkMan"); sqlEdit.AppendLine(" ,Tel = @Tel"); sqlEdit.AppendLine(" ,Address = @Address"); if (!string.IsNullOrEmpty(StartDate)) { sqlEdit.AppendLine(" ,StartDate = @StartDate"); } if (!string.IsNullOrEmpty(EndDate)) { sqlEdit.AppendLine(" ,EndDate = @EndDate"); } sqlEdit.AppendLine(" ,OverView = @OverView"); sqlEdit.AppendLine(" ,Remark = @Remark"); sqlEdit.AppendLine(" ,CanViewUser = @CanViewUser"); sqlEdit.AppendLine(" ,Investment = @Investment"); sqlEdit.AppendLine(" ,ModifiedDate = getdate()"); sqlEdit.AppendLine(" WHERE ID=@ID"); SqlCommand comm = new SqlCommand(); comm.CommandText = sqlEdit.ToString(); comm.Parameters.Add(SqlHelper.GetParameter("@ID", model.ID)); comm.Parameters.Add(SqlHelper.GetParameter("@ProjectName", model.ProjectName)); comm.Parameters.Add(SqlHelper.GetParameter("@CustID", model.CustID)); comm.Parameters.Add(SqlHelper.GetParameter("@CustLinkMan", model.CustLinkMan)); comm.Parameters.Add(SqlHelper.GetParameter("@LinkTel", model.LinkTel)); comm.Parameters.Add(SqlHelper.GetParameter("@LinkMan", model.LinkMan)); comm.Parameters.Add(SqlHelper.GetParameter("@Tel", model.Tel)); comm.Parameters.Add(SqlHelper.GetParameter("@Address", model.Address)); if (!string.IsNullOrEmpty(StartDate)) { comm.Parameters.Add(SqlHelper.GetParameter("@StartDate", StartDate)); } if (!string.IsNullOrEmpty(EndDate)) { comm.Parameters.Add(SqlHelper.GetParameter("@EndDate", EndDate)); } comm.Parameters.Add(SqlHelper.GetParameter("@OverView", model.OverView)); comm.Parameters.Add(SqlHelper.GetParameter("@Remark", model.Remark)); comm.Parameters.Add(SqlHelper.GetParameter("@CanViewUser", model.CanViewUser)); comm.Parameters.Add(SqlHelper.GetParameter("@Investment", model.Investment)); listADD.Add(comm); #endregion #region 拓展属性 SqlCommand cmd = new SqlCommand(); GetExtAttrCmd(model, htExtAttr, cmd); if (htExtAttr.Count > 0) { listADD.Add(cmd); } #endregion return(SqlHelper.ExecuteTransWithArrayList(listADD)); }
public ActionResult EditProject([DataSourceRequest] DataSourceRequest request, ProjectInfoModel model) { var getproject = _projects.GetProjectWithId(model.Id); model.statusId = getproject.statusId; if(ModelState.IsValid) { getproject.PM = model.PM; getproject.Project = model.Project; getproject.ProjectComment = model.ProjectComment; //project.statusId = getSatusId.ProjectStatus.Id; getproject.percentage = model.percentage; //project.ProjectStatus.StatusName = model.StatusName; getproject.statusId = model.statusId; _projects.CreateProjects(getproject); TempData["success"] = "Edited Succefully"; } return RedirectToAction("ProjectOnDisplay", "AdminProject"); }
/// <summary> /// Gets the latest commit change file. /// </summary> /// <param name="projectInfo">The project information.</param> /// <param name="rootGitPath">The root git path.</param> /// <param name="startDay">The start day.</param> /// <param name="endDay">The end day.</param> /// <returns> Latest commit</returns> public Commit GetLatestCommitChangeFile(ProjectInfoModel projectInfo, string rootGitPath, string startDay, string endDay) { var listCommit = new List <Commit>(); try { // Build start day and end day var startDateTime = DateTime.ParseExact(startDay, CommonConstant.DayTimeFormat, CultureInfo.InvariantCulture); var endDateTime = DateTime.ParseExact(endDay, CommonConstant.DayTimeFormat, CultureInfo.InvariantCulture); var startDayNumber = DateTime.Now > startDateTime ? -(DateTime.Now - startDateTime).Days : (DateTime.Now - startDateTime).Days; var endDayNumer = DateTime.Now > endDateTime ? -(DateTime.Now - endDateTime).Days : (DateTime.Now - endDateTime).Days; // Using libgit2sharp to get change file using (var repo = new Repository(rootGitPath)) { // get commits from all branches, not just master var commits = repo.Commits.QueryBy( new CommitFilter { SortBy = CommitSortStrategies.Time | CommitSortStrategies.Reverse }); // here I can access commit's author, but not time var since = new DateTimeOffset(DateTime.Now.AddDays(startDayNumber)); var until = new DateTimeOffset(DateTime.Now.AddDays(endDayNumer)); var commitLogs = commits.Where(c => c.Committer.When > since && c.Committer.When < until)?.ToList(); if (!commitLogs.IsNullOrEmpty()) { // Loop on list commit foreach (var commitLog in commitLogs) { // Ignore if don't have parrent if (commitLog.Parents.IsNullOrEmpty()) { continue; } // Loop on parrent commit foreach (var parent in commitLog.Parents) { var listFileChanged = repo.Diff.Compare <TreeChanges>(parent.Tree, commitLog.Tree) .Any(t => t.Path.EndsWith($"{projectInfo.ProjectName}{CommonConstant.NuspecFileFilter}", StringComparison.OrdinalIgnoreCase)); if (listFileChanged) { listCommit.Add(commitLog); } } } } } } catch (Exception e) { Console.WriteLine(e); throw; } var latestCommit = listCommit.OrderBy(t => t.Author.When).LastOrDefault(); return(latestCommit); }
public ActionResult AddProject() { var model = new ProjectInfoModel(); return View(model); }
public ActionResult ProjectOnDisplay() { var model = new ProjectInfoModel(); return View(model); }