WorkFlowProcessMessage ITransition.Execute(dynamic obj)
        {
            var objWorkFlowProcessMessage = new WorkFlowProcessMessage {
                Success = true
            };

            return(objWorkFlowProcessMessage);
        }
        // WorkFlowProcessMessage IOperation.PreProcess(dynamic obj)
        // {
        //     var workFlowProcessProperties = (WorkFlowProcessProperties) obj[0];
        //   //  var extraInfo = (ObjectWrapper) obj[1];
        //     var objWorkFlowProcessMessage = new WorkFlowProcessMessage();
        //     objWorkFlowProcessMessage.Success = true;

        //     return objWorkFlowProcessMessage;
        // }

        // WorkFlowProcessMessage IOperation.PostProcess(dynamic obj)
        // {
        //     var objWorkFlowProcessMessage = new WorkFlowProcessMessage {Success = true};

        //     //throw new CustomWorkflowException<WorkFlowMessage>(WorkFlowMessage.NoOperation);
        //     return objWorkFlowProcessMessage;
        // }

        // WorkFlowProcessMessage IOperation.OnCompleteProcess(dynamic obj)
        // {
        //     var objWorkFlowProcessMessage = new WorkFlowProcessMessage {Success = true};

        //     //throw new CustomWorkflowException<WorkFlowMessage>(WorkFlowMessage.NoOperation);
        //     return objWorkFlowProcessMessage;
        // }

        WorkFlowProcessMessage IOperation.Execute(dynamic obj)
        {
            var objWorkFlowProcessMessage = new WorkFlowProcessMessage {
                Success = true
            };

            //throw new CustomWorkflowException<WorkFlowMessage>(WorkFlowMessage.NoOperation);
            return(objWorkFlowProcessMessage);
        }
