示例#1
0
        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);
        }
示例#2
0
 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 }));
     }
 }
示例#3
0
        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());
            }
        }