Ejemplo n.º 1
0
        protected void PersistProcessStatus(ChainRequest request)
        {
            ProcessSnapShot mysh = new ProcessSnapShot(request.ProcessTypeId, request.ProcessInstanceId);

            try
            {
                Newtonsoft.Json.JsonSerializerSettings x = new Newtonsoft.Json.JsonSerializerSettings();
                x.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
                mysh.jsonContext        = Newtonsoft.Json.JsonConvert.SerializeObject(request, Newtonsoft.Json.Formatting.None, x);

                mysh.CurrentStep = request.CurrentStepIndex;
                CloudStorageAccount storageAccount  = CloudStorageAccount.Parse(request.ProcessConfigConn);
                CloudTableClient    tableClient     = storageAccount.CreateCloudTableClient();
                CloudTable          table           = tableClient.GetTableReference(Configuration.ButlerWorkflowStatus);
                TableOperation      insertOperation = TableOperation.InsertOrReplace(mysh);
                table.CreateIfNotExists();
                table.Execute(insertOperation);
            }
            catch (Exception X)
            {
                string txtMessage = string.Format("[{0}] Persist Process Status Error at process {1} instance {2}: error messagase  {3}", this.GetType().FullName, request.ProcessInstanceId, request.ProcessTypeId, X.Message);
                Trace.TraceError(txtMessage);
                throw new Exception(txtMessage);
            }
        }
Ejemplo n.º 2
0
        protected void FinishProccessStatus(ChainRequest request)
        {
            ProcessSnapShot mysh = new ProcessSnapShot(request.ProcessTypeId, request.ProcessInstanceId);

            mysh.ETag = "*";
            CloudStorageAccount storageAccount  = CloudStorageAccount.Parse(request.ProcessConfigConn);
            CloudTableClient    tableClient     = storageAccount.CreateCloudTableClient();
            CloudTable          table           = tableClient.GetTableReference(Configuration.ButlerWorkflowStatus);
            TableOperation      insertOperation = TableOperation.Delete(mysh);

            table.Execute(insertOperation);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Check if keep or delete Status on Table
        /// Base on Configuration
        /// </summary>
        /// <param name="request"></param>
        protected void FinishProccessStatus(ChainRequest request)
        {
            string        jsonData = MediaButler.Common.Configuration.GetConfigurationValue("roleconfig", "MediaButler.Workflow.ButlerWorkFlowManagerWorkerRole", request.ProcessConfigConn);
            IjsonKeyValue x        = new jsonKeyValue(jsonData);

            if ((string.IsNullOrEmpty(x.Read(Configuration.keepStatusProcess))) || (x.Read(Configuration.keepStatusProcess) == "0"))
            {
                //Delete track, process finish
                ProcessSnapShot mysh = new ProcessSnapShot(request.ProcessTypeId, request.ProcessInstanceId);
                mysh.ETag = "*";
                CloudStorageAccount storageAccount  = CloudStorageAccount.Parse(request.ProcessConfigConn);
                CloudTableClient    tableClient     = storageAccount.CreateCloudTableClient();
                CloudTable          table           = tableClient.GetTableReference(Configuration.ButlerWorkflowStatus);
                TableOperation      insertOperation = TableOperation.Delete(mysh);
                table.Execute(insertOperation);
            }
        }
Ejemplo n.º 4
0
        protected void PersistProcessStatus(ChainRequest request)
        {
            ProcessSnapShot mysh = new ProcessSnapShot(request.ProcessTypeId, request.ProcessInstanceId);
            try
            {
                Newtonsoft.Json.JsonSerializerSettings x= new Newtonsoft.Json.JsonSerializerSettings();
                x.ReferenceLoopHandling=Newtonsoft.Json.ReferenceLoopHandling.Ignore;
                mysh.jsonContext = Newtonsoft.Json.JsonConvert.SerializeObject(request,Newtonsoft.Json.Formatting.None,x);

                mysh.CurrentStep = request.CurrentStepIndex;
                CloudStorageAccount storageAccount = CloudStorageAccount.Parse(request.ProcessConfigConn);
                CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
                CloudTable table = tableClient.GetTableReference(Configuration.ButlerWorkflowStatus);
                TableOperation insertOperation = TableOperation.InsertOrReplace(mysh);
                table.CreateIfNotExists();
                table.Execute(insertOperation);
            }
            catch (Exception X)
            {
                string txtMessage = string.Format("[{0}] Persist Process Status Error at process {1} instance {2}: error messagase  {3}", this.GetType().FullName, request.ProcessInstanceId, request.ProcessTypeId, X.Message);
                Trace.TraceError(txtMessage);
                throw new Exception(txtMessage);
            }
        }
Ejemplo n.º 5
0
 protected void FinishProccessStatus(ChainRequest request)
 {
     ProcessSnapShot mysh = new ProcessSnapShot(request.ProcessTypeId, request.ProcessInstanceId);
     mysh.ETag = "*";
     CloudStorageAccount storageAccount = CloudStorageAccount.Parse(request.ProcessConfigConn);
     CloudTableClient tableClient = storageAccount.CreateCloudTableClient();
     CloudTable table = tableClient.GetTableReference(Configuration.ButlerWorkflowStatus);
     TableOperation insertOperation = TableOperation.Delete(mysh);
     table.Execute(insertOperation);
 }