public void WorkflowResume(Mercury.Server.Application application, Int64 forWorkflowId, String assemblyUrl, String workflowClassName, Guid workflowInstanceId) { workflowId = forWorkflowId; assemblyReferencePath = assemblyUrl.Substring(0, assemblyUrl.LastIndexOf('\\') + 1); assemblyReferenceName = assemblyUrl.Replace(assemblyReferencePath, ""); AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve); if (!workflowRuntime.IsStarted) { workflowRuntime.StartRuntime(); } workflowInstance = workflowRuntime.GetWorkflow(workflowInstanceId); workflowResponse.WorkflowInstanceId = workflowInstance.InstanceId; workflowInstance.Resume(); return; }
public BooleanResponse LogOff(String token) { BooleanResponse response = new BooleanResponse(); CacheManager cacheManager = new CacheManager(); Mercury.Server.Application application = null; try { application = cacheManager.GetApplication(token); if (application == null) { throw cacheManager.LastException; } application.LogOff(); response.Result = true; } catch (Exception applicationException) { response.Result = false; response.SetException(applicationException); } return(response); }
public Boolean Save(Mercury.Server.Application application) { Boolean success = false; StringBuilder sqlStatement; try { application.EnvironmentDatabase.BeginTransaction(); sqlStatement = new StringBuilder(); sqlStatement.Append("EXEC dbo.MemberServiceDetailSet_InsertUpdate "); sqlStatement.Append(memberServiceId.ToString() + ", "); sqlStatement.Append(setDefinitionId.ToString() + ", "); sqlStatement.Append(detailMemberServiceId.ToString() + ", "); sqlStatement.Append(memberId.ToString() + ", "); sqlStatement.Append(parentServiceId.ToString() + ", "); sqlStatement.Append(serviceId.ToString() + ", "); sqlStatement.Append("'" + serviceName.Replace("'", "''") + "', "); sqlStatement.Append(((Int32)serviceType).ToString() + ", "); sqlStatement.Append("'" + eventDate.ToString("MM/dd/yyyy") + "'"); success = application.EnvironmentDatabase.ExecuteSqlStatement(sqlStatement.ToString()); if (!success) { application.SetLastException(application.EnvironmentDatabase.LastException); throw application.EnvironmentDatabase.LastException; } success = true; application.EnvironmentDatabase.CommitTransaction(); } catch (Exception applicationException) { application.EnvironmentDatabase.RollbackTransaction(); application.SetLastException(applicationException); } return(success); }
virtual public Boolean Delete(Mercury.Server.Application application) { Boolean success = false; try { success = application.EnvironmentDatabase.ExecuteSqlStatement("EXEC Condition_Delete " + id.ToString(), 0); } catch (Exception applicationException) { success = false; application.SetLastException(applicationException); } return(success); }
virtual public Boolean Save(Mercury.Server.Application application) { Boolean success = false; try { application.EnvironmentDatabase.BeginTransaction(); System.Data.IDbCommand sqlCommand = application.EnvironmentDatabase.CreateCommand("MemberAuthorizedServiceDetail_InsertUpdate"); sqlCommand.CommandType = System.Data.CommandType.StoredProcedure; application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@memberAuthorizedServiceId", memberAuthorizedServiceId); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@authorizedServiceDefinitionId", authorizedServiceDefinitionId); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@eventDate", eventDate); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@authorizationId", authorizationId); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@authorizationNumber", authorizationNumber, Server.Data.DataTypeConstants.UniqueId); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@externalAuthorizationId", externalAuthorizationId, Server.Data.DataTypeConstants.UniqueId); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@authorizationLine", authorizationLine); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@memberId", memberId); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@referringProviderId", referringProviderId); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@serviceProviderId", serviceProviderId); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@category", authorizationCategory, Server.Data.DataTypeConstants.TypeName); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@subcategory", authorizationSubcategory, Server.Data.DataTypeConstants.TypeName); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@serviceType", authorizationServiceType, Server.Data.DataTypeConstants.TypeName); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@status", authorizationStatus, Server.Data.DataTypeConstants.TypeName); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@receivedDate", receivedDate); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@referralDate", referralDate); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@effectiveDate", effectiveDate); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@terminationDate", terminationDate); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@serviceDate", serviceDate); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@principalDiagnosisCode", principalDiagnosisCode, Server.Data.DataTypeConstants.DiagnosisCode); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@principalDiagnosisVersion", principalDiagnosisVersion); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@diagnosisCode", diagnosisCode, Server.Data.DataTypeConstants.DiagnosisCode); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@diagnosisVersion", diagnosisVersion); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@revenueCode", revenueCode, Server.Data.DataTypeConstants.RevenueCode); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@procedureCode", procedureCode, Server.Data.DataTypeConstants.ProcedureCode); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@modifierCode", modifierCode, Server.Data.DataTypeConstants.ModifierCode); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@specialtyName", specialtyName, Server.Data.DataTypeConstants.Name); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@ndcCode", ndcCode, Server.Data.DataTypeConstants.NdcCode); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@description", description, Server.Data.DataTypeConstants.Name); // DO NOT EVALUATE THE NUMBER OF ROWS AFFECTED BECAUSE THE CHECK FOR DUPLICATES // IS HANDLED IN THE STORED PROCEDURE, AND THUS COULD RETURN 0 OR 1 sqlCommand.ExecuteNonQuery(); success = true; #region Old Method //sqlStatement = new StringBuilder (); //sqlStatement.Append ("EXEC dbo.MemberAuthorizedServiceDetail_InsertUpdate "); //sqlStatement.Append (memberAuthorizedServiceId.ToString () + ", "); //sqlStatement.Append (authorizedServiceDefinitionId.ToString () + ", "); //sqlStatement.Append ("'" + eventDate.ToString ("MM/dd/yyyy") + "', "); //sqlStatement.Append (authorizationId.ToString () + ", "); //sqlStatement.Append ("'" + authorizationNumber.Replace ("'", "''") + "', "); //sqlStatement.Append ("'" + externalAuthorizationId.Replace ("'", "''") + "', "); //sqlStatement.Append (authorizationLine.ToString () + ", "); //sqlStatement.Append (memberId.ToString () + ", "); //sqlStatement.Append (referringProviderId.ToString () + ", "); //sqlStatement.Append (serviceProviderId.ToString () + ", "); //sqlStatement.Append ("'" + authorizationCategory.Replace ("'", "''") + "', "); //sqlStatement.Append ("'" + authorizationSubcategory.Replace ("'", "''") + "', "); //sqlStatement.Append ("'" + authorizationServiceType.Replace ("'", "''") + "', "); //sqlStatement.Append ("'" + authorizationStatus + "', "); //if (receivedDate.HasValue) { sqlStatement.Append ("'" + receivedDate.Value.ToString ("MM/dd/yyyy") + "', "); } else { sqlStatement.Append ("NULL, "); } //if (referralDate.HasValue) { sqlStatement.Append ("'" + referralDate.Value.ToString ("MM/dd/yyyy") + "', "); } else { sqlStatement.Append ("NULL, "); } //sqlStatement.Append ("'" + effectiveDate.ToString ("MM/dd/yyyy") + "', "); //sqlStatement.Append ("'" + terminationDate.ToString ("MM/dd/yyyy") + "', "); //if (serviceDate.HasValue) { sqlStatement.Append ("'" + serviceDate.Value.ToString ("MM/dd/yyyy") + "', "); } else { sqlStatement.Append ("NULL, "); } //sqlStatement.Append ("'" + principalDiagnosisCode + "', "); //sqlStatement.Append (principalDiagnosisVersion.ToString () + ", "); //sqlStatement.Append ("'" + diagnosisCode + "', "); //sqlStatement.Append (diagnosisVersion.ToString () + ", "); //sqlStatement.Append ("'" + revenueCode + "', "); //sqlStatement.Append ("'" + procedureCode + "', "); //sqlStatement.Append ("'" + modifierCode + "',"); //sqlStatement.Append ("'" + specialtyName + "',"); //sqlStatement.Append ("'" + ndcCode + "', "); //sqlStatement.Append ("'" + description.Replace ("'", "''").Trim () + "' "); //success = application.EnvironmentDatabase.ExecuteSqlStatement (sqlStatement.ToString ()); #endregion if (!success) { application.SetLastException(application.EnvironmentDatabase.LastException); throw application.EnvironmentDatabase.LastException; } success = true; application.EnvironmentDatabase.CommitTransaction(); } catch (Exception applicationException) { application.EnvironmentDatabase.RollbackTransaction(); application.SetLastException(applicationException); } return(success); }
public Mercury.Server.Security.AuthenticationResponse Authenticate(Mercury.Server.Data.SqlConfiguration enterpriseConfiguration, String environment) { application = new Application(enterpriseConfiguration); return(Authenticate(environment)); }
virtual public Boolean Save(Mercury.Server.Application application) { Boolean success = false; try { application.EnvironmentDatabase.BeginTransaction(); System.Data.IDbCommand sqlCommand = application.EnvironmentDatabase.CreateCommand("MemberServiceDetailSingleton_InsertUpdate"); sqlCommand.CommandType = System.Data.CommandType.StoredProcedure; application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@memberServiceId", memberServiceId); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@singletonDefinitionId", singletonDefinitionId); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@eventDate", eventDate); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@claimId", claimId); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@externalClaimId", externalClaimId, Server.Data.DataTypeConstants.UniqueId); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@claimLine", claimLine); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@memberId", memberId); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@providerId", providerId); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@claimType", ((Int32)claimType).ToString(), Server.Data.DataTypeConstants.TypeName); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@claimStatus", ((Int32)claimStatus).ToString(), Server.Data.DataTypeConstants.TypeName); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@claimDateFrom", claimDateFrom); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@claimDateThru", claimDateThru); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@serviceDateFrom", serviceDateFrom); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@serviceDateThru", serviceDateThru); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@admissionDate", admissionDate); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@dischargeDate", dischargeDate); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@receivedDate", receivedDate); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@paidDate", paidDate); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@billType", billType, Server.Data.DataTypeConstants.BillType); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@principalDiagnosisCode", principalDiagnosisCode, Server.Data.DataTypeConstants.DiagnosisCode); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@principalDiagnosisVersion", principalDiagnosisVersion); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@diagnosisCode", diagnosisCode, Server.Data.DataTypeConstants.DiagnosisCode); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@diagnosisVersion", diagnosisVersion); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@icd9ProcedureCode", icd9ProcedureCode, Server.Data.DataTypeConstants.Icd9ProcedureCode); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@locationCode", locationCode, Server.Data.DataTypeConstants.LocationCode); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@revenueCode", revenueCode, Server.Data.DataTypeConstants.RevenueCode); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@procedureCode", procedureCode, Server.Data.DataTypeConstants.ProcedureCode); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@modifierCode", modifierCode, Server.Data.DataTypeConstants.ModifierCode); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@specialtyName", specialtyName, Server.Data.DataTypeConstants.Name); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@isPcpClaim", isPcpClaim); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@ndcCode", ndcCode, Server.Data.DataTypeConstants.NdcCode); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@units", units); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@deaClassification", deaClassification, Server.Data.DataTypeConstants.DeaClassification); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@therapeuticClassification", therapeuticClassification, Server.Data.DataTypeConstants.TherapeuticClassification); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@labLoincCode", labLoincCode, Server.Data.DataTypeConstants.LabLoincCode); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@labName", labName, Server.Data.DataTypeConstants.Name); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@labValue", labValue); application.EnvironmentDatabase.AppendCommandParameter(sqlCommand, "@description", description, Server.Data.DataTypeConstants.Name); // DO NOT EVALUATE THE NUMBER OF ROWS AFFECTED BECAUSE THE CHECK FOR DUPLICATES // IS HANDLED IN THE STORED PROCEDURE, AND THUS COULD RETURN 0 OR 1 sqlCommand.ExecuteNonQuery(); success = true; #region Old Method //sqlStatement = new StringBuilder (); //sqlStatement.Append ("EXEC dbo.MemberServiceDetailSingleton_InsertUpdate "); //sqlStatement.Append (memberServiceId.ToString () + ", "); //sqlStatement.Append (singletonDefinitionId.ToString () + ", "); //sqlStatement.Append ("'" + eventDate.ToString ("MM/dd/yyyy") + "', "); //sqlStatement.Append (claimId.ToString () + ", "); //sqlStatement.Append ("'" + externalClaimId.Replace ("'", "''") + "', "); //sqlStatement.Append (claimLine.ToString () + ", "); //sqlStatement.Append (memberId.ToString () + ", "); //sqlStatement.Append (providerId.ToString () + ", "); //sqlStatement.Append ("'" + claimType + "', "); //sqlStatement.Append ("'" + claimStatus + "', "); //if (claimDateFrom.HasValue) { sqlStatement.Append ("'" + claimDateFrom.Value.ToString ("MM/dd/yyyy") + "', "); } else { sqlStatement.Append ("NULL, "); } //if (claimDateThru.HasValue) { sqlStatement.Append ("'" + claimDateThru.Value.ToString ("MM/dd/yyyy") + "', "); } else { sqlStatement.Append ("NULL, "); } //if (serviceDateFrom.HasValue) { sqlStatement.Append ("'" + serviceDateFrom.Value.ToString ("MM/dd/yyyy") + "', "); } else { sqlStatement.Append ("NULL, "); } //if (serviceDateThru.HasValue) { sqlStatement.Append ("'" + serviceDateThru.Value.ToString ("MM/dd/yyyy") + "', "); } else { sqlStatement.Append ("NULL, "); } //if (admissionDate.HasValue) { sqlStatement.Append ("'" + admissionDate.Value.ToString ("MM/dd/yyyy") + "', "); } else { sqlStatement.Append ("NULL, "); } //if (dischargeDate.HasValue) { sqlStatement.Append ("'" + dischargeDate.Value.ToString ("MM/dd/yyyy") + "', "); } else { sqlStatement.Append ("NULL, "); } //if (receivedDate.HasValue) { sqlStatement.Append ("'" + receivedDate.Value.ToString ("MM/dd/yyyy") + "', "); } else { sqlStatement.Append ("NULL, "); } //if (paidDate.HasValue) { sqlStatement.Append ("'" + paidDate.Value.ToString ("MM/dd/yyyy") + "', "); } else { sqlStatement.Append ("NULL, "); } //sqlStatement.Append ("'" + billType + "', "); //sqlStatement.Append ("'" + principalDiagnosisCode + "', "); //sqlStatement.Append ("'" + diagnosisCode + "', "); //sqlStatement.Append ("'" + icd9ProcedureCode + "', "); //sqlStatement.Append ("'" + locationCode + "', "); //sqlStatement.Append ("'" + revenueCode + "', "); //sqlStatement.Append ("'" + procedureCode + "', "); //sqlStatement.Append ("'" + modifierCode + "',"); //sqlStatement.Append ("'" + specialtyName + "',"); //sqlStatement.Append (Convert.ToInt32 (isPcpClaim).ToString () + ", "); //sqlStatement.Append ("'" + ndcCode + "', "); //sqlStatement.Append ("" + units.ToString () + ", "); //sqlStatement.Append ("'" + deaClassification + "', "); //sqlStatement.Append ("'" + therapeuticClassification + "', "); //sqlStatement.Append ("'" + labLoincCode + "', "); //sqlStatement.Append ("'" + labName + "', "); //sqlStatement.Append (labValue.ToString () + ", "); //sqlStatement.Append ("'" + description.Replace ("'", "''").Trim () + "' "); //success = application.EnvironmentDatabase.ExecuteSqlStatement (sqlStatement.ToString ()); #endregion if (!success) { application.SetLastException(application.EnvironmentDatabase.LastException); throw application.EnvironmentDatabase.LastException; } success = true; application.EnvironmentDatabase.CommitTransaction(); } catch (Exception applicationException) { application.EnvironmentDatabase.RollbackTransaction(); application.SetLastException(applicationException); } return(success); }
public Mercury.Server.Application GetApplication(String token) { Mercury.Server.Application application = null; Mercury.Server.Session session = null; String sessionCacheKey = "Mercury.Server.Session." + token; String applicationCacheKey = "Mercury.Server.Application." + token; Boolean localCacheSuccessful = false; lastException = null; try { if (IsCacheValid) { if (cache[sessionCacheKey] != null) { // LEVEL 1 CACHE FROM LOCAL SERVER session = (Mercury.Server.Session)cache.Get(sessionCacheKey); // Expiration Time from the Cache is maintained by a Sliding Time application = (Mercury.Server.Application)cache.Get(applicationCacheKey); application.ApplicationUpdated += new EventHandler(Application_OnUpdate); // application = new Mercury.Server.Application (session); localCacheSuccessful = true; } } if (!localCacheSuccessful) { // LEVEL 2 CACHE FROM DATABASE, FIRST CACHING IS ALWAYS LEVEL 2 FIRST application = new Mercury.Server.Application(token); if (application != null) { // CACHE TO LEVEL 1 CacheObject(sessionCacheKey, application.Session, new TimeSpan(0, 20, 0)); CacheObject(applicationCacheKey, application, new TimeSpan(0, 20, 0)); application.ApplicationUpdated += new EventHandler(Application_OnUpdate); } } if (application != null) { // UPDATE SESSION AUDIT LAST ACTIVITY TIME WHEN UPDATE INTERVAL HAS PASSED if (DateTime.Now.Subtract(application.Session.LastActivityDate).TotalSeconds >= (application.SessionLastActivityUpdateMinutes * 60)) { application.SessionUpdateLastActivity(); } } } catch (Exception cacheException) { lastException = cacheException; application = null; } if (application != null) { application.SetLastException(null); } return(application); }
public void WorkflowContinue(Mercury.Server.Application application, Int64 workQueueItemId, String assemblyUrl, String workflowClassName, Guid workflowInstanceId, Server.Workflows.UserInteractions.Response.ResponseBase userInteractionResponse) { workflowResponse.WorkQueueItemId = workQueueItemId; #region Load Workflow Assembly assemblyReferencePath = assemblyUrl.Substring(0, assemblyUrl.LastIndexOf('\\') + 1); assemblyReferenceName = assemblyUrl.Replace(assemblyReferencePath, ""); AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve); System.Reflection.Assembly workflowAssembly = System.Reflection.Assembly.LoadFrom(assemblyUrl); Type workflowClass = workflowAssembly.GetType(workflowClassName); if (workflowClass == null) { throw new ApplicationException("Unable to find Class [" + workflowClassName + "] in referenced Assembly [" + assemblyUrl + "]."); } #endregion // SET RESPONSE VALUE UserInteractionResponse = userInteractionResponse; // CREATE WORKFLOW INSTANCE workflowInstance = new System.Activities.WorkflowApplication((System.Activities.Activity)Activator.CreateInstance(workflowAssembly.GetType(workflowClassName))); // LINK EVENT HANDLERS workflowInstance.Completed = WorkflowCompleted; workflowInstance.Aborted = WorkflowAborted; // workflowInstance.Idle = WorkflowIdle; // DO NOTHING, REMOVED, FALL THROUGH TO PERSISTABLE IDLE TO UNLOAD workflowInstance.PersistableIdle = WorkflowPersistableIdle; workflowInstance.Unloaded = WorkflowUnloaded; workflowInstance.OnUnhandledException = WorkflowOnUnhandledException; // LINK PERSISTANCE INSTANCE STORE AND LOAD FROM STORE workflowInstance.InstanceStore = instanceStore; workflowInstance.Load(workflowInstanceId); // RESUME FROM BOOKMARK workflowInstance.ResumeBookmark(workflowInstanceId.ToString(), this); return; }