示例#1
0
        public string GetProjectPhase(int projectId)
        {
            ICollection <ProjectPhase> projectPhases = new List <ProjectPhase>();

            using (ProjectTrackerContainer context = new ProjectTrackerContainer())
            {
                var lstPhase = context.ProjectPhase.Where(p => p.ProjectId == projectId).ToList();

                if (lstPhase != null)
                {
                    foreach (var phase in lstPhase)
                    {
                        ProjectPhase p = new ProjectPhase()
                        {
                            Id        = phase.Id,
                            Name      = phase.Name,
                            ProjectId = phase.ProjectId,
                            Title     = phase.Title,
                            MsHrs     = phase.MsHrs,
                            PhdHrs    = phase.PhdHrs
                        };

                        projectPhases.Add(p);
                    }
                }
            }

            return(Newtonsoft.Json.JsonConvert.SerializeObject(projectPhases));
        }
示例#2
0
        /// <summary>
        /// Internal method to update ProjectPhase entry when a new StatusUpdate changes the update count
        /// ProjectPhase table is no longer utilized by current UI and this should likely be removed during refactoring
        /// </summary>
        /// <param name="projectId">ProjectID is part of the primary key of each ProjectPhase entry</param>
        /// <param name="phaseId">PhaseID is part of the primary key of each ProjectPhase entry</param>
        /// <param name="key">UpdateKey is part of the primary key of each ProjectPhase entry</param>
        private void updateProjectPhase(Guid projectId, int phaseId, string key)
        {
            ProjectPhase projectPhase = context.ProjectPhases.FirstOrDefault(pp =>
                                                                             pp.PhaseID == phaseId &&
                                                                             pp.ProjectID == projectId &&
                                                                             pp.UpdateKey == key);

            //__increment or create entry
            if (projectPhase != null)
            {
                int?newCount = projectPhase.UpdateCount + 1;
                projectPhase.UpdateCount = newCount;
            }
            else
            {
                ProjectPhase newProjectPhase = new ProjectPhase();
                newProjectPhase.PhaseID      = phaseId;
                newProjectPhase.ProjectID    = projectId;
                newProjectPhase.UpdateKey    = key;
                newProjectPhase.LatestUpdate = DateTime.Now;
                newProjectPhase.UpdateCount  = 1;
                context.ProjectPhases.Add(newProjectPhase);
            }
            context.SaveChanges();
        }
示例#3
0
        // 修改
        public ResultEntity <int> UpdateProjectPhase(ProjectPhase uie)
        {
            ResultEntity <int> result;

            try
            {
                int IntRet    = 0;
                var repResult = dal.Update <ProjectPhase>(uie);

                if (repResult)
                {
                    IntRet = 1;
                }

                if (IntRet > 0)
                {
                    result = new ResultEntity <int>(true, ConstantDefine.TipSaveSuccess, IntRet);
                }
                else
                {
                    result = new ResultEntity <int>(ConstantDefine.TipSaveFail);
                }
            }
            catch (Exception ex)
            {
                Loger.LogErr(ex);
                result = new ResultEntity <int>(ex.Message);
            }
            return(result);
        }
示例#4
0
        public int Save(int ProjectPhaseID, DateTime PhaseTime, int ProjectID = 0, int PhaseID = 0)
        {
            ProjectPhase _dbEntry = _context.ProjectPhases.Find(ProjectPhaseID);

            if (_dbEntry != null)
            {
                if (_dbEntry.PlanFinish == new DateTime(1, 1, 1) || _dbEntry.PlanFinish == new DateTime(1900, 1, 1))
                {
                    _dbEntry.PlanFinish = PhaseTime;//ProjectPhase.PlanCFinish;
                }
                else
                {
                    _dbEntry.PlanCFinish = PhaseTime;//ProjectPhase.PlanCFinish;
                }
                _context.SaveChanges();
            }
            else
            {
                _dbEntry              = new ProjectPhase();
                _dbEntry.ProjectID    = ProjectID;
                _dbEntry.PhaseID      = PhaseID;
                _dbEntry.PlanFinish   = PhaseTime;
                _dbEntry.PlanCFinish  = new DateTime(1, 1, 1);
                _dbEntry.ActualFinish = new DateTime(1, 1, 1);
                _context.ProjectPhases.Add(_dbEntry);
            }
            _context.SaveChanges();
            return(_dbEntry.ProjectPhaseID);
        }
