public IEnumerable <IntegratedReport> Read(SqlConnection connection, Version platformVersion) { var components = new List <IntegratedReport>(); var query = this.GetIntegratedReportQuery(platformVersion); if (string.IsNullOrEmpty(query)) { return(components); } var command = new SqlCommand(query, connection); using (var reader = command.ExecuteReader()) { if (reader.HasRows) { while (reader.Read()) { var integratedReport = new IntegratedReport { Name = reader["Name"] as string, Title = reader["Title"] as string, Viewer = reader["Viewer"] as string }; if (ActiveValue.Equals(reader["State"] as string)) { integratedReport.State = ComponentState.Active; } else { integratedReport.State = ComponentState.Closed; } integratedReport.CalculationText = reader["CalculationText"] as string; if (integratedReport.CalculationText == null) { integratedReport.CalculationText = string.Empty; } if (reader["TemplateText"] is byte[] templateValue) { integratedReport.TemplateText = Encoding.GetEncoding(1251).GetString(templateValue); } else { integratedReport.TemplateText = string.Empty; } integratedReport.ReferenceName = reader["ReferenceName"] as string; components.Add(integratedReport); } } } return(components); }
public IEnumerable <RouteBlock> Read(SqlConnection connection, Version platformVersion) { var components = new List <RouteBlock>(); var query = this.GetRouteBlockQuery(platformVersion); if (string.IsNullOrEmpty(query)) { return(components); } var command = new SqlCommand(query, connection); using (var reader = command.ExecuteReader()) { if (reader.HasRows) { while (reader.Read()) { var routeBlock = new RouteBlock { Name = reader["Name"] as string, Title = reader["Title"] as string }; if (ActiveValue.Equals(reader["State"] as string)) { routeBlock.State = ComponentState.Active; } else { routeBlock.State = ComponentState.Closed; } if (Enum.TryParse(reader["BaseBlockType"] as string, out RouteBlockType blockType)) { routeBlock.BaseBlockType = blockType; } else { routeBlock.BaseBlockType = RouteBlockType.Unknown; } if (reader["Properties"] is byte[] blockDescriptionRawData) { var blockDescription = Encoding.GetEncoding(1251).GetString(blockDescriptionRawData); if (!string.IsNullOrWhiteSpace(blockDescription)) { var description = WorkflowDescriptionParser.Parse(blockDescription); routeBlock.WorkflowBlock = description.Blocks.FirstOrDefault(); } } components.Add(routeBlock); } } } return(components); }
public IEnumerable <Wizard> Read(SqlConnection connection, Version platformVersion) { var components = new List <Wizard>(); var query = this.GetWizardsQuery(platformVersion); if (string.IsNullOrEmpty(query)) { return(components); } var command = new SqlCommand(query, connection); using (var reader = command.ExecuteReader()) { if (reader.HasRows) { while (reader.Read()) { var wizard = new Wizard { Name = (reader["Name"] as string).Trim(), Title = (reader["Title"] as string).Trim() }; if (ActiveValue.Equals(reader["State"] as string)) { wizard.State = ComponentState.Active; } else { wizard.State = ComponentState.Closed; } if (reader["WizardDfm"] is byte[] wizardDfmRawData) { var wizardDfm = Encoding.GetEncoding(1251).GetString(wizardDfmRawData); if (!string.IsNullOrWhiteSpace(wizardDfm)) { var dfmWizard = WizardDfmParser.Parse(wizardDfm); if (dfmWizard != null) { wizard.Events.AddRange(dfmWizard.Events); wizard.Steps.AddRange(dfmWizard.Steps); } } } components.Add(wizard); } } } return(components); }
public IEnumerable <StandardRoute> Read(SqlConnection connection, Version platformVersion) { var components = new List <StandardRoute>(); var query = this.GetStandardRouteQuery(platformVersion); if (string.IsNullOrEmpty(query)) { return(components); } var command = new SqlCommand(query, connection); using (var reader = command.ExecuteReader()) { if (reader.HasRows) { while (reader.Read()) { var standardRoute = new StandardRoute { Name = (reader["Name"] as string).Trim(), Title = (reader["Title"] as string).Trim() }; if (ActiveValue.Equals(reader["State"] as string)) { standardRoute.State = ComponentState.Active; } else { standardRoute.State = ComponentState.Closed; } if (reader["WorkflowDescription"] is byte[] workflowDescriptionRawData) { var workflowDescription = Encoding.GetEncoding(1251).GetString(workflowDescriptionRawData); if (!string.IsNullOrWhiteSpace(workflowDescription)) { standardRoute.WorkflowDescription = WorkflowDescriptionParser.Parse(workflowDescription); } } components.Add(standardRoute); } } } return(components); }
public IEnumerable <Script> Read(SqlConnection connection, Version platformVersion) { var components = new List <Script>(); var query = this.GetScriptQuery(platformVersion); if (string.IsNullOrEmpty(query)) { return(components); } var command = new SqlCommand(query, connection); using (var reader = command.ExecuteReader()) { if (reader.HasRows) { while (reader.Read()) { var script = new Script { Name = reader["Name"] as string, Title = reader["Title"] as string }; if (ActiveValue.Equals(reader["State"] as string)) { script.State = ComponentState.Active; } else { script.State = ComponentState.Closed; } if (reader["CalculationText"] is byte[] calculationValue) { script.CalculationText = Encoding.GetEncoding(1251).GetString(calculationValue); } else { script.CalculationText = string.Empty; } components.Add(script); } } } return(components); }
public IEnumerable <ManagedFolder> Read(SqlConnection connection, Version platformVersion) { var components = new Dictionary <string, ManagedFolder>(); var query = this.GetManagedFoldersQuery(platformVersion); if (string.IsNullOrEmpty(query)) { return(components.Values.ToList()); } var command = new SqlCommand(query, connection); using (var reader = command.ExecuteReader()) { if (reader.HasRows) { while (reader.Read()) { var managedFolder = new ManagedFolder { Name = (reader["Name"] as string).Trim(), Title = (reader["Title"] as string).Trim() }; if (ActiveValue.Equals(reader["State"] as string)) { managedFolder.State = ComponentState.Active; } else { managedFolder.State = ComponentState.Closed; } if (reader["SearchDescription"] is byte[] searchDescriptionRawData) { var searchDescriptionDfm = Encoding.GetEncoding(1251).GetString(searchDescriptionRawData); if (!string.IsNullOrWhiteSpace(searchDescriptionDfm)) { managedFolder.SearchDescription = SearchDescriptionParser.Parse(searchDescriptionDfm); } } components.Add(managedFolder.Name, managedFolder); } } } query = this.GetMethodsQuery(platformVersion); if (!string.IsNullOrEmpty(query)) { command = new SqlCommand(query, connection); using (var reader = command.ExecuteReader()) { if (reader.HasRows) { while (reader.Read()) { var managedFolderName = reader["ManagedFolderName"] as string; if (!components.TryGetValue(managedFolderName, out ManagedFolder managedFolder)) { continue; } var method = new Method { Name = reader["Name"] as string }; if (reader["CalculationText"] is byte[] calculationValue) { method.CalculationText = Encoding.GetEncoding(1251).GetString(calculationValue); } else { method.CalculationText = string.Empty; } managedFolder.Methods.Add(method); } } } } query = this.GetMethodParamsQuery(platformVersion); if (!string.IsNullOrEmpty(query)) { command = new SqlCommand(query, connection); using (var reader = command.ExecuteReader()) { if (reader.HasRows) { while (reader.Read()) { var managedFolderName = reader["ManagedFolderName"] as string; if (!components.TryGetValue(managedFolderName, out ManagedFolder managedFolder)) { continue; } var methodName = reader["MethodName"] as string; var method = managedFolder.Methods .FirstOrDefault(m => m.Name == methodName); if (method == null) { continue; } var parameter = new MethodParam { Number = (int)reader["Number"], Name = reader["Name"] as string }; var typeValue = reader["Type"] as string; if (TypeValues.TryGetValue(typeValue, out MethodParamType methodParamType)) { parameter.Type = methodParamType; } parameter.DefaultValue = reader["DefaultValue"] as string; parameter.HasDefaultValue = !string.IsNullOrEmpty(parameter.DefaultValue); method.Params.Add(parameter); } } } } query = this.GetActionQuery(platformVersion); if (!string.IsNullOrEmpty(query)) { command = new SqlCommand(query, connection); using (var reader = command.ExecuteReader()) { if (reader.HasRows) { while (reader.Read()) { var managedFolderName = reader["ManagedFolderName"] as string; if (!components.TryGetValue(managedFolderName, out ManagedFolder managedFolder)) { continue; } var action = new ActionWithHandler { Name = reader["Name"] as string }; var methodName = reader["MethodName"] as string; var executionHandler = managedFolder.Methods.FirstOrDefault(m => m.Name == methodName); if (executionHandler != null) { action.ExecutionHandler = executionHandler; } else { action.CalculationText = string.Empty; } managedFolder.Actions.Add(action); } } } } return(components.Values.ToList()); }