Example #1
0
 public ParsingError(int beginLine, int beginColumn, int endLine, int endColumn,
                     string message, CodeSource codeSource, WorkflowStage stage, bool isWarning = false)
     : this(new LineColumnTextSpan(beginLine, beginColumn, endLine, endColumn, codeSource).GetTextSpan(), message, stage, isWarning)
 {
     Message       = message;
     WorkflowStage = stage;
 }
Example #2
0
 public ParsingError(TextSpan textSpan, string message, WorkflowStage stage, bool isWarning = false)
 {
     TextSpan      = textSpan;
     Message       = message;
     WorkflowStage = stage;
     IsWarning     = isWarning;
 }
Example #3
0
        public override Task OnPrepareWriteAsync(Workflow resource, OperationKind operationKind, CancellationToken cancellationToken)
        {
            if (operationKind == OperationKind.UpdateResource)
            {
                _previousStage = resource.Stage;
            }

            return(Task.CompletedTask);
        }
Example #4
0
        private QuestionAnswers GetQuestionAnswersForStage(WorkflowStage workflowStage, Assessment assessment)
        {
            var questionAnswers = _queryDispatcher.Dispatch <QuestionAnswersByWorkflowStageIdQuery, QuestionAnswers>(
                new QuestionAnswersByWorkflowStageIdQuery {
                WorkflowStageId = workflowStage.WorkflowStageId, AssessmentId = assessment.AssessmentId
            });

            return(questionAnswers);
        }
Example #5
0
        private static bool CanTransitionToStage(WorkflowStage fromStage, WorkflowStage toStage)
        {
            if (StageTransitionTable.ContainsKey(fromStage))
            {
                ICollection <WorkflowStage> possibleNextStages = StageTransitionTable[fromStage];
                return(possibleNextStages.Contains(toStage));
            }

            return(false);
        }
Example #6
0
        public static string GetDescription(this WorkflowStage e)
        {
            var enumType            = typeof(WorkflowStage);
            var memberInfos         = enumType.GetMember(e.ToString());
            var enumValueMemberInfo = memberInfos.FirstOrDefault(m => m.DeclaringType == enumType);
            var valueAttributes     = enumValueMemberInfo.GetCustomAttributes(typeof(DescriptionAttribute), false);
            var description         = ((DescriptionAttribute)valueAttributes[0]).Description;

            return(description);
        }
Example #7
0
 private static void AssertCanTransitionToStage(WorkflowStage fromStage, WorkflowStage toStage)
 {
     if (!CanTransitionToStage(fromStage, toStage))
     {
         throw new JsonApiException(new Error(HttpStatusCode.UnprocessableEntity)
         {
             Title  = "Invalid workflow stage.",
             Detail = $"Cannot transition from '{fromStage}' to '{toStage}'.",
             Source =
             {
                 Pointer = "/data/attributes/stage"
             }
         });
     }
 }
        public IHttpActionResult PostWorkflowStage(WorkflowStage workflowStage)
        {
            if (workflowStage == null)
            {
                return(BadRequest("workflow stage connot be found in the request body"));
            }

            try
            {
                var allStages = workflowService.GetWorkflowStages().OrderByDescending(lv => lv.StageId).ToList();

                int lastStage = 1;
                if (workflowStage.StageOrderNumber > 1)
                {
                    lastStage = workflowStage.StageOrderNumber;
                    var topStages = allStages.Where(s => s.StageOrderNumber >= workflowStage.StageOrderNumber);
                    foreach (var topStage in topStages)
                    {
                        var stage = workflowService.GetWorkflowStageByStageOrderNumber(topStage.StageOrderNumber);
                        stage.StageOrderNumber = stage.StageOrderNumber + 1;
                        workflowService.UpdateWorkflowStage(stage);
                    }
                }
                else
                {
                    if (allStages.Any())
                    {
                        lastStage = allStages.FirstOrDefault().StageOrderNumber + 1;
                    }
                }

                workflowStage.CreatedDate             = DateTime.Now;
                workflowStage.ReferenceNumberRequired = true;
                workflowStage.TrackingEntity          = "1";
                workflowStage.TrackingOwner           = "1";
                workflowStage.StageOrderNumber        = lastStage;
                workflowService.CreateWorkflowStage(workflowStage);

                allStages = workflowService.GetWorkflowStages().OrderByDescending(lv => lv.StageOrderNumber).ToList();

                var partialView = Helpers.RenderPartial("~/Views/Shared/Partial/Workflow/WorkflowStages.cshtml", allStages);
                return(Ok(partialView));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
        public IHttpActionResult PutWorkflowStage(WorkflowStage workflowStage)
        {
            if (workflowStage == null)
            {
                return(BadRequest("workflow stage connot be found in the request body"));
            }

            try
            {
                var currentStage = workflowService.GetWorkflowStage(workflowStage.StageId);
                currentStage.StageName = workflowStage.StageName;
                currentStage.RoleId    = workflowStage.RoleId;

                workflowService.UpdateWorkflowStage(currentStage);
                var allStages   = workflowService.GetWorkflowStages().OrderByDescending(lv => lv.StageOrderNumber).ToList();
                var partialView = Helpers.RenderPartial("~/Views/Shared/Partial/Workflow/WorkflowStages.cshtml", allStages);
                return(Ok(partialView));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Example #10
0
        public WorkflowStage CreateWorkflowStage(WorkflowStage stage)
        {
            var workflowStage = workflowStagesRepository.Insert(stage.AutoMapObject <WorkflowStage, DB.WorkflowStage>());

            return(workflowStage.AutoMapObject <DB.WorkflowStage, WorkflowStage>());
        }
Example #11
0
 public void Update(WorkflowStage WorkflowStage)
 {
     throw new NotImplementedException();
 }
Example #12
0
 public ParsingError(int line, int column, string message, CodeSource codeSource, WorkflowStage stage)
     : this(new LineColumnTextSpan(line, column, codeSource).GetTextSpan(), message, stage)
 {
     Message       = message;
     WorkflowStage = stage;
 }
Example #13
0
 public ParsingError(string message, CodeSource codeSource, WorkflowStage stage)
     : this(1, 1, message, codeSource, stage)
 {
 }
Example #14
0
 public ParsingError(string message, CodeSource codeSource, WorkflowStage stage, bool isWarning = false)
     : this(1, 1, message, codeSource, stage, isWarning)
 {
 }
Example #15
0
 private bool HasInitialWorkflowQuestion(WorkflowStage workflowStage)
 {
     return(workflowStage.InitialWorkflowQuestionId.HasValue);
 }
Example #16
0
        /// <summary>
        /// حذف از پایگاه داده
        /// </summary>
        /// <param name="workflowStageID">شناسه مرحله گردش کار</param>
        public void Delete(WorkflowStage workflowStageID)
        {
            var result = _RASContext.WorkflowStages.Find(workflowStageID);

            _RASContext.WorkflowStages.Remove(result);
        }
Example #17
0
 /// <summary>
 /// اضافه کردن مرحله گردش کار جدید به پایگاه داده
 /// </summary>
 /// <param name="workflowStage">موجودیت مرتبط با مرحله گردش کار جدید</param>
 public void Add(WorkflowStage workflowStage)
 {
     _RASContext.WorkflowStages.Add(workflowStage);
 }
Example #18
0
 public ParsingError(TextSpan textSpan, string message, WorkflowStage stage)
 {
     TextSpan      = textSpan;
     Message       = message;
     WorkflowStage = stage;
 }
Example #19
0
 /// <summary>
 /// بروزرسانی مرحله گردش کار
 /// </summary>
 /// <param name="workflowStage">موجودیت مرتبط با مرحله گردش کار</param>
 public void Edit(WorkflowStage workflowStage)
 {
     throw new NotImplementedException();
 }
Example #20
0
        public void UpdateWorkflowStage(WorkflowStage stage)
        {
            var original = workflowStagesRepository.GetById(s => s.StageId == stage.StageId);

            workflowStagesRepository.Update(original, stage.AutoMapObject <WorkflowStage, DB.WorkflowStage>());
        }
Example #21
0
 /// <summary>
 /// بدست آوردن مرحله بعدی گردش کار
 /// </summary>
 /// <param name="workflowStage">مرحله گردش کار</param>
 /// <returns>مرحله گردش کاری که در بررسی پایگاه داده بدست می آید.</returns>
 public WorkflowStage GetNext(WorkflowStage workflowStage)
 {
     return(_RASContext.WorkflowStages.FirstOrDefault(ws => ws.Order.Equals(workflowStage.Order + 1)));
 }
Example #22
0
 public ParsingError(Exception ex, WorkflowStage stage)
 {
     TextSpan      = TextSpan.Empty;
     Message       = ex.ToString();
     WorkflowStage = stage;
 }