示例#5
0
        // 添加
        public ResultEntity <int> InsertProjectPhase(ProjectPhase uie)
        {
            ResultEntity <int> result;

            try
            {
                int IntRet    = 0;
                var repResult = dal.Insert <ProjectPhase>(uie);
                if (repResult != null)
                {
                    IntRet = int.Parse(repResult.ToString());
                }
                if (IntRet > 0)
                {
                    result = new ResultEntity <int>(true, ConstantDefine.TipSaveSuccess, IntRet);
                }
                else
                {
                    result = new ResultEntity <int>(ConstantDefine.TipSaveFail);
                }
            }
            catch (Exception ex)
            {
                Loger.LogErr(ex);
                result = new ResultEntity <int>(ex.Message);
            }
            return(result);
        }
示例#6
0
        public int Save(ProjectPhase ProjectPhase)
        {
            if (ProjectPhase.ProjectPhaseID == 0)
            {
                _context.ProjectPhases.Add(ProjectPhase);
            }
            else
            {
                int          _id      = ProjectPhase.ProjectPhaseID;
                ProjectPhase _dbEntry = _context.ProjectPhases.Find(_id);
                if (_dbEntry != null)
                {
                    _dbEntry.ProjectID = ProjectPhase.ProjectID;
                    _dbEntry.PhaseID   = ProjectPhase.PhaseID;

                    //DateTime _value = ProjectPhase.PlanCFinish == new DateTime(1, 1, 1) ? ProjectPhase.PlanFinish : ProjectPhase.PlanCFinish;

                    //if (_dbEntry.PlanFinish == new DateTime(1, 1, 1))
                    //{
                    //    _dbEntry.PlanFinish = _value;//ProjectPhase.PlanCFinish;
                    //}
                    //else
                    //{
                    //    _dbEntry.PlanCFinish = _value;//ProjectPhase.PlanCFinish;
                    //}
                    _dbEntry.PlanFinish   = ProjectPhase.PlanFinish;
                    _dbEntry.PlanCFinish  = ProjectPhase.PlanCFinish;
                    _dbEntry.ActualFinish = ProjectPhase.ActualFinish;
                    _dbEntry.MainChange   = ProjectPhase.MainChange;
                }
            }
            _context.SaveChanges();
            return(ProjectPhase.ProjectPhaseID);
        }
示例#7
0
    public void Initializing()
    {
        if (!projectController.ProjectIsNull)
        {
            SetTextPhase();
            SetTextStatus();
            if (projectController.HasDesigned)
            {
                SetTextDesignDocument();
            }

            ProjectPhase phase = projectController.ProjectPhase;
            if (phase == ProjectPhase.Decision || phase == ProjectPhase.Design)
            {
                SetTextLock(phase);
            }
            else
            {
                if (projectController.HasDesigned)
                {
                    SetTextDesignDocument();
                }
            }
        }
    }
示例#8
0
        public void FinishPhase(int ProjectID, int PhaseID)
        {
            ProjectPhase _phase = GetProjectPhase(ProjectID, PhaseID);

            _phase.ActualFinish = DateTime.Now;
            _context.SaveChanges();
        }
示例#9
0
        public IActionResult PostNewProjectPhase(NewProjectPhaseDto newPhase, [FromRoute] string orgId)
        {
            try
            {
                _unitOfWorkManager.StartUnitOfWork();
                ProjectPhase phase = _projectManager.AddProjectPhase(
                    newPhase.Title,
                    newPhase.Description,
                    newPhase.StartDate,
                    newPhase.EndDate,
                    newPhase.ProjectId);
                _unitOfWorkManager.EndUnitOfWork();

                return(CreatedAtAction(
                           "GetProjectPhase",
                           new { orgId, id = phase.ProjectPhaseId },
                           _mapper.Map <ProjectPhaseDto>(phase)));
            }
            catch (ValidationException ve)
            {
                return(UnprocessableEntity($"Invalid input data: {ve.ValidationResult.ErrorMessage}"));
            }
            catch (Exception e)
            {
                return(BadRequest($"Something went wrong in creating the project phase: {e.Message}."));
            }
        }