Example #3
0
        WorkFlowProcessMessage IOperation.Execute(dynamic obj)
        {
            IMetadataManager    iMetadataManager = new MetadataManager.Contracts.MetadataManager();
            IEntityQueryManager _queryManager    = new EntityQueryManager();
            // IEntityResourceManager _iEntityResourceManager = new VPC.Framework.Business.EntityResourceManager.Contracts.EntityResourceManager();
            var objWorkFlowProcessMessage = new WorkFlowProcessMessage();

            try
            {
                objWorkFlowProcessMessage = new WorkFlowProcessMessage {
                    Success = true
                };
                var workFlowProcessProperties = (WorkFlowProcessProperties)obj[0];
                var jObject  = (JObject)obj[1];
                var tenantId = (Guid)obj[2];

                var queryFilter1 = new List <QueryFilter> ();
                queryFilter1.Add(new QueryFilter {
                    FieldName = "TenantId", Operator = "Equal", Value = tenantId.ToString()
                });
                queryFilter1.Add(new QueryFilter {
                    FieldName = "ProductId", Operator = "Equal", Value = workFlowProcessProperties.resultId.ToString()
                });
                var queryContext1 = new QueryContext {
                    Fields = "VersionNo", Filters = queryFilter1, PageSize = 100, PageIndex = 1
                };
                DataTable productVersionDataTable = _queryManager.GetResult(tenantId, "productversion", queryContext1);



                var productVersionInfo = EntityMapper <ProductVersion> .Mapper(productVersionDataTable);

                var updateStatus = _queryManager.UpdateSpecificField(tenantId, "Product", workFlowProcessProperties.resultId, "ActiveVersion", productVersionInfo.InternalId.Value.ToString());

                //Update WorkFlowFirst step
                IOperationFlowEngine operationEngine = new OperationFlowEngine();
                var subTypeCode = iMetadataManager.GetSubTypeId("productversion", "standard");
                var properties  = new WorkFlowProcessProperties {
                    resultId = Guid.Parse(productVersionInfo.InternalId.Value), EntityName = "productversion", SubTypeCode = subTypeCode, UserId = workFlowProcessProperties.UserId, IsSuperAdmin = false
                };
                operationEngine.FirstOperation(tenantId, properties);
                return(objWorkFlowProcessMessage);
            }
            catch (System.Exception ex)
            {
                _log.Error("TenantEmailPostProcess  having exception message" + ex.Message);

                objWorkFlowProcessMessage.Success      = false;
                objWorkFlowProcessMessage.ErrorMessage = new ErrorMessage
                {
                    Code        = WorkFlowMessage.ApplicationError,
                    Description = ex.Message
                };
                return(objWorkFlowProcessMessage);
            }
        }
        WorkFlowResultMessage <WorkFlowProcessMessage> IOperationFlowEngine.PostProcess(Guid tenantId, OperationWapper operation, WorkFlowProcessProperties properties)
        {
            var arrayList = new ArrayList {
                properties, operation.Data, tenantId
            };
            var resM = new WorkFlowResultMessage <WorkFlowProcessMessage>();


            var itsOperationProcess = WorkFlowCommon(tenantId, properties.EntityName, properties.SubTypeCode, operation.OperationType);

            if (itsOperationProcess.Count > 0)
            {
                //get its all process task
                var allTasks            = _managerWorkFlowProcessTask.GetWorkFlowProcessTask(tenantId, itsOperationProcess[0].WorkFlowId);
                var itsPostProcessTasks = new List <WorkFlowProcessTaskInfo>();
                foreach (var itsOperationProc in itsOperationProcess)
                {
                    if (itsOperationProc.ProcessType == (int)WorkFlowProcessType.PostProcess)
                    {
                        itsPostProcessTasks = (from allProcessTask in allTasks
                                               where itsOperationProc.WorkFlowProcessId == allProcessTask.WorkFlowProcessId
                                               orderby allProcessTask.SequenceCode
                                               select allProcessTask).ToList();
                    }
                }

                foreach (var itsPostProcessTask in itsPostProcessTasks)
                {
                    WorkFlowProcessMessage processResult = _processWorkFlow.OperationProcess(itsPostProcessTask.ProcessCode, arrayList);
                    if (!processResult.Success)
                    {
                        throw new CustomWorkflowException <WorkFlowMessage>(processResult.ErrorMessage.Code);
                    }
                    resM.Result = processResult;
                }
            }


            var resultArrayList = new ArrayList {
                properties
            };

            if (resM.Result != null && resM.Result.Data != null)
            {
                resultArrayList.Add(resM.Result.Data);
            }

            return(resM);
        }
        WorkFlowProcessMessage IOperation.Execute(dynamic obj)
        {
            var objWorkFlowProcessMessage = new WorkFlowProcessMessage {
                Success = true
            };
            var  tenantId = (Guid)obj[2];
            Guid userId   = Guid.Parse(obj[0].resultId.ToString());

            //throw new CustomWorkflowException<WorkFlowMessage>(WorkFlowMessage.NoOperation);
            if (userId != Guid.Empty)
            {
                InitCredential(tenantId, userId);
            }
            return(objWorkFlowProcessMessage);
        }
        WorkFlowProcessMessage IOperation.Execute(dynamic obj)
        {
            IEntityQueryManager _queryManager    = new EntityQueryManager();
            IMetadataManager    iMetadataManager = new MetadataManager.Contracts.MetadataManager();
            var objWorkFlowProcessMessage        = new WorkFlowProcessMessage();

            try
            {
                objWorkFlowProcessMessage = new WorkFlowProcessMessage {
                    Success = true
                };
                var workFlowProcessProperties = (WorkFlowProcessProperties)obj[0];
                var jObject  = (JObject)obj[1];
                var tenantId = (Guid)obj[2];



                var userObj = jObject.Children().FirstOrDefault(t => t.Path.ToLower().Equals("user"));
                var details = userObj.First().ToObject <JObject> ();


                var userEntity = EntityMapper <VPC.Entities.EntityCore.Metadata.User> .MapperJObject(details);

                var tenantCode = _queryManager.GetSpecificIdByQuery(tenantId, "Tenant", tenantId, "Code");

                details.Add(new JProperty("TenantCode", tenantCode));
                var template  = _iEntityResourceManager.GetWellKnownTemplate(tenantId, "Emailtemplate", "User", (int)ContextTypeEnum.Welcome, details);
                var returnVal = DataUtility.SaveEmail(tenantId, workFlowProcessProperties.UserId, template, userEntity.UserCredential.Username.Value, "NewUserCredential", InfoType.User);
                return(objWorkFlowProcessMessage);
            }
            catch (System.Exception ex)
            {
                _log.Error("User_Email_Create_Post  having exception message" + ex.Message);

                objWorkFlowProcessMessage.Success      = false;
                objWorkFlowProcessMessage.ErrorMessage = new ErrorMessage
                {
                    Code        = WorkFlowMessage.ApplicationError,
                    Description = ex.Message
                };
                return(objWorkFlowProcessMessage);
            }
        }
        WorkFlowProcessMessage IWorkFlowProcess.OperationProcess(Guid?typeName, dynamic data)
        {
            try
            {
                WorkFlowProcessMessage result = null;
                var type = typeof(IOperation);

                var myType = WorkFlowHelper.GetOperationType(typeName.Value);

                if (myType != null)
                {
                    var        myObject      = Activator.CreateInstance(myType);
                    MethodInfo executeMethod = type.GetMethod("Execute");
                    result = (WorkFlowProcessMessage)executeMethod.Invoke(myObject, new object[] { data });
                    if (!result.Success)
                    {
                        if (result.WarningMessage != null)
                        {
                            throw new CustomWorkflowException <WorkFlowMessage>(result.WarningMessage.Code);
                        }
                        if (result.ErrorMessage != null)
                        {
                            throw new CustomWorkflowException <WorkFlowMessage>(result.ErrorMessage.Code);
                        }
                    }
                }
                return(result);
            }
            catch (CustomWorkflowException <WorkFlowMessage> )
            {
                throw;
            }

            catch (System.Exception ex)
            {
                if (ex.InnerException != null)
                {
                    throw ex.InnerException;
                }
                _log.Error("IWorkFlowProcess.OperationProcess with ProcessContext {0} having System.Exception message {1}", typeName, ex.Message);
                throw;
            }
        }
        WorkFlowProcessMessage IOperation.Execute(dynamic obj)
        {
            IInitilizeManager   _initilizeManager = new InitilizeManager();
            IEntityQueryManager queryManager      = new EntityQueryManager();
            IManagerTenantSubscriptionEntity _managerSubscriptionEntity = new ManagerTenantSubscriptionEntity();
            var objWorkFlowProcessMessage = new WorkFlowProcessMessage();

            try
            {
                objWorkFlowProcessMessage = new WorkFlowProcessMessage {
                    Success = true
                };
                var workFlowProcessProperties = (WorkFlowProcessProperties)obj[0];
                var tenantId = (Guid)obj[2];

                var subscriptionId = queryManager.GetSpecificIdByQuery(tenantId, workFlowProcessProperties.EntityName, workFlowProcessProperties.resultId, "TenantSubscription");
                if (subscriptionId != null)
                {
                    var subscriptionEntities = _managerSubscriptionEntity.TenantSubscriptionEntities(tenantId, new Guid(subscriptionId.ToString()));
                    if (subscriptionEntities.Any())
                    {
                        var entityIds = subscriptionEntities.Select(p => p.EntityId).ToList();
                        var status    = _initilizeManager.Initilize(workFlowProcessProperties.resultId, entityIds, workFlowProcessProperties.UserId, subscriptionId);
                    }
                }


                return(objWorkFlowProcessMessage);
            }
            catch (System.Exception ex)
            {
                _log.Error("TenantInitilization_PostProcess  having exception message" + ex.Message);

                objWorkFlowProcessMessage.Success      = false;
                objWorkFlowProcessMessage.ErrorMessage = new ErrorMessage
                {
                    Code        = WorkFlowMessage.ApplicationError,
                    Description = ex.Message
                };
                return(objWorkFlowProcessMessage);
            }
        }
        WorkFlowProcessMessage IOperation.Execute(dynamic obj)
        {
            var objWorkFlowProcessMessage = new WorkFlowProcessMessage();

            try{
                objWorkFlowProcessMessage = new WorkFlowProcessMessage {
                    Success = true
                };
                //  var workFlowProcessProperties = (WorkFlowProcessProperties) obj[0];
                //   var jObject =  (JObject) obj[1];
                //   var tenantId = (Guid) obj[2];
                //   var userEntity=EntityMapper<VPC.Entities.EntityCore.Metadata.User>.MapperJObject(jObject);


                //  var superAdminLoginInfo = new LoginInfo ();
                //         superAdminLoginInfo.TenantCode = tenantId.ToString ();
                //         superAdminLoginInfo.UserName = "******";
                //         superAdminLoginInfo.Password = "******";
                //         var sqlMemberShipProvider = new SqlMembershipProvider ();
                //         sqlMemberShipProvider.CreateCredential (tenantId,workFlowProcessProperties.resultId, superAdminLoginInfo);

                return(objWorkFlowProcessMessage);
            }
            catch (System.Exception ex)
            {
                _log.Error("User_Email_Create_Post  having exception message" + ex.Message);

                objWorkFlowProcessMessage.Success      = false;
                objWorkFlowProcessMessage.ErrorMessage = new ErrorMessage
                {
                    Code        = WorkFlowMessage.ApplicationError,
                    Description = ex.Message
                };
                return(objWorkFlowProcessMessage);
            }
        }