public void PostponeProject(string projectId, PostponeReason postponeReason, string comment, DateTime endDate) { if (endDate.IsEmpty()) { endDate = DateTime.Today; } var project = Get(projectId); if (project.PostponeReasons == null) { var reasons = new List <PostponeReason>(); reasons.Add(postponeReason); project.PostponeReasons = reasons; } else { project.PostponeReasons.Add(postponeReason); } if (project.Status == Status.Done) { Update(project.Id, "Status", Status.Ongoing); } Update(projectId, "PostponeReasons", project.PostponeReasons); Update(projectId, "Comment", comment); Update(projectId, "PublishDate", endDate); Update(projectId, "ActualDateRange.EndDate", DateTime.MinValue); }
public JsonResult PostponeProject(string projectId, PostponeReason postponeReason, string comment, DateTime endDate) { try { this.GetService <ProjectService>().PostponeProject(projectId, postponeReason, comment, endDate); return(Json(new { successMsg = string.Format("PostponeProject project({0}) successfully!", projectId) })); } catch (Exception ex) { _logger.LogError(ex.Message); return(Json(new { errorMsg = ex.Message })); } }
public IActionResult PostponeProject(string id, PostponeReason postponeReason, string comment, DateTime endDate) { var projectService = this.GetService <ProjectService>(); var departmentService = this.GetService <DepartmentService>(); string successMsg = string.Empty; string errorMsg = string.Empty; var dbProject = projectService.Get(id); if (dbProject == null) { errorMsg = id + "doesn't exist!"; return(RedirectProject(successMsg, errorMsg)); } //没有权限 if (!departmentService.IsBoss(this.GetUserId(), dbProject.OwnerIds)) { errorMsg = "You don't have right!"; return(RedirectProject(successMsg, errorMsg)); } if (!endDate.IsEmpty()) { try { projectService.PostponeProject(id, postponeReason, comment, endDate); successMsg = string.Format("Open project({0}) successfully!", id); } catch (Exception ex) { errorMsg = ex.Message; } return(RedirectProject(successMsg, errorMsg)); } else { ViewData["Project"] = dbProject; return(View()); } }