示例#10
0
        public void ModifyPhase(int ProjectPhaseID, DateTime ModifyDate)
        {
            ProjectPhase _projectPhase = _context.ProjectPhases.Find(ProjectPhaseID);

            _projectPhase.PlanCFinish = ModifyDate;
            _context.SaveChanges();
        }
示例#11
0
    private ProjectDialogue_Template CreateTemplate(string line)
    {
        ProjectPhase    _projectPhase = ProjectPhase.Decision;
        string          _npcId        = string.Empty;
        List <Dialogue> _dialogues    = new List <Dialogue>();

        string[] entries = line.Split(',');
        for (int i = 0; i < entries.Length; i++)
        {
            string entry = entries[i];
            switch (entry)
            {
            case INST_SET_Id:
                _projectPhase = ConvertType.ConvertStringToProjectPhase(entries[++i]);
                break;

            case INST_SET_Npc:
                _npcId = entries[++i];
                break;

            case INST_SET_Dia:
                string text = entries[++i];
                Feel   feel = ConvertType.CheckFeel(entries[++i]);
                _dialogues.Add(new Dialogue(text, feel));
                break;
            }
        }

        return(new ProjectDialogue_Template(_projectPhase, _npcId, _dialogues));
    }
示例#12
0
        public ActionResult SaveProjectPhase(ProjectPhase entity)
        {
            ResponseEntity <int> response;

            if (entity.Id == 0)
            {
                entity.IsDelete   = 0;
                entity.CreateBy   = "";
                entity.CreateTime = DateTime.Now;
                entity.UpdateBy   = "";
                entity.UpdateTime = DateTime.Now;
                var result = new ProjectPhaseBLL().InsertProjectPhase(entity);

                response = new ResponseEntity <int>(result.Success, result.Message, result.Data);

                new LogBLL().LogEvent(CurrenUserInfo.LoginName, GDS.Entity.Constant.ConstantDefine.ModuleProject,
                                      GDS.Entity.Constant.ConstantDefine.TypeUpdate, GDS.Entity.Constant.ConstantDefine.ActionUpdateProjectPhase, $"{result.Data}");
            }
            else
            {
                entity.UpdateBy   = "";
                entity.UpdateTime = DateTime.Now;
                var result = new ProjectPhaseBLL().UpdateProjectPhase(entity);

                response = new ResponseEntity <int>(result.Success, result.Message, result.Data);

                new LogBLL().LogEvent(CurrenUserInfo.LoginName, GDS.Entity.Constant.ConstantDefine.ModuleProject,
                                      GDS.Entity.Constant.ConstantDefine.TypeUpdate, GDS.Entity.Constant.ConstantDefine.ActionUpdateProjectPhase, $"{entity.Id}");
            }

            return(Json(response, JsonRequestBehavior.AllowGet));
        }
示例#13
0
        public ActionResult Create([Bind(Include = "ID,Name,Description,ApprovalDate,Priority,Status,StartDate,EndDate,ActualStartDate,ActualEndDate,Progress,DocumentsLink,ProjectLeaderID,ProjectMethodID")] Project project)
        {
            if (ModelState.IsValid)
            {
                db.Projects.Add(project);
                db.SaveChanges();


                List <Phase> projectPhases = db.Phases.Where(m => m.ProjectMethodID == project.ProjectMethodID).ToList();

                foreach (var item in projectPhases)
                {
                    var pphase = new ProjectPhase
                    {
                        Name    = item.Name,
                        Project = project
                    };

                    db.ProjectPhases.Add(pphase);
                    db.SaveChanges();
                }
                return(RedirectToAction("Index"));
            }

            ViewBag.ProjectLeaderID = new SelectList(db.Persons, "ID", "Name", project.ProjectLeaderID);
            ViewBag.ProjectMethodID = new SelectList(db.ProjectMethods, "ID", "Method", project.ProjectMethodID);
            return(View(project));
        }
