コード例 #1
0
        //A. Constructor Instantiation
        public Page_3_5_Process_StorySetting_12_3_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)parameterInputs.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
        }
コード例 #2
0
        //A. Page in motion (DO SOMETHING)
        public override async Task <JObject> Action()
        {
            #region 1. INPUTS

            #region DEFINE parameter inputs

            SingleParmPoco_12_2_1_0 storedInputs = null;

            #endregion

            #region DEFINE html details

            dynamic storedHtmlContainerJSON = "";
            dynamic storedHtmlRowsJSON      = "";
            dynamic storedHtmlColumnsJSON   = "";
            dynamic storedHtmlContentJSON   = "";

            dynamic storedHtmlStylesFiltered = "";
            dynamic storedHtmlStylesJSON     = "";

            string storedHtmlResultInlineStylesString = "";
            string storedHtmlResultString             = "";

            #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", "CONVERTING json to html");
            //storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterInputRequestActionName", _parameterInputs.Parameters.getValue("parameterInputRequestActionName"));
            storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestSettings", _storedProcessRequestTracker["storedProcessRequestSettings"]);
            storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestTracker", _storedProcessRequestTracker);
            storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestFileName", "Director_Of_WebDevelopment_Chapter_12_3_Page_3_OutputHomeScreen_Handler_1_0 -> Page_3_5_Process_StorySetting_12_3_1_0.cs");
            storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestMethodName", "Action");

            //OPTIONAL
            //storedProcessRequestDeveloperLoggingInputs.Parameters.setValue("parameterOPTIONALIgnoreDeveloperConsoleLog", parameterInputs.Parameters["parameterOPTIONALIgnoreDeveloperConsoleLog"));

            #endregion

            #region MEMORIZE observation details

            storedInputs = new SingleParmPoco_12_2_1_0();

            string storedOutputResponseObservationPresentationTemplateItem = @"{ 'htmlResult': '{htmlResult}' }";
            string storedOutputResponseObservationBusinessTemplateItem     = "{}";
            string storedOutputResponseObservationServiceTemplateItem      = "{}";
            string storedOutputResponseObservationSecurityTemplateItem     = "{}";
            string storedOutputResponseObservationDataTemplateItem         = "{}";

            storedInputs.Parameters.Add("parameterProcessRequest3WordDescription", "RENDER web page");
            storedInputs.Parameters.Add("parameterInputRequestActionName", _storedInputRequestActionName);
            storedInputs.Parameters.Add("parameterProcessRequestSettings", _storedProcessRequestSettings);
            storedInputs.Parameters.Add("parameterProcessRequestTracker", _storedProcessRequestTracker);
            storedInputs.Parameters.Add("parameterOutputResponseObservationFileName", "Page_3_5_Process_StorySetting_12_3_1_0.cs");
            storedInputs.Parameters.Add("parameterOutputResponseObservationMethodName", "Action");
            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);

            string storedOutputResponseObservationItem = await Extension_Studio_Automation_Programming_Chapter_12_2_Page_0_ControlMasterLeader_Handler_1_0.Step_X_X_Framework_Output_JsonObservationNode_1_0(storedInputs);

            #endregion

            #region MEMORIZE storyline details

            dynamic storedProcessRequestDataStorylineDetails = _storedProcessRequestDataStorylineDetails;

            #endregion

            #endregion

            #region 2. PROCESS

            #region EXECUTE json to html conversion

            try
            {
                #region IDEAL CASE - USE baseDI converter

                #region 1. CONVERT html container

                try
                {
                    Func <Task <string> > ExecuteConversionRequest = async() =>
                    {
                        storedInputs = new SingleParmPoco_12_2_1_0();
                        storedInputs.Parameters.Add("parameterProcessRequestSettings", _storedProcessRequestSettings);
                        storedInputs.Parameters.Add("parameterProcessRequestTracker", _storedProcessRequestTracker);
                        storedInputs.Parameters.Add("parameterProcessRequestDataToFilter", storedProcessRequestDataStorylineDetails);
                        storedInputs.Parameters.Add("parameterProcessRequestDataToFilterKey", "searchkey");
                        storedInputs.Parameters.Add("parameterProcessRequestDataToFilterValue", "HTMLContentItem_SetImplementer_ProductCreation_WebDevelopment_HTMLContainer");
                        storedInputs.Parameters.Add("parameterOutputResponseAsArray", false);

                        storedHtmlContainerJSON = Extension_Studio_Automation_Programming_Chapter_12_2_Page_0_ControlMasterLeader_Handler_1_0.Step_X_X_Framework_Convert_JsonDataSetToNodes_1_0(storedInputs).Result.SingleOrDefault().Parent.Parent;

                        storedInputs = new SingleParmPoco_12_2_1_0();
                        storedInputs.Parameters.Add("parameterInputRequestHtmlContainerJSON", storedHtmlContainerJSON);
                        storedInputs.Parameters.Add("parameterProcessRequestTracker", _storedProcessRequestTracker);
                        storedInputs.Parameters.Add("parameterProcessRequestSettings", _storedProcessRequestSettings);
                        storedInputs.Parameters.Add("parameterProcessRequestCentralizedStorer", _storedProcessRequestCentralizedStorer);
                        storedInputs.Parameters.Add("parameterProcessRequestDataStorylineDetails", storedProcessRequestDataStorylineDetails);

                        storedHtmlResultString = await Extension_Director_Of_WebDevelopment_Chapter_12_3_Page_0_GoalHelper_Handler_1_0.Step_1_0_Framework_Convert_HtmlContainerJsonToHtml_1_0(storedInputs);

                        return(storedHtmlResultString);
                    };

                    storedHtmlResultString = await ExecuteConversionRequest();
                }
                catch (Exception storedProcessRequestMistake)
                {
                    throw new Exception("converting html container", storedProcessRequestMistake);
                }
                #endregion

                #region 2. CONVERT html rows

                try
                {
                    Func <Task <string> > ExecuteConversionRequest = async() =>
                    {
                        storedInputs = new SingleParmPoco_12_2_1_0();
                        storedInputs.Parameters.Add("parameterProcessRequestSettings", _storedProcessRequestSettings);
                        storedInputs.Parameters.Add("parameterProcessRequestTracker", _storedProcessRequestTracker);
                        storedInputs.Parameters.Add("parameterProcessRequestDataToFilter", storedProcessRequestDataStorylineDetails);
                        storedInputs.Parameters.Add("parameterProcessRequestDataToFilterKey", "searchkey");
                        storedInputs.Parameters.Add("parameterProcessRequestDataToFilterValue", "HTMLContentItem_SetImplementer_ProductCreation_WebDevelopment_HTMLRows");
                        storedInputs.Parameters.Add("parameterOutputResponseAsArray", false);

                        storedHtmlRowsJSON = Extension_Studio_Automation_Programming_Chapter_12_2_Page_0_ControlMasterLeader_Handler_1_0.Step_X_X_Framework_Convert_JsonDataSetToNodes_1_0(storedInputs).Result.SingleOrDefault().Parent.Parent;

                        storedInputs = new SingleParmPoco_12_2_1_0();
                        storedInputs.Parameters.Add("parameterInputRequestHtmlRowsJSON", storedHtmlRowsJSON);
                        storedInputs.Parameters.Add("parameterOutputResponseHtmlContainerString", storedHtmlResultString);
                        storedInputs.Parameters.Add("parameterProcessRequestTracker", _storedProcessRequestTracker);
                        storedInputs.Parameters.Add("parameterProcessRequestSettings", _storedProcessRequestSettings);
                        storedInputs.Parameters.Add("parameterProcessRequestCentralizedStorer", _storedProcessRequestCentralizedStorer);
                        storedInputs.Parameters.Add("parameterProcessRequestDataStorylineDetails", storedProcessRequestDataStorylineDetails);

                        storedHtmlResultString = await Extension_Director_Of_WebDevelopment_Chapter_12_3_Page_0_GoalHelper_Handler_1_0.Step_2_0_Framework_Convert_HtmlRowsJsonToHtml_1_0(storedInputs);

                        return(storedHtmlResultString);
                    };

                    storedHtmlResultString = await ExecuteConversionRequest();
                }
                catch (Exception storedProcessRequestMistake)
                {
                    throw new Exception("converting html rows", storedProcessRequestMistake);
                }

                #endregion

                #region 3. CONVERT html columns

                try
                {
                    Func <Task <string> > ExecuteConversionRequest = async() =>
                    {
                        storedInputs = new SingleParmPoco_12_2_1_0();
                        storedInputs.Parameters.Add("parameterProcessRequestSettings", _storedProcessRequestSettings);
                        storedInputs.Parameters.Add("parameterProcessRequestTracker", _storedProcessRequestTracker);
                        storedInputs.Parameters.Add("parameterProcessRequestDataToFilter", storedProcessRequestDataStorylineDetails);
                        storedInputs.Parameters.Add("parameterProcessRequestDataToFilterKey", "searchkey");
                        storedInputs.Parameters.Add("parameterProcessRequestDataToFilterValue", "HTMLContentItem_SetImplementer_ProductCreation_WebDevelopment_HTMLColumns");
                        storedInputs.Parameters.Add("parameterOutputResponseAsArray", false);

                        storedHtmlColumnsJSON = Extension_Studio_Automation_Programming_Chapter_12_2_Page_0_ControlMasterLeader_Handler_1_0.Step_X_X_Framework_Convert_JsonDataSetToNodes_1_0(storedInputs).Result.SingleOrDefault().Parent.Parent;

                        storedInputs = new SingleParmPoco_12_2_1_0();
                        storedInputs.Parameters.Add("parameterInputRequestHtmlColumnsJSON", storedHtmlColumnsJSON);
                        storedInputs.Parameters.Add("parameterOutputResponseHtmlRowString", storedHtmlResultString);
                        storedInputs.Parameters.Add("parameterProcessRequestTracker", _storedProcessRequestTracker);
                        storedInputs.Parameters.Add("parameterProcessRequestSettings", _storedProcessRequestSettings);
                        storedInputs.Parameters.Add("parameterProcessRequestCentralizedStorer", _storedProcessRequestCentralizedStorer);
                        storedInputs.Parameters.Add("parameterProcessRequestDataStorylineDetails", storedProcessRequestDataStorylineDetails);

                        storedHtmlResultString = await Extension_Director_Of_WebDevelopment_Chapter_12_3_Page_0_GoalHelper_Handler_1_0.Step_3_0_Framework_Convert_HtmlColumnsJsonToHtml_1_0(storedInputs);

                        return(storedHtmlResultString);
                    };

                    storedHtmlResultString = await ExecuteConversionRequest();
                }
                catch (Exception storedProcessRequestMistake)
                {
                    throw new Exception("converting html rows", storedProcessRequestMistake);
                }

                #endregion

                #region 4. CONVERT html content

                try
                {
                    Func <Task <string> > ExecuteConversionRequest = async() =>
                    {
                        storedInputs = new SingleParmPoco_12_2_1_0();
                        storedInputs.Parameters.Add("parameterProcessRequestSettings", _storedProcessRequestSettings);
                        storedInputs.Parameters.Add("parameterProcessRequestTracker", _storedProcessRequestTracker);
                        storedInputs.Parameters.Add("parameterProcessRequestDataToFilter", storedProcessRequestDataStorylineDetails);
                        storedInputs.Parameters.Add("parameterProcessRequestDataToFilterKey", "searchkey");
                        storedInputs.Parameters.Add("parameterProcessRequestDataToFilterValue", "HTMLContentItem_SetImplementer_ProductCreation_WebDevelopment_HTMLContent");
                        storedInputs.Parameters.Add("parameterOutputResponseAsArray", false);

                        storedHtmlContentJSON = Extension_Studio_Automation_Programming_Chapter_12_2_Page_0_ControlMasterLeader_Handler_1_0.Step_X_X_Framework_Convert_JsonDataSetToNodes_1_0(storedInputs).Result.SingleOrDefault().Parent.Parent;

                        storedInputs = new SingleParmPoco_12_2_1_0();
                        storedInputs.Parameters.Add("parameterInputRequestHtmlContentJSON", storedHtmlContentJSON);
                        storedInputs.Parameters.Add("parameterOutputResponseHtmlColumnString", storedHtmlResultString);
                        storedInputs.Parameters.Add("parameterProcessRequestTracker", _storedProcessRequestTracker);
                        storedInputs.Parameters.Add("parameterProcessRequestSettings", _storedProcessRequestSettings);
                        storedInputs.Parameters.Add("parameterProcessRequestCentralizedStorer", _storedProcessRequestCentralizedStorer);
                        storedInputs.Parameters.Add("parameterProcessRequestDataStorylineDetails", storedProcessRequestDataStorylineDetails);

                        storedHtmlResultString = await Extension_Director_Of_WebDevelopment_Chapter_12_3_Page_0_GoalHelper_Handler_1_0.Step_4_0_Framework_Convert_HtmlContentJsonToHtml_1_0(storedInputs);

                        return(storedHtmlResultString);
                    };

                    storedHtmlResultString = await ExecuteConversionRequest();
                }
                catch (Exception storedProcessRequestMistake)
                {
                    throw new Exception("converting html content", storedProcessRequestMistake);
                }

                #endregion

                #region 5. CONVERT html inline styles

                try
                {
                    Func <Task <string> > ExecuteConversionRequest = async() =>
                    {
                        storedInputs = new SingleParmPoco_12_2_1_0();
                        storedInputs.Parameters.Add("parameterProcessRequestSettings", _storedProcessRequestSettings);
                        storedInputs.Parameters.Add("parameterProcessRequestTracker", _storedProcessRequestTracker);
                        storedInputs.Parameters.Add("parameterProcessRequestDataToFilter", storedProcessRequestDataStorylineDetails);
                        storedInputs.Parameters.Add("parameterProcessRequestDataToFilterKey", "searchkey");
                        storedInputs.Parameters.Add("parameterProcessRequestDataToFilterValue", "HTMLContentStylingDetails_SetImplementer_ProductCreation_WebDevelopment_CSS");
                        storedInputs.Parameters.Add("parameterOutputResponseAsArray", false);

                        storedHtmlStylesFiltered = Extension_Studio_Automation_Programming_Chapter_12_2_Page_0_ControlMasterLeader_Handler_1_0.Step_X_X_Framework_Convert_JsonDataSetToNodes_2_0(storedInputs).Result.SingleOrDefault();

                        storedHtmlStylesJSON = storedHtmlStylesFiltered.Count > 0 ? storedHtmlStylesFiltered[0].Parent.Parent :  null;

                        storedInputs = new SingleParmPoco_12_2_1_0();
                        storedInputs.Parameters.Add("parameterInputRequestHtmlStylesJSON", storedHtmlStylesJSON);
                        storedInputs.Parameters.Add("parameterProcessRequestTracker", _storedProcessRequestTracker);
                        storedInputs.Parameters.Add("parameterProcessRequestSettings", _storedProcessRequestSettings);
                        storedInputs.Parameters.Add("parameterProcessRequestCentralizedStorer", _storedProcessRequestCentralizedStorer);
                        storedInputs.Parameters.Add("parameterProcessRequestDataStorylineDetails", storedProcessRequestDataStorylineDetails);

                        return(await Extension_Director_Of_WebDevelopment_Chapter_12_3_Page_0_GoalHelper_Handler_1_0.Step_5_0_Framework_Convert_HtmlCssJSONToInlineStyles_1_0(storedInputs));
                    };

                    storedHtmlResultInlineStylesString = await ExecuteConversionRequest();
                }
                catch (Exception storedProcessRequestMistake)
                {
                    throw new Exception("converting html inline styles", storedProcessRequestMistake);
                }

                #endregion

                #region 6. CONVERT html inline scripts

                //TODO
                try
                {
                    Func <Task <string> > ExecuteConversionRequest = async() => {
                        return(await Task.FromResult <string>("").ConfigureAwait(true));
                    };
                }
                catch (Exception storedProcessRequestMistake)
                {
                    throw new Exception("converting html inline scripts", storedProcessRequestMistake);
                }

                #endregion

                #region 7. CONVERT html inline metadata

                //TODO
                try
                {
                    Func <Task <string> > ExecuteConversionRequest = async() => {
                        return(await Task.FromResult <string>("").ConfigureAwait(true));
                    };
                }
                catch (Exception storedProcessRequestMistake)
                {
                    throw new Exception("converting html inline metadata", storedProcessRequestMistake);
                }

                #endregion

                #region 8. OUTPUT html string

                try
                {
                    Func <Task <string> > ExecuteOutputResponse = async() =>
                    {
                        storedInputs = new SingleParmPoco_12_2_1_0();
                        storedInputs.Parameters.Add("parameterInputRequestHtmlMetaData", "");
                        storedInputs.Parameters.Add("parameterInputRequestHtmlTitle", "");
                        storedInputs.Parameters.Add("parameterInputRequestHtmlScripts", "");
                        storedInputs.Parameters.Add("parameterInputRequestHtmlStyles", storedHtmlResultInlineStylesString);
                        storedInputs.Parameters.Add("parameterInputRequestHtmlAdditionalHeadData", "");
                        storedInputs.Parameters.Add("parameterInputRequestHtmlBody", storedHtmlResultString);
                        storedInputs.Parameters.Add("parameterProcessRequestTracker", _storedProcessRequestTracker);
                        storedInputs.Parameters.Add("parameterProcessRequestSettings", _storedProcessRequestSettings);
                        storedInputs.Parameters.Add("parameterProcessRequestCentralizedStorer", _storedProcessRequestCentralizedStorer);
                        storedInputs.Parameters.Add("parameterProcessRequestDataStorylineDetails", storedProcessRequestDataStorylineDetails);

                        return(await Extension_Director_Of_WebDevelopment_Chapter_12_3_Page_0_GoalHelper_Handler_1_0.Step_8_0_Framework_Convert_HtmlStructureToString_1_0(storedInputs));
                    };

                    storedHtmlResultString = await ExecuteOutputResponse();
                }
                catch (Exception storedProcessRequestMistake)
                {
                    throw new Exception("converting html content", storedProcessRequestMistake);
                }

                #endregion

                #region 9. STORE html string

                try
                {
                    Func <Task <JObject> > ExecuteOutputResponse = async() => {
                        storedOutputResponseObservationItem = storedOutputResponseObservationItem.Replace("'", "\"");
                        storedOutputResponseObservationItem = storedOutputResponseObservationItem.Replace("{htmlResult}", Regex.Unescape(storedHtmlResultString));

                        storedProcessRequestDataStorylineDetails.outputs[1].baseDIObservations.Add((JObject.Parse(storedOutputResponseObservationItem) as dynamic).baseDIObservations[0].observation);

                        return(storedProcessRequestDataStorylineDetails);
                    };

                    StorylineDetails = await ExecuteOutputResponse();
                }
                catch (Exception storedProcessRequestMistake)
                {
                    throw new Exception("storing html string output observation", storedProcessRequestMistake);
                }

                #endregion

                #endregion
            }
            catch (Exception storedProcessRequestMistake)
            {
                #region EDGE CASE - USE developer logger

                if (storedProcessRequestDeveloperMode)
                {
                    _storedProcessRequestTracker["storedProcessRequestStepNumber"] = (int)_storedProcessRequestTracker["storedProcessRequestStepNumber"] + 1;

                    storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequest3WordDescription", "FAILED converting json to html");
                    storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterOutputResponseMessageType", "Mistake"); //Values = Logging or Mistake
                    storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestStepNumberReplace", _storedProcessRequestTracker["storedProcessRequestStepNumber"]);
                    storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestMethodName", "Step_0_0_Framework_Store_HtmlAttributesToArray_1_0.ExecuteConversionRequest");
                    storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestMistake", storedProcessRequestMistake);

                    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("CONVERSION request failed " + storedProcessRequestMistake.ToString());

                #endregion
            }

            #endregion

            #endregion

            #region 3. OUTPUT

            #region RETURN process response

            #region IDEAL CASE - USE baseDI dataset

            return(await Task.FromResult <JObject>(StorylineDetails).ConfigureAwait(true));

            #endregion

            #endregion

            #endregion
        }
コード例 #3
0
        //A. Constructor Instantiation
        public RemoteService_Director_Of_Security_Chapter_12_5_Page_1_StoreAuthentication_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 <Exception> Step_X_X_Framework_Control_DeveloperException_1_0(SingleParmPoco_12_2_1_0 parameterInputs)
        {
            #region 1. Inputs

            #region MEMORIZE client/server instance

            _storedProcessRequestTracker = parameterInputs.Parameters["storedProcessRequestTracker"];

            #endregion

            #region MEMORIZE app settings

            _storedProcessRequestSettings = (IConfiguration)_storedProcessRequestTracker["storedProcessRequestSettings"];

            #endregion

            #region MEMORIZE developer mode

            bool storedProcessRequestDeveloperMode = _storedProcessRequestSettings.GetValue <bool>("AppSettings:APP_SETTING_DEVELOPER_MODE");

            #endregion

            #region MEMORIZE exception details

            _storedProcessRequestMistake = parameterInputs.Parameters["storedProcessRequestMistake"];

            #endregion

            #region MEMORIZE extra data

            _storedProcessRequestExtraData = parameterInputs.Parameters["storedProcessRequestExtraData"];

            #endregion

            #endregion

            #region 2. PROCESS

            try
            {
                #region HANDLE application mistake

                #region EDGE CASE - USE developer logger


                #endregion

                #region IDEAL CASE - USE an experience OR a director request handler


                #endregion

                #endregion
            }
            catch (Exception)
            {
                #region EDGE CASE - USE exception handler



                #endregion
            }

            #endregion

            #region 3. OUTPUT

            #region RETURN request handler

            #region IDEAL CASE - USE an experience OR a director handler

            return(null);

            #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
        }
        //A. Page in motion (DO SOMETHING)
        public override async Task <JObject> Action()
        {
            #region 1. INPUTS

            #region DEFINE control variables

            #endregion

            #region DEFINE input variables


            #endregion

            #region DEFINE process variables

            dynamic storedProcessRequestResponseData = null;

            #endregion

            #region DEFINE output variables

            JObject storedOutputResponseData = null;

            Func <SingleParmPoco_12_2_1_0, JObject> ExecuteOutputResponse = null;

            #endregion

            ///////////////////////////////////////////////////////////

            #region MEMORIZE control variables

            #region MEMORIZE control xxx xxx


            #endregion

            #endregion

            #region MEMORIZE input variables

            #region MEMORIZE input xxx xxxx


            #endregion

            #endregion

            #region MEMORIZE process variables

            #region MEMORIZE process developer mode

            bool storedProcessRequestDeveloperMode = _storedProcessRequestSettings.GetValue <bool>("AppSettings:APP_SETTING_DEVELOPER_MODE");

            if (_storedProcessRequestTracker["storedProcessRequestStepNumber"] == null)
            {
                _storedProcessRequestTracker["storedProcessRequestStepNumber"] = 0;
            }

            SingleParmPoco_12_2_1_0 storedProcessRequestDeveloperLoggingStartUpProcessInputs = (_storedProcessRequestExtraData?.KeyValuePairs?["storedProcessRequestDeveloperLoggingInputs"] != null ? _storedProcessRequestExtraData?.KeyValuePairs?["storedProcessRequestDeveloperLoggingInputs"] as SingleParmPoco_12_2_1_0 : null);

            SingleParmPoco_12_2_1_0 storedProcessRequestDeveloperLoggingInputs = new SingleParmPoco_12_2_1_0();

            //REQUIRED

            //0. CONTROLLERS

            //1. INPUTS
            storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterInputRequestActionName", _storedInputs.Parameters["parameterInputRequestActionName"]);

            //2. PROCESS
            storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequest3WordDescription", "BEGIN handling request");
            storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestSettings", _storedProcessRequestTracker["storedProcessRequestSettings"]);
            storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestTracker", _storedProcessRequestTracker);
            storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestFileName", "{DirectorOrExperienceName} -> Page_P_S_Process_StoryExperiences_G_N_V_V.cs");
            storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterProcessRequestMethodName", "Action");

            //3. OUTPUTS

            //OPTIONAL
            //storedProcessRequestDeveloperLoggingInputs.Parameters.Add("parameterOutputResponseOPTIONALBeginOfProcess", true);

            #endregion

            #region MEMORIZE process request details

            _storedInputs.Parameters["parameterProcessRequestName"] = null;

            #endregion

            #endregion

            #region MEMORIZE output variables

            #region MEMORIZE output xxx xxx


            #endregion

            #endregion

            #endregion

            #region 2. PROCESS

            #region EXECUTE xxx xxx

            try
            {
                #region IDEAL CASE - USE xxx xxx

                #endregion
            }
            catch (Exception storedProcessRequestMistake)
            {
                #region EDGE CASE - USE developer logger

                if (storedProcessRequestDeveloperMode)
                {
                    _storedProcessRequestTracker["storedProcessRequestStepNumber"] = (int)_storedProcessRequestTracker["storedProcessRequestStepNumber"] + 1;

                    Console.WriteLine("STEP " + _storedProcessRequestTracker["storedProcessRequestStepNumber"] + ": ***LEAKY PIPE*** DATA RETRIVAL for request " + _storedInputRequestActionName + " -> " + _storedInputRequestName + " could not be completed successfully. Please check ***AppSettings.json*** for APP_SETTING_CONVERSION_MODE_XXX value.");
                }

                #endregion

                #region EDGE CASE - USE exception handler

                throw storedProcessRequestMistake;

                #endregion
            }

            #endregion

            #endregion

            #region 3. OUTPUT

            #region RETURN process response

            #region IDEAL CASE - USE baseDI dataset

            return(await Task.FromResult <JObject>(StorylineDetails).ConfigureAwait(true));

            #endregion

            #endregion

            #endregion
        }