//A. Variable Declaration #endregion #region 2. Ready //A. Constructor Instantiation public Page_3_7_Process_StoryResources_12_2_1_0(JObject storylineDetails, aClass_Programming_ScriptAction_12_2_1_0 <Task <JObject> > repository) { #region 1. Assign //SET WHAT is needed to make this page of the story happen. StorylineDetails = storylineDetails; Repository = repository; #endregion #region 2. Action #endregion #region 3. Observe #endregion }
//A. Constructor Instantiation public Page_5_7_Process_StoryResources_12_2_1_0(SingleParmPoco_12_2_1_0 parameterInputs) { #region 1. INPUTS #region MEMORIZE control client server _storedProcessRequestTracker = parameterInputs.Parameters["parameterProcessRequestTracker"]; #endregion #region MEMORIZE action name _storedInputRequestActionName = (string)_storedInputs.Parameters["parameterInputRequestActionName"]; #endregion #region MEMORIZE app settings _storedProcessRequestSettings = (IConfiguration)_storedProcessRequestTracker["storedProcessRequestSettings"]; #endregion #region MEMORIZE centralized processes handlers _storedProcessRequestCentralizedDisturber = parameterInputs.Parameters["parameterProcessRequestCentralizedDisturber"]; _storedProcessRequestCentralizedSensor = parameterInputs.Parameters["parameterProcessRequestCentralizedSensor"]; _storedProcessRequestCentralizedStorer = parameterInputs.Parameters["parameterProcessRequestCentralizedStorer"]; #endregion #region MEMORIZE data repository _storedProcessRequestDataRepository = parameterInputs.Parameters["parameterProcessRequestDataRepository"]; #endregion #region MEMORIZE developer mode bool storedProcessRequestDeveloperMode = _storedProcessRequestSettings.GetValue <bool>("AppSettings:APP_SETTING_DEVELOPER_MODE"); #endregion #region MEMORIZE storyline details _storedProcessRequestDataStorylineDetails = parameterInputs.Parameters["parameterProcessRequestDataStorylineDetails"]; _storedProcessRequestDataStorylineDetails_Parameters = parameterInputs.Parameters["parameterProcessRequestDataStorylineDetails_Parameters"]; #endregion #region MEMORIZE extra data _storedProcessRequestExtraData = parameterInputs.Parameters["parameterProcessRequestExtraData"] ? parameterInputs.Parameters["parameterProcessRequestExtraData"] : null; #endregion #region MEMORIZE request details _storedInputRequestName = parameterInputs.Parameters["parameterInputRequestName"]; _storedInputRequestNameDataCacheKey = parameterInputs.Parameters["parameterInputRequestNameDataCacheKey"]; _storedProcessRequestHandler = parameterInputs.Parameters["parameterProcessRequestHandler"]; _storedProcessRequestName = parameterInputs.Parameters["parameterProcessRequestName"]; _storedProcessRequestByName = parameterInputs.Parameters["parameterProcessRequestName"]; _storedProcessRequestRequestHandler = parameterInputs.Parameters["parameterProcessRequestHandler"]; _storedInputs = parameterInputs; #endregion #endregion #region 2. PROCESS #region EXECUTE process defaults #region IDEAL CASE - USE defaults handler HandleDefaults(); #endregion #endregion #endregion #region 3. OUTPUT #endregion }
//A. Constructor Instantiation public RemoteService_Director_Of_CMS_Chapter_12_4_Page_1_TransportAsset_Handler_1_0(SingleParmPoco_12_2_1_0 parameterInputs) { #region 1. INPUTS #region DEFINE control variables #endregion #region DEFINE input variables #endregion #region DEFINE process variables #endregion #region DEFINE output variables #endregion /////////////////////////////////////////////////////////// #region MEMORIZE control variables #region MEMORIZE control xxx xxx #endregion #endregion #region MEMORIZE input variables #region MEMORIZE input action name _storedInputRequestActionName = parameterInputs.Parameters["parameterInputRequestActionName"]; #endregion #region MEMORIZE input request details _storedInputRequestName = parameterInputs.Parameters["parameterInputRequestName"]; _storedInputRequestNameDataCacheKey = parameterInputs.Parameters["parameterInputRequestNameDataCacheKey"]; _storedInputs = parameterInputs; #endregion #endregion #region MEMORIZE process variables #region MEMORIZE process request tracker _storedProcessRequestTracker = parameterInputs.Parameters["parameterProcessRequestTracker"]; #endregion #region MEMORIZE process request settings _storedProcessRequestSettings = (IConfiguration)_storedProcessRequestTracker["storedProcessRequestSettings"]; #endregion #region MEMORIZE process centralized handlers _storedProcessRequestCentralizedDisturber = parameterInputs.Parameters["parameterProcessRequestCentralizedDisturber"]; _storedProcessRequestCentralizedSensor = parameterInputs.Parameters["parameterProcessRequestCentralizedSensor"]; _storedProcessRequestCentralizedStorer = parameterInputs.Parameters["parameterProcessRequestCentralizedStorer"]; #endregion #region MEMORIZE process data repository _storedProcessRequestDataRepository = parameterInputs.Parameters["parameterProcessRequestDataRepository"]; #endregion #region MEMORIZE process developer mode bool storedProcessRequestDeveloperMode = _storedProcessRequestSettings.GetValue <bool>("AppSettings:APP_SETTING_DEVELOPER_MODE"); #endregion #region MEMORIZE process request storyline details _storedProcessRequestDataStorylineDetails = parameterInputs.Parameters["parameterProcessRequestDataStorylineDetails"]; _storedProcessRequestDataStorylineDetails_Parameters = parameterInputs.Parameters["parameterProcessRequestDataStorylineDetails_Parameters"]; #endregion #region MEMORIZE process request extra data _storedProcessRequestExtraData = parameterInputs.Parameters["parameterProcessRequestExtraData"] ? parameterInputs.Parameters["parameterProcessRequestExtraData"] : null; #endregion #region MEMORIZE process request details _storedProcessRequestHandler = parameterInputs.Parameters["parameterProcessRequestHandler"]; _storedProcessRequestName = parameterInputs.Parameters["parameterProcessRequestName"]; _storedProcessRequestByName = parameterInputs.Parameters["parameterProcessRequestName"]; #endregion #endregion #region MEMORIZE output variables #region MEMORIZE output xxx xxxx #endregion #endregion #endregion #region 2. PROCESS #region EXECUTE process defaults #region IDEAL CASE - USE defaults handler HandleDefaults(); #endregion #endregion #endregion #region 3. OUTPUT #endregion }
public static async Task <JObject> Step_X_X_Framework_Store_CacheDataToPersistentStorage_1_0(SingleParmPoco_12_2_1_0 parameterInputs) { #region 1. INPUTS #region VALIDATE input parameters Func <SingleParmPoco_12_2_1_0, Task <bool> > ValidateInputs = async(SingleParmPoco_12_2_1_0 parameterInputs) => { #region 1. INPUTS #region DEFINE parameter inputs #endregion #region DEFINE process checkpoint bool storedProcessRequestMistakeMade = false; #endregion #region DEFINE stored message string storedOutputResponseMessage = ""; #endregion #region MEMORIZE control client server Dictionary <string, object> storedProcessRequestTracker = parameterInputs.Parameters["parameterProcessRequestTracker"] as Dictionary <string, object>; #endregion #region MEMORIZE app settings IConfiguration storedProcessRequestSettings = (IConfiguration)storedProcessRequestTracker["storedProcessRequestSettings"]; #endregion #region MEMORIZE developer mode bool storedProcessRequestDeveloperMode = storedProcessRequestSettings.GetValue <bool>("AppSettings:APP_SETTING_DEVELOPER_MODE") ? storedProcessRequestSettings.GetValue <bool>("AppSettings:APP_SETTING_DEVELOPER_MODE") : false; SingleParmPoco_12_2_1_0 storedProcessRequestDeveloperLoggingInputs = new SingleParmPoco_12_2_1_0(); //REQUIRED storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterInputRequestActionName", parameterInputs.Parameters["parameterInputRequestActionName"]); storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestSettings", storedProcessRequestTracker["storedProcessRequestSettings"]); storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestTracker", storedProcessRequestTracker); storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestFileName", "Extension_Director_Of_Programming_Chapter_12_2_Page_3_StorageRequest_Handler_1_0.ts"); storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestMethodName", "Step_X_X_Framework_Store_CacheDataToPersistentStorage_1_0.ValidateInputs()"); #endregion #endregion #region 2. PROCESS #region EXECUTE validation process #region IDEAL CASE - USE valid information if (parameterInputs != null || parameterInputs.Parameters != null) { if (!parameterInputs.Parameters.ContainsKey("parameterProcessRequestTracker")) { storedOutputResponseMessage += "***parameterProcessRequestTracker*** cannot be blank or empty.\n"; storedProcessRequestMistakeMade = true; } else { if (parameterInputs.Parameters["parameterProcessRequestTracker"]["storedProcessRequestSettings"] == null) { storedOutputResponseMessage += "***parameterProcessRequestTracker*** must contain a key of ***storedProcessRequestSettings***.\n\n Please verify you are doing something like parameterInputs.Parameters.Add(process.env).\n Please also make sure you added this value in the ***webpack.config.server.js*** file under new webpack.DefinePlugin(process.env{'process.env':'xxxxx'})"; storedProcessRequestMistakeMade = true; } } if (!parameterInputs.Parameters.ContainsKey("parameterProcessRequestCRUDVerb")) { storedOutputResponseMessage += "***parameterProcessRequestCRUDVerb*** cannot be blank or empty.\n"; storedProcessRequestMistakeMade = true; } if (!parameterInputs.Parameters.ContainsKey("parameterProcessRequestHandler")) { storedOutputResponseMessage += "***parameterProcessRequestHandler*** cannot be blank or empty.\n"; storedProcessRequestMistakeMade = true; } if (!parameterInputs.Parameters.ContainsKey("parameterProcessRequestCentralizedStorer")) { storedOutputResponseMessage += "***parameterProcessRequestCentralizedStorer*** cannot be blank or empty.\n"; storedProcessRequestMistakeMade = true; } if (!parameterInputs.Parameters.ContainsKey("parameterProcessRequestStorageValue")) { storedOutputResponseMessage += "***parameterProcessRequestStorageValue*** cannot be blank or empty.\n"; storedProcessRequestMistakeMade = true; } if (!parameterInputs.Parameters.ContainsKey("parameterProcessRequestDataStorylineDetails")) { storedOutputResponseMessage += "***parameterProcessRequestDataStorylineDetails*** cannot be blank or empty.\n"; storedProcessRequestMistakeMade = true; } if (!parameterInputs.Parameters.ContainsKey("parameterProcessRequestPageName")) { storedOutputResponseMessage += "***parameterProcessRequestPageName*** cannot be blank or empty.\n"; storedProcessRequestMistakeMade = true; } if (!parameterInputs.Parameters.ContainsKey("parameterProcessRequestStorageDescription")) { storedOutputResponseMessage += "***parameterProcessRequestStorageDescription*** cannot be blank or empty.\n"; storedProcessRequestMistakeMade = true; } if (!parameterInputs.Parameters.ContainsKey("parameterProcessRequestStorageUniqueKey")) { storedOutputResponseMessage += "***parameterProcessRequestStorageUniqueKey*** cannot be blank or empty.\n"; storedProcessRequestMistakeMade = true; } if (storedProcessRequestMistakeMade) { #region EDGE CASE - USE developer logger if (storedProcessRequestDeveloperMode) { storedProcessRequestTracker["storedProcessRequestStepNumber"] = (int)storedProcessRequestTracker["storedProcessRequestStepNumber"] + 1; storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequest3WordDescription", "PARSING parameter values failed"); storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterOutputResponseMessageType", "Mistake"); //Values = Logging or Mistake storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestStepNumberReplace", storedProcessRequestTracker["storedProcessRequestStepNumber"]); Extension_Director_Of_RiskManagement_Chapter_11_1_Page_0_GoalHelper_Handler_1_0.Step_X_X_Framework_Output_DeveloperMessage_1_0(storedProcessRequestDeveloperLoggingInputs); } #endregion #region EDGE CASE - USE exception handler throw new Exception("PARSING parameter values failed"); #endregion } } else { #region EDGE CASE - USE developer logger if (storedProcessRequestDeveloperMode) { storedProcessRequestTracker["storedProcessRequestStepNumber"] = (int)storedProcessRequestTracker["storedProcessRequestStepNumber"] + 1; storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequest3WordDescription", "PARSING parameter values failed"); storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterOutputResponseMessageType", "Mistake"); //Values = Logging or Mistake storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestStepNumberReplace", storedProcessRequestTracker["storedProcessRequestStepNumber"]); Extension_Director_Of_RiskManagement_Chapter_11_1_Page_0_GoalHelper_Handler_1_0.Step_X_X_Framework_Output_DeveloperMessage_1_0(storedProcessRequestDeveloperLoggingInputs); } #endregion #region EDGE CASE - USE exception handler throw new Exception("PARSING parameter values failed"); #endregion } #endregion #endregion #endregion #region 3. OUTPUT #region RETURN validation passed #region IDEAL CASE - USE passed indicator return(true); #endregion #endregion #endregion }; ///BEGIN valdation process await ValidateInputs(parameterInputs); #endregion #region DEFINE storage details string storedFilteredStorageKey = ""; Dictionary <string, dynamic> storedProcessRequestStorageDictionary = new Dictionary <string, dynamic>(); #endregion #region DEFINE parameter inputs SingleParmPoco_12_2_1_0 storedInputs; #endregion #region DEFINE storyline details outputs string storedOutputResponseObservationPresentationTemplateItem = ""; string storedOutputResponseObservationItem = ""; #endregion #region MEMORIZE centralized processes aClass_Programming_ScriptAction_12_2_1_0 <dynamic> storedProcessRequestCentralizedStorer = parameterInputs.Parameters["parameterProcessRequestCentralizedStorer"] as aClass_Programming_ScriptAction_12_2_1_0 <dynamic>; //this._storedProcessRequestCentralizedSensor = parameterProcessRequestCentralizedSensor; //this._storedProcessRequestCentralizedStorer = parameterProcessRequestCentralizedStorer; #endregion #region MEMORIZE control client server Dictionary <string, object> storedProcessRequestTracker = parameterInputs.Parameters["parameterProcessRequestTracker"] as Dictionary <string, object>; #endregion #region MEMORIZE app settings IConfiguration storedProcessRequestSettings = (IConfiguration)storedProcessRequestTracker["storedProcessRequestSettings"]; #endregion #region MEMORIZE CRUD verb string storedCRUDVerb = parameterInputs.Parameters["parameterProcessRequestCRUDVerb"]; #endregion #region MEMORIZE developer mode bool storedProcessRequestDeveloperMode = storedProcessRequestSettings.GetValue <bool>("AppSettings:APP_SETTING_DEVELOPER_MODE") ? storedProcessRequestSettings.GetValue <bool>("AppSettings:APP_SETTING_DEVELOPER_MODE") : false; SingleParmPoco_12_2_1_0 storedProcessRequestDeveloperLoggingInputs = new SingleParmPoco_12_2_1_0(); //REQUIRED storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterInputRequestActionName", parameterInputs.Parameters["parameterInputRequestActionName"]); storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequest3WordDescription", "PREPARING caching request"); storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestSettings", storedProcessRequestTracker["storedProcessRequestSettings"]); storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestTracker", storedProcessRequestTracker); storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestFileName", "Extension_Director_Of_Programming_Chapter_12_2_Page_3_StorageRequest_Handler_1_0.ts"); storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestMethodName", "Step_X_X_Framework_Store_CacheDataToPersistentStorage_1_0"); //OPTIONAL storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterOPTIONALIgnoreDeveloperConsoleLog", parameterInputs.Parameters["parameterOPTIONALIgnoreDeveloperConsoleLog"]); #endregion #region MEMORIZE request details string storedDirectorOrExperienceName = parameterInputs.Parameters["parameterProcessRequestHandler"]; #endregion #region MEMORIZE page name string storedPageName = parameterInputs.Parameters["parameterProcessRequestPageName"]; #endregion #region MEMORIZE storage details string storedStorageDescription = parameterInputs.Parameters["parameterProcessRequestStorageDescription"]; dynamic storedStorageValue = parameterInputs.Parameters["parameterProcessRequestStorageValue"]; string storedProcessRequestStorageKey = "StorageKey_" + storedDirectorOrExperienceName + "-" + storedCRUDVerb; string storedUniqueStorageKey = parameterInputs.Parameters["parameterProcessRequestStorageUniqueKey"]; if (!string.IsNullOrEmpty(storedUniqueStorageKey)) { storedProcessRequestStorageKey += "-" + storedUniqueStorageKey; } #endregion #region MEMORIZE storyline details dynamic storedProcessRequestDataStorylineDetails = parameterInputs.Parameters["parameterProcessRequestDataStorylineDetails"]; //storedProcessRequestDataStorylineDetails_Parameters = parameterProcessRequestDataStorylineDetails_Parameters; #endregion #region MEMORIZE storyline details outputs string storedOutputResponseObservationBusinessTemplateItem = "{}"; string storedOutputResponseObservationServiceTemplateItem = "{}"; string storedOutputResponseObservationSecurityTemplateItem = "{}"; string storedOutputResponseObservationDataTemplateItem = @"{ 'dataResult': '{dataResult}' }"; #endregion #endregion #region 2. PROCESS #region EXECUTE local storage process #region IDEAL CASE - USE npm node-localstorage //DETERMINE if we have something to store. if (storedStorageValue) { #region 1. CREATE new storage item storedInputs = new SingleParmPoco_12_2_1_0(); storedInputs.Parameters.Add("parameterInputRequestActionName", parameterInputs.Parameters["parameterInputRequestActionName"]); storedInputs.Parameters.Add("parameterProcessRequestTracker", storedProcessRequestTracker); storedInputs.Parameters.Add("parameterProcessRequestSettings", storedProcessRequestSettings); storedInputs.Parameters.Add("parameterProcessRequest3WordDescription", "CREATING storage output item"); storedInputs.Parameters.Add("parameterOutputResponseObservationFileName", "Extension_Director_Of_Programming_Chapter_12_2_Page_3_StorageRequest_Handler_1_0"); storedInputs.Parameters.Add("parameterOutputResponseObservationMethodName", "Step_X_X_Framework_Store_CacheDataToPersistentStorage_1_0"); storedInputs.Parameters.Add("parameterOutputResponseObservationPresentationTemplate", storedOutputResponseObservationPresentationTemplateItem); storedInputs.Parameters.Add("parameterOutputResponseObservationBusinessTemplate", storedOutputResponseObservationBusinessTemplateItem); storedInputs.Parameters.Add("parameterOutputResponseObservationServiceTemplate", storedOutputResponseObservationServiceTemplateItem); storedInputs.Parameters.Add("parameterOutputResponseObservationSecurityTemplate", storedOutputResponseObservationSecurityTemplateItem); storedInputs.Parameters.Add("parameterOutputResponseObservationDataTemplate", storedOutputResponseObservationDataTemplateItem); storedOutputResponseObservationItem = await Extension_Studio_Automation_Programming_Chapter_12_2_Page_0_ControlMasterLeader_Handler_1_0.Step_X_X_Framework_Output_JsonObservationNode_1_0(storedInputs); //DETERMINE if we are storing a string value. if (storedStorageValue is string) { //PREPARING to store a string value. storedOutputResponseObservationItem = storedOutputResponseObservationItem.Replace("{dataResult}", Regex.Unescape(storedStorageValue.trim())); } else { //PREPARING to store an object value. storedOutputResponseObservationItem = storedOutputResponseObservationItem.Replace("{dataResult}", Regex.Unescape(storedStorageValue.ToString(Formatting.None))); storedProcessRequestStorageDictionary[storedProcessRequestStorageKey] = storedOutputResponseObservationItem.ToString(); } #endregion #region 2. REMOVE previous stored item storedFilteredStorageKey = storedProcessRequestStorageKey.ToString().Replace("-Create", ""); storedFilteredStorageKey = storedFilteredStorageKey.ToString().Replace("-Read", ""); storedFilteredStorageKey = storedFilteredStorageKey.ToString().Replace("-Update", ""); storedFilteredStorageKey = storedFilteredStorageKey.ToString().Replace("-Delete", ""); foreach (var storedOutputResponseObservation in storedProcessRequestDataStorylineDetails.outputs[1].baseDIObservations) { } foreach (var storedOutputResponseObservation in storedProcessRequestDataStorylineDetails.outputs[1].baseDIObservations) { } //storedProcessRequestDataStorylineDetails.outputs[1].baseDIObservations.forEach(element => { // delete element[storedFilteredStorageKey] // }); //storedProcessRequestDataStorylineDetails.outputs[1].baseDIObservations.forEach(element => { // delete element[storedProcessRequestStorageKey] // }); #endregion #region 3. CREATE storage request storedProcessRequestDataStorylineDetails.outputs[1].baseDIObservations.push(storedProcessRequestStorageDictionary); #endregion #region 4. EXECUTE storage request if (storedProcessRequestDeveloperMode) { storedProcessRequestTracker["storedProcessRequestStepNumber"] = (int)storedProcessRequestTracker["storedProcessRequestStepNumber"] + 1; storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterOutputResponseMessageType", "Logging"); //Values = Logging or Mistake storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestStepNumberReplace", storedProcessRequestTracker["storedProcessRequestStepNumber"]); Extension_Director_Of_RiskManagement_Chapter_11_1_Page_0_GoalHelper_Handler_1_0.Step_X_X_Framework_Output_DeveloperMessage_1_0(storedProcessRequestDeveloperLoggingInputs); } storedProcessRequestCentralizedStorer.ExtraData.KeyValuePairs.Add("parametersInputs", parameterInputs); storedProcessRequestCentralizedStorer.ExtraData.KeyValuePairs.Add("storedProcessRequestDeveloperLoggingInputs", storedProcessRequestDeveloperLoggingInputs); storedProcessRequestDataStorylineDetails = await storedProcessRequestCentralizedStorer?.Action_1_Begin_Process(); //storedProcessRequestDataStorylineDetails.outputs[1].baseDIObservations = (storedProcessRequestDataStorylineDetails && storedProcessRequestDataStorylineDetails.ouputs) ? storedProcessRequestDataStorylineDetails?.outputs[1]?.baseDIObservations?.filter((value: { }) => Object.keys(value).length !== 0) : storedProcessRequestDataStorylineDetails.outputs[1].baseDIObservations; #endregion #region FUTURE CODE EXAMPLE // In case If we need to remove based on verb // if(CRUDVerb.toUpperCase() == "CREATE") { // console.log(CRUDVerb) // console.log(storylineDetails.outputs[1].baseDIObservations) // } else if(CRUDVerb.toUpperCase() == "READ") { // console.log(CRUDVerb) // console.log(storylineDetails.outputs[1].baseDIObservations) // } // else if(CRUDVerb.toUpperCase() == "UPDATE") { // console.log(CRUDVerb) // } // else if(CRUDVerb.toUpperCase() == "DELETE") { // console.log(CRUDVerb) // } // if (chapter.MasterStorer.CallBack) // chapter.MasterStorer.CallBack(); #endregion } #endregion #endregion #endregion #region 3. OUTPUT #region RETURN storyline details #region IDEAL CASE - USE baseDI dataset return(storedProcessRequestDataStorylineDetails); #endregion #endregion #endregion }
public static async Task <bool> Step_X_X_Framework_Output_DeveloperMessage_1_0(SingleParmPoco_12_2_1_0 parameterInputs) { #region 1. INPUTS #region VALIDATE input parameters Func <SingleParmPoco_12_2_1_0, Task <bool> > ValidateInputs = async(SingleParmPoco_12_2_1_0 parameterInputs) => { #region 1. INPUTS #region DEFINE parameter inputs #endregion #region DEFINE process checkpoint bool storedProcessRequestMistakeMade = false; #endregion #region DEFINE stored message string storedOutputResponseMessage = ""; #endregion #region MEMORIZE control client server Dictionary <string, object> storedProcessRequestTracker = parameterInputs.Parameters["parameterProcessRequestTracker"]; #endregion #region MEMORIZE app settings IConfiguration storedProcessRequestSettings = (IConfiguration)storedProcessRequestTracker["storedProcessRequestSettings"]; #endregion #region MEMORIZE developer mode bool storedProcessRequestDeveloperMode = storedProcessRequestSettings.GetValue <bool>("AppSettings:APP_SETTING_DEVELOPER_MODE") ? storedProcessRequestSettings.GetValue <bool>("AppSettings:APP_SETTING_DEVELOPER_MODE") : false; SingleParmPoco_12_2_1_0 storedProcessRequestDeveloperLoggingInputs = new SingleParmPoco_12_2_1_0(); //REQUIRED storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequest3WordDescription", "PREPARING logging request"); storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterInputRequestActionName", parameterInputs.Parameters["parameterInputRequestActionName"]); storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestSettings", storedProcessRequestTracker["storedProcessRequestSettings"]); storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestTracker", storedProcessRequestTracker); storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestFileName", "Extension_Director_Of_RiskManagement_Chapter_11_1_Page_0_GoalHelper_Handler_1_0.cs"); storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestMethodName", "Action -> ValidateInputs"); #endregion #endregion #region 2. PROCESS #region EXECUTE validation process #region IDEAL CASE - USE valid information if (parameterInputs.Parameters.Count() > 0) { if (!parameterInputs.Parameters.ContainsKey("parameterProcessRequest3WordDescription")) { storedOutputResponseMessage += "***parameterProcessRequest3WordDescription*** cannot be blank or empty.\n"; storedProcessRequestMistakeMade = true; } if (!parameterInputs.Parameters.ContainsKey("parameterInputRequestActionName")) { storedOutputResponseMessage += "***parameterInputRequestActionName*** cannot be blank or empty.\n"; storedProcessRequestMistakeMade = true; } if (!parameterInputs.Parameters.ContainsKey("parameterProcessRequestSettings")) { storedOutputResponseMessage += "***parameterProcessRequestSettings*** cannot be blank or empty.\n"; storedProcessRequestMistakeMade = true; } if (!parameterInputs.Parameters.ContainsKey("parameterProcessRequestTracker")) { storedOutputResponseMessage += "***parameterProcessRequestTracker*** cannot be blank or empty.\n"; storedProcessRequestMistakeMade = true; } else { if (parameterInputs.Parameters["parameterProcessRequestTracker"]["storedProcessRequestSettings"] == null) { storedOutputResponseMessage += "***parameterProcessRequestTracker*** must contain a key of ***storedProcessRequestSettings***.\n\n Please verify you are doing something like parameterInputs.Parameters.setValue(process.env).\n Please also make sure you added this value in the ***webpack.config.server.js*** file under new webpack.DefinePlugin(process.env{'process.env':'xxxxx'})"; storedProcessRequestMistakeMade = true; } } if (!parameterInputs.Parameters.ContainsKey("parameterProcessRequestFileName")) { storedOutputResponseMessage += "***parameterProcessRequestFileName*** cannot be blank or empty.\n"; storedProcessRequestMistakeMade = true; } if (!parameterInputs.Parameters.ContainsKey("parameterOutputResponseMessageType")) { storedOutputResponseMessage += "***parameterOutputResponseMessageType*** cannot be blank or empty.\n"; storedProcessRequestMistakeMade = true; } if (!parameterInputs.Parameters.ContainsKey("parameterProcessRequestCentralizedStorer")) { storedOutputResponseMessage += "***parameterProcessRequestCentralizedStorer*** cannot be blank or empty.\n"; storedProcessRequestMistakeMade = true; } if (!parameterInputs.Parameters.ContainsKey("parameterProcessRequestMethodName")) { storedOutputResponseMessage += "***parameterProcessRequestMethodName*** cannot be blank or empty.\n"; storedProcessRequestMistakeMade = true; } if (!parameterInputs.Parameters.ContainsKey("parameterProcessRequestStepNumberReplace")) { storedOutputResponseMessage += "***parameterProcessRequestStepNumberReplace*** cannot be blank or empty.\n"; storedProcessRequestMistakeMade = true; } if (storedProcessRequestMistakeMade) { #region EDGE CASE - USE developer logger if (storedProcessRequestDeveloperMode) { storedProcessRequestTracker["storedProcessRequestStepNumber"] = (int)storedProcessRequestTracker["storedProcessRequestStepNumber"] + 1; storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequest3WordDescription", "PARSING parameter values failed"); storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterOutputResponseMessageType", "Mistake"); //Values = Logging or Mistake storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestStepNumberReplace", storedProcessRequestTracker["storedProcessRequestStepNumber"]); await Extension_Director_Of_RiskManagement_Chapter_11_1_Page_0_GoalHelper_Handler_1_0.Step_X_X_Framework_Output_DeveloperMessage_1_0(storedProcessRequestDeveloperLoggingInputs); } #endregion #region EDGE CASE - USE exception handler throw new Exception("PARSING parameter values failed"); #endregion } } else { #region EDGE CASE - USE blank return return(await Task.FromResult <bool>(false).ConfigureAwait(true)); #endregion } #endregion #endregion #endregion #region 3. OUTPUT #region RETURN validation passed #region IDEAL CASE - USE passed indicator return(true); #endregion #endregion #endregion }; ///BEGIN valdation process await ValidateInputs(parameterInputs); #endregion #region DEFINE developer mode string storedOutputResponseOPTIONALAccountingCostType = ""; bool storedOutputResponseOPTIONALBeginOfProcess = false; bool storedOutputResponseOPTIONALMiddleOfProcess = false; bool storedOutputResponseOPTIONALEndOfProcess = false; bool storedOutputResponseOPTIONALMasterLeaderIsSecondStep = false; bool storedOutputResponseMistake = false; #endregion #region DEFINE stored message string storedOutputResponseMessage = ""; #endregion #region MEMORIZE control client server _storedProcessRequestTracker = parameterInputs.Parameters["parameterProcessRequestTracker"]; #endregion #region MEMORIZE app settings _storedProcessRequestSettings = (IConfiguration)_storedProcessRequestTracker["storedProcessRequestSettings"]; #endregion #region MEMORIZE developer mode string storedInputRequestActionName = parameterInputs.Parameters["parameterInputRequestActionName"]; string storedProcessRequest3WordDescription = parameterInputs.Parameters["parameterProcessRequest3WordDescription"]; IConfiguration storedProcessRequestSettings = parameterInputs.Parameters["parameterProcessRequestSettings"]; Dictionary <string, object> storedProcessRequestTracker = parameterInputs.Parameters["parameterProcessRequestTracker"]; string storedProcessRequestFileName = parameterInputs.Parameters["parameterProcessRequestFileName"]; string storedProcessRequestMethodName = parameterInputs.Parameters["parameterProcessRequestMethodName"]; int storedProcessRequestStepNumberReplace = parameterInputs.Parameters["parameterProcessRequestStepNumberReplace"]; string storedOutputResponseMessageType = (parameterInputs.Parameters["parameterOutputResponseMessageType"] != null ? parameterInputs.Parameters["parameterOutputResponseMessageType"] : "LOGGING"); if (parameterInputs.Parameters["parameterOutputResponseOPTIONALAccountingCostType"] != null) { storedOutputResponseOPTIONALAccountingCostType = parameterInputs.Parameters["parameterOutputResponseOPTIONALAccountingCostType"]; } if (parameterInputs.Parameters["parameterOutputResponseOPTIONALBeginOfProcess"] != null) { storedOutputResponseOPTIONALBeginOfProcess = parameterInputs.Parameters["parameterOutputResponseOPTIONALBeginOfProcess"]; } if (parameterInputs.Parameters["parameterOutputResponseOPTIONALMiddleOfProcess"] != null) { storedOutputResponseOPTIONALMiddleOfProcess = parameterInputs.Parameters["parameterOutputResponseOPTIONALMiddleOfProcess"]; } if (parameterInputs.Parameters["parameterOutputResponseOPTIONALEndOfProcess"] != null) { storedOutputResponseOPTIONALEndOfProcess = parameterInputs.Parameters["parameterOutputResponseOPTIONALEndOfProcess"]; } if (parameterInputs.Parameters["parameterOutputResponseOPTIONALMasterLeaderIsSecondStep"] != null) { storedOutputResponseOPTIONALMasterLeaderIsSecondStep = parameterInputs.Parameters["parameterOutputResponseOPTIONALMasterLeaderIsSecondStep"]; } #endregion #region MEMORIZE master storer aClass_Programming_ScriptAction_12_2_1_0 <JObject> storedProcessRequestMasterStorer = parameterInputs.Parameters["parameterProcessRequestCentralizedStorer"]; #endregion #endregion #region 2. PROCESS try { #region EXECUTE application logging #region IDEAL CASE - USE developer logger Func <Task <bool> > ExecuteOutputResponse = async() => { #region 1A. SETUP logging output if (storedOutputResponseMessageType.ToUpper() == "LOGGING") { if (storedOutputResponseOPTIONALBeginOfProcess || storedOutputResponseOPTIONALEndOfProcess) { storedOutputResponseMessage = _storedOutputResponseStepTemplate; // "STEP {storedProcessRequestStepNumberReplace}: {storedProcessRequest3WordDescription}\n {storedInputRequestActionName} -> {storedProcessRequestFileName} -> storedProcessRequest\n"; } else { if (!string.IsNullOrEmpty(storedOutputResponseOPTIONALAccountingCostType)) { storedOutputResponseMessage = _storedOutputResponseStepTemplate_Idented_Twice; // " STEP {storedProcessRequestStepNumberReplace}: {storedProcessRequest3WordDescription}\n {storedInputRequestActionName} -> {storedProcessRequestFileName} -> storedProcessRequest\n"; } else { storedOutputResponseMessage = _storedOutputResponseStepTemplate_Idented; // " STEP {storedProcessRequestStepNumberReplace}: {storedProcessRequest3WordDescription}\n {storedInputRequestActionName} -> {storedProcessRequestFileName} -> storedProcessRequest\n"; } } } #endregion #region 1B. SETUP exception output if (storedOutputResponseMessageType.ToUpper() == "MISTAKE") { storedOutputResponseMessage = _storedOutputResponseMistakeTemplate; // ***LEAKY PIPE*** {storedProcessRequest3WordDescription}\n {storedInputRequestActionName} -> {storedProcessRequestFileName} -> storedProcessRequest\n\n"; storedOutputResponseMistake = true; } #endregion #region 2. SETUP default message storedOutputResponseMessage = storedOutputResponseMessage.Replace("{storedProcessRequestStepNumberReplace}", storedProcessRequestStepNumberReplace.ToString()); storedOutputResponseMessage = storedOutputResponseMessage.Replace("{storedProcessRequest3WordDescription}", (storedOutputResponseOPTIONALAccountingCostType != "") ? "[" + storedOutputResponseOPTIONALAccountingCostType.ToUpper() + " COST] - " + storedProcessRequest3WordDescription : "[ZERO COST] - " + storedProcessRequest3WordDescription); storedOutputResponseMessage = storedOutputResponseMessage.Replace("{storedInputRequestActionName}", storedInputRequestActionName); storedOutputResponseMessage = storedOutputResponseMessage.Replace("{storedProcessRequestFileName}", storedProcessRequestFileName); storedOutputResponseMessage = storedOutputResponseMessage.Replace("storedProcessRequest", storedProcessRequestMethodName); #endregion if (!_storedProcessRequestSettings.GetValue <bool>("AppSettings:APP_SETTING_DEVELOPER_MODE_SILENT")) { #region 3A. OUPUT client message if (_storedProcessRequestSettings.GetValue <string>("AppSettings:APP_SETTING_DEVELOPER_MODE").ToUpper() == "CLIENT") { if (storedOutputResponseMistake) { Console.WriteLine("%c" + storedOutputResponseMessage, "color:" + "Orange"); return(true); } if (storedOutputResponseOPTIONALBeginOfProcess == true) { Console.WriteLine("\n\n------------------------------------------------------------------------------------------------------------------------------"); Console.WriteLine("NEW REQUEST - " + storedInputRequestActionName.ToUpper()); Console.WriteLine("------------------------------------------------------------------------------------------------------------------------------\n"); Console.WriteLine("%c" + storedOutputResponseMessage, "color:" + "#94f500"); return(true); } if (storedOutputResponseOPTIONALMiddleOfProcess == true) { Console.WriteLine("%c" + storedOutputResponseMessage, "color:" + "#00c6f5"); return(true); } if (storedOutputResponseOPTIONALAccountingCostType != "") { Console.WriteLine("%c" + storedOutputResponseMessage, "color:" + "Yellow"); return(true); } if (storedOutputResponseOPTIONALEndOfProcess == true) { Console.WriteLine("%c" + storedOutputResponseMessage, "color:" + "#ff0e11"); return(true); } else { Console.WriteLine("%c" + storedOutputResponseMessage, "color:" + "#D3D3D3"); return(true); } } #endregion #region 3B. OUPUT server message if (_storedProcessRequestSettings.GetValue <string>("AppSettings:APP_SETTING_DEVELOPER_MODE").ToUpper() == "SERVER") { if (storedOutputResponseMistake) { //Console.WriteLine("%c" + storedOutputResponseMessage, "color:" + "Orange"); Console.WriteLine(storedOutputResponseMessage); return(true); } if (storedOutputResponseOPTIONALBeginOfProcess == true) { Console.WriteLine("\n\n------------------------------------------------------------------------------------------------------------------------------"); Console.WriteLine("NEW REQUEST - " + storedInputRequestActionName.ToUpper()); Console.WriteLine("------------------------------------------------------------------------------------------------------------------------------\n"); Console.WriteLine(storedOutputResponseMessage); //Console.WriteLine('\x1b[32m', storedOutputResponseMessage, '\x1b[0m'); //GREEN return(true); } if (storedOutputResponseOPTIONALMiddleOfProcess == true) { Console.WriteLine(storedOutputResponseMessage); //Console.WriteLine('\x1b[34m', storedOutputResponseMessage); //BLUE return(true); } if (storedOutputResponseOPTIONALAccountingCostType != "") { Console.WriteLine(storedOutputResponseMessage); //Console.WriteLine("%c" + storedOutputResponseMessage, "color:" + "Yellow"); //YELLOW return(true); } if (storedOutputResponseOPTIONALEndOfProcess == true) { Console.WriteLine(storedOutputResponseMessage); //Console.WriteLine("%c" + storedOutputResponseMessage, "color:" + "#ff0e11"); //RED return(true); } else { Console.WriteLine(storedOutputResponseMessage); //Console.WriteLine('\x1b[37m', storedOutputResponseMessage); //WHITE return(true); } } #endregion } return(await Task.FromResult <bool>(true).ConfigureAwait(true)); }; await ExecuteOutputResponse(); #endregion #endregion } catch (Exception) { #region EDGE CASE - USE return false return(false); #endregion } #endregion #region 3. OUTPUT #region RETURN request handler #region IDEAL CASE - USE true return return(true); #endregion #endregion #endregion }