示例#14
0
        public ActionResult DeleteConfirmed(int id)
        {
            ProjectPhase projectPhase = db.ProjectPhases.Find(id);

            db.ProjectPhases.Remove(projectPhase);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#15
0
 // POST api/<controller>
 public IHttpActionResult Post([FromBody] ProjectPhase model)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest(ModelState));
     }
     repo.Create(model);
     return(Ok());
 }
示例#16
0
    private Grade CalScore(bool[] enterClass, float[] progress, int[] score, ProjectPhase projectPhase)
    {
        Grade grade = Grade.F;

        float sumProgress = 0;

        for (int i = 0; i < progress.Length; i++)
        {
            sumProgress += progress[i];
        }
        float avgProgress = sumProgress / progress.Length;

        float totalScore = score[score.Length - 1];

        int countEnterClass = 0;

        for (int j = 0; j < enterClass.Length; j++)
        {
            if (enterClass[j])
            {
                countEnterClass++;
            }
        }

        if (countEnterClass <= 3)
        {
            grade = Grade.F;
        }
        else
        {
            totalScore = totalScore * avgProgress;
            if (totalScore > INST_A)
            {
                grade = Grade.A;
            }
            else if (totalScore > INST_B)
            {
                grade = Grade.B;
            }
            else if (totalScore > INST_C)
            {
                grade = Grade.C;
            }
            else if (totalScore > INST_D)
            {
                grade = Grade.D;
            }
            else
            {
                grade = Grade.F;
            }
        }

        return(grade);
    }
示例#17
0
        // ProjektPhasen Werte setzen
        public void SetPhaseValues()
        {
            ProjectPhase convertToProjectPhase = new ProjectPhase(selectedVProjectPhasePhase.Id, selectedVProjectPhasePhase.PhaseState, selectedVProjectPhasePhase.PhaseProgress, selectedVProjectPhasePhase.PlannedStartdate, selectedVProjectPhasePhase.PlannedEnddate, selectedVProjectPhasePhase.Startdate, selectedVProjectPhasePhase.Enddate, selectedVProjectPhasePhase.ApprovalDate, selectedVProjectPhasePhase.Visum, selectedVProjectPhasePhase.PlannedReviewdate, selectedVProjectPhasePhase.Reviewdate, selectedVProjectPhasePhase.PhaseDocumentsLink, selectedVProjectPhasePhase.ProjectId, selectedVProjectPhasePhase.PhaseId);

            selectedProjectPhase = convertToProjectPhase;

            datepickPlannedStartdate  = selectedProjectPhase.PlannedStartdate;
            datepickPlannedEnddate    = selectedProjectPhase.PlannedEnddate;
            datepickPlannedReviewdate = selectedProjectPhase.PlannedReviewdate;
            txtPhaseDocumentsLink     = selectedProjectPhase.PhaseDocumentsLink;
        }
示例#18
0
 private void SetTextLock(ProjectPhase phase)
 {
     if (phase == ProjectPhase.Decision)
     {
         lockMessageTMP.text = INST_Phase_Decision_Message;
     }
     else
     {
         lockMessageTMP.text = INST_Phase_Design_Message;
     }
 }
示例#19
0
        public ActionResult Create([Bind(Include = "ID,Name,StartDate,EndDate,ActualStartDate,ActualEndDate,ReviewDate,ActualReviewDate,Status,Progress,ReleaseDate,Visum")] ProjectPhase projectPhase)
        {
            if (ModelState.IsValid)
            {
                db.ProjectPhases.Add(projectPhase);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(projectPhase));
        }
 private bool PhaseFinish(ProjectPhase Phase)
 {
     if (Phase.ActualFinish.ToString("yyyy-MM-dd") == "0001-01-01")
     {
         return(false);
     }
     else
     {
         return(true);
     }
 }
示例#21
0
        public ActionResult Edit([Bind(Include = "ID,Name,StartDate,EndDate,ActualStartDate,ActualEndDate,ReviewDate,ActualReviewDate,Status,Progress,ReleaseDate,Visum,ProjectID")] ProjectPhase projectPhase)
        {
            if (ModelState.IsValid)
            {
                db.Entry(projectPhase).State = EntityState.Modified;
                db.SaveChanges();

                return(RedirectToAction("Details/" + projectPhase.ProjectID, "Projects"));
            }

            return(View());
        }
        // POST: odata/ProjectPhases
        public IHttpActionResult Post(ProjectPhase projectPhase)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.ProjectPhases.Add(projectPhase);
            db.SaveChanges();

            return(Created(projectPhase));
        }
        public ProjectPhase UpdateProjectPhase(ProjectPhase projectPhase)
        {
            var entryToUpdate = ReadProjectPhase(projectPhase.ProjectPhaseId);

            if (entryToUpdate == null)
            {
                throw new ArgumentException("Project phase to update not found.");
            }
            _ctx.Entry(entryToUpdate).CurrentValues.SetValues(projectPhase);
            _ctx.SaveChanges();

            return(ReadProjectPhase(projectPhase.ProjectPhaseId));
        }
示例#24
0
        // GET: ProjectPhases/Delete/5
        public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProjectPhase projectPhase = db.ProjectPhases.Find(id);

            if (projectPhase == null)
            {
                return(HttpNotFound());
            }
            return(View(projectPhase));
        }
        // DELETE: odata/ProjectPhases(5)
        public IHttpActionResult Delete([FromODataUri] int key)
        {
            ProjectPhase projectPhase = db.ProjectPhases.Find(key);

            if (projectPhase == null)
            {
                return(NotFound());
            }

            db.ProjectPhases.Remove(projectPhase);
            db.SaveChanges();

            return(StatusCode(HttpStatusCode.NoContent));
        }
示例#26
0
 public async void Create(ProjectPhase ProjectPhase)
 {
     try
     {
         using (Context)
         {
             Context.ProjectPhase.Add(ProjectPhase);
             await Context.SaveChangesAsync();
         }
     }
     catch (Exception ex)
     {
         Console.Write(ex);
     }
 }
示例#27
0
        // GET: ProjectPhases/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            ProjectPhase projectPhase = db.ProjectPhases.Find(id);

            if (projectPhase == null)
            {
                return(HttpNotFound());
            }
            ViewBag.ProjectId = projectPhase.Project.ID;
            return(View(projectPhase));
        }
示例#28
0
    private void Start()
    {
        bool[]       enterClass   = projectController.GetEnterClass;
        float[]      progress     = projectController.GetProgress;
        int[]        score        = projectController.GetScore;
        ProjectPhase projectPhase = projectController.ProjectPhase;

        this.score = CalScore(enterClass, progress, score, projectPhase);
        EndGameTemplate endGameTemplate = endGameDialoguesController.EndGameDialogueDic[this.score];

        _dialogues    = endGameTemplate.Dialogues;
        _bg           = endGameTemplate.Image;
        countDialogue = 0;
        _image.sprite = _bg;
        Next();
    }
        public Domain.Ideation.Ideation AddIdeation(string title, int projectPhaseId)
        {
            ProjectPhase phase = _projectManager.GetProjectPhase(projectPhaseId);

            if (phase == null)
            {
                throw new ArgumentException("Project phase not found.");
            }

            Domain.Ideation.Ideation ideation = new Domain.Ideation.Ideation()
            {
                Title        = title,
                ProjectPhase = phase
            };

            return(AddIdeation(ideation));
        }
示例#30
0
        // PUT api/<controller>/5
        public IHttpActionResult Put(int id, [FromBody] ProjectPhase model)
        {
            if (!ModelState.IsValid || id != model.IdProjectPhase)
            {
                return(BadRequest(ModelState));
            }

            if (repo.FindbyId(id) == null)
            {
                return(NotFound());
            }
            else
            {
                repo.Update(model);
                return(Ok());
            }
        }