Esempio n. 1
0
        public IHttpActionResult DoInvoiceWorkflowAction(InvoicesApprovalWorkflow workflow)
        {
            if (workflow == null)
            {
                return(BadRequest("workflow object must be passed in the request body"));
            }
            try
            {
                var wfProcessor = new InvoiceWorkflowProcessor();
                var dbWorkflow  = wfProcessor.ChangeWorkflowStageAction(workflow.Id, (int)workflow.Status, workflow.Remarks, User.FullName);

                var currentStageOrderNumber = workflowService.
                                              GetWorkflowStage(dbWorkflow.StageId).
                                              StageOrderNumber;

                var nextStageSerialNumber = currentStageOrderNumber + 1;
                var nextStage             = workflowService.GetWorkflowStages().SingleOrDefault(w => w.StageOrderNumber == nextStageSerialNumber);

                if (nextStage != null)
                {
                    var nextPaymentWorkflow = new InvoicesApprovalWorkflow()
                    {
                        CreatedBy       = User.UserId,
                        CreatedDate     = DateTime.Now,
                        IsActive        = true,
                        InvoiceId       = dbWorkflow.InvoiceId,
                        ProcessedDate   = null,
                        StageId         = nextStage.StageId,
                        Status          = (int)WorkflowLevelStatus.Forwarded,
                        Remarks         = null,
                        IsFinished      = false,
                        ReferenceNumber = "",
                        SequentialId    = nextStageSerialNumber
                    };
                    wfProcessor.ForwardNextStage(nextPaymentWorkflow, nextStage);
                }
                else
                {
                    var taskId = invoicesService.GetInvoice(workflow.InvoiceId).MilestoneId;
                    TasksHandler.Finish(taskId);
                }

                var workflows = invoicesService.GetUserInvoiceWorkflow(User.UserId).Where(l => l.InvoiceId == dbWorkflow.InvoiceId);
                var html      = Helpers.RenderPartial("~/Views/Shared/Partial/Invoices/InvoiceWorkflowList.cshtml", workflows);
                return(Ok(html));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
 public void FinishTaskPercentage(int taskId)
 {
     TasksHandler.Finish(taskId);
 }
Esempio n. 3
0
        public Task <bool> Delete(int id)
        {
            var taskHandler = new TasksHandler(_repository);

            return(Task.Run(() => taskHandler.Delete(id)));
        }
Esempio n. 4
0
        public Task <Models.Task> Put(Models.Task task)
        {
            var taskHandler = new TasksHandler(_repository);

            return(Task.Run(() => taskHandler.Update(task)));
        }
Esempio n. 5
0
        public Task <IEnumerable <Models.Task> > Get(int userId)
        {
            var taskHandler = new TasksHandler(_repository);

            return(Task.Run(() => taskHandler.GET(userId)));
        }
 public void UpdateInvoiceTaskActualStartDate(int milestoneId)
 {
     TasksHandler.UpdateTaskActualStartDate(milestoneId);
 }
Esempio n. 7
0
 public void UpdateJobTaskActualStartDate(int taskId)
 {
     TasksHandler.UpdateTaskActualStartDate(taskId);
 }
Esempio n. 8
0
        public static void updatePlayerInfo()
        {
            foreach (PlayerControl p in PlayerControl.AllPlayerControls)
            {
                if (p != PlayerControl.LocalPlayer && !PlayerControl.LocalPlayer.Data.IsDead)
                {
                    continue;
                }

                Transform         playerInfoTransform = p.transform.FindChild("Info");
                TMPro.TextMeshPro playerInfo          = playerInfoTransform != null?playerInfoTransform.GetComponent <TMPro.TextMeshPro>() : null;

                if (playerInfo == null)
                {
                    playerInfo = UnityEngine.Object.Instantiate(p.nameText, p.nameText.transform.parent);
                    playerInfo.transform.localPosition += Vector3.up * 0.25f;
                    playerInfo.fontSize       *= 0.75f;
                    playerInfo.gameObject.name = "Info";
                }

                PlayerVoteArea playerVoteArea       = MeetingHud.Instance?.playerStates?.FirstOrDefault(x => x.TargetPlayerId == p.PlayerId);
                Transform      meetingInfoTransform = playerVoteArea != null?playerVoteArea.transform.FindChild("Info") : null;

                TMPro.TextMeshPro meetingInfo = meetingInfoTransform != null?meetingInfoTransform.GetComponent <TMPro.TextMeshPro>() : null;

                if (meetingInfo == null && playerVoteArea != null)
                {
                    meetingInfo = UnityEngine.Object.Instantiate(playerVoteArea.NameText, playerVoteArea.NameText.transform.parent);
                    meetingInfo.transform.localPosition += Vector3.down * (MeetingHud.Instance.playerStates.Length > 10 ? 0.4f : 0.25f);
                    meetingInfo.fontSize       *= 0.75f;
                    meetingInfo.gameObject.name = "Info";
                }

                var(tasksCompleted, tasksTotal) = TasksHandler.taskInfo(p.Data);
                string roleNames = String.Join(", ", RoleInfo.getRoleInfoForPlayer(p).Select(x => Helpers.cs(x.color, x.name)).ToArray());
                string taskInfo  = tasksTotal > 0 ? $"<color=#00FF00>({tasksCompleted}/{tasksTotal})</color>" : "";

                string info = "";
                if (p == PlayerControl.LocalPlayer)
                {
                    info = $" ";
                    if (DestroyableSingleton <TaskPanelBehaviour> .InstanceExists)
                    {
                        TMPro.TextMeshPro tabText = DestroyableSingleton <TaskPanelBehaviour> .Instance.tab.transform.FindChild("TabText_TMP").GetComponent <TMPro.TextMeshPro>();

                        tabText.SetText($"Tasks {taskInfo}");
                    }
                }
                else if (MapOptions.ghostsSeeTasksandRoles)
                {
                    info = $"{roleNames} {taskInfo}".Trim();
                }

                playerInfo.text = info;
                playerInfo.gameObject.SetActive(p.Visible);
                if (meetingInfo != null)
                {
                    meetingInfo.text = MeetingHud.Instance.state == MeetingHud.VoteStates.Results ? "" : info;
                }
            }
        }