Esempio n. 1
0
        private void StartWorkflow(TakeDocModel.Document document, TakeDocModel.UserTk user, Guid entityId, bool checkValue)
        {
            bool ok = true;

            if (checkValue)
            {
                TakeDocModel.Version version = servVersion.GetById(document.DocumentCurrentVersionId.Value, x => x.MetaData);
                ok = servMeta.BeProven(document, version.MetaData);
                // here, all metadata are ok, so document is complete
                servStatus.SetStatus(document, TakeDocModel.Status_Document.Complete, user.UserTkId, true);
            }
            if (ok)
            {
                using (TransactionScope transaction = new TransactionScope())
                {
                    //***********************************
                    // update status of document
                    //***********************************
                    TakeDocModel.WorkflowType validation = document.Type_Document.WorkflowType;

                    TakeDocService.Workflow.Document.Interface.IValidation wfValidation = null;
                    if (validation.WorkflowTypeReference == "AUTO")
                    {
                        wfValidation = new TakeDocService.Workflow.Document.ValidationAuto();
                        wfValidation.Execute(document, user);
                    }
                    else if (validation.WorkflowTypeReference == "NO")
                    {
                        wfValidation = new TakeDocService.Workflow.Document.ValidationNo();
                        wfValidation.Execute(document, user);
                    }
                    else if (validation.WorkflowTypeReference == "MANAGER")
                    {
                        wfValidation = new TakeDocService.Workflow.Document.ValidationManager();
                        wfValidation.Execute(document, user);
                    }
                    else if (validation.WorkflowTypeReference == "BACKOFFICE")
                    {
                        wfValidation = new TakeDocService.Workflow.Document.ValidationBackOffice();
                        wfValidation.Execute(document, user);
                    }
                    else if (validation.WorkflowTypeReference == "MANAGER-BACKOFFICE")
                    {
                        wfValidation = new TakeDocService.Workflow.Document.ValidationManagerBackOffice();
                        wfValidation.Execute(document, user);
                    }

                    //***********************************
                    // end update status of document
                    //***********************************

                    transaction.Complete();
                }
            }
        }
Esempio n. 2
0
 public object GetStatusHistory(Guid documentId, Guid entityId)
 {
     TakeDocService.Workflow.Document.ValidationAuto servValidate = new TakeDocService.Workflow.Document.ValidationAuto();
     try
     {
         ICollection <object> histos = servValidate.GetStatusHistory(documentId, entityId);
         var req = new { value = histos };
         return(Request.CreateResponse(req));
     }
     catch (Exception ex)
     {
         return(Request.CreateResponse(HttpStatusCode.InternalServerError, ex.Message));
     }
 }