Exemple #1
0
 public IHttpActionResult GetProjectStatusChangeLog(string projectId)
 {
     return(Ok(new
     {
         changeLog = ProjectStatusChangeLog.Search(i => i.ProjectId == projectId).ToList()
     }));
 }
Exemple #2
0
        public void ChangeProjectStatus(ProjectDto project)
        {
            using (var scope = new TransactionScope())
            {
                var projectInfo = ProjectInfo.FirstOrDefault(e => e.ProjectId == project.ProjectId &&
                                                             e.FlowCode == project.FlowCode);

                if (projectInfo != null)
                {
                    projectInfo.Status = project.CurrStatus;
                    projectInfo.Update();


                    var tasks = TaskWork.Search(e => e.RefID == project.ProjectId &&
                                                e.Status == TaskWorkStatus.UnFinish &&
                                                e.ActivityName == NodeCode.Start).ToList();

                    tasks.ForEach(e =>
                    {
                        e.ActionName = SetTaskActionName(project.CurrStatus);
                    });

                    TaskWork.Update(tasks.ToArray());

                    var log = new ProjectStatusChangeLog
                    {
                        ProjectId  = project.ProjectId,
                        PrevStatus = project.PrevStatus,
                        CurrStatus = project.CurrStatus,
                        FlowCode   = project.FlowCode,
                        Comment    = project.Comment,
                        CreateBy   = ClientCookie.UserCode,
                        CreateTime = DateTime.Now
                    };

                    log.Add();
                }

                scope.Complete();
            }
        }