public string PROCEDURE_ACTION(IConnectToDB _Connect, string ProcedureName, List <DBParameters> EntryProcedureParameters, string _ReturnParameter) { List <DBParameters> ParamListDynamic = new List <DBParameters>(); switch (_Connect.Platform.ToLower()) { case "microsoft": Paramatizer(EntryProcedureParameters, ParamListDynamic); BIG_CALL RUN = new BIG_CALL(); RUN.COMMANDS = new List <SQL_PROCEDURE_CALL>(); RUN.COMMANDS.Add(new SQL_PROCEDURE_CALL { ProcedureType = "value", ProcedureName = ProcedureName, _dbParameters = ParamListDynamic }); DataTable _result = ER_Procedure.SQL_PROCEDURE_PARAMS(_Connect, RUN).COMMANDS[0].result._DataTable; return(ER_Procedure.SQL_PROCEDURE_GET_VALUE("@" + _ReturnParameter, _result)); default: return("Invalid DB Platform"); } }
private static void RunGeneratedCommand(IConnectToDB _Connect, T thisModel, SQLProcedureModels.BIG_CALL RUN) { DataTable _result = ER_Procedure.SQL_PROCEDURE_PARAMS(_Connect, RUN).COMMANDS[0].result._DataTable; //DataRow[] outputRow = _result.Select("ID = " + outputParam); string attemptedSQL = _result.Rows.Count > 0 && _result.Rows[0].Field <string>("ChildSQL") != null ? _result.Rows[0].Field <string>("ChildSQL").ToString() : ""; bool isError = _result.Rows.Count > 0 && _result.Rows[0].Field <string>("ChildType") != null && _result.Rows[0].Field <string>("ChildType").ToString() == "Error"; if (!String.IsNullOrWhiteSpace(attemptedSQL)) { thisModel.GetType().GetProperty("V_ATTEMPTED_SQL")?.SetValue(thisModel, attemptedSQL, null); } if (isError) { try { thisModel.GetType().GetProperty("O_ERR_MESS")?.SetValue(thisModel, _result.Rows[0].Field <string>("ChildValue").ToString(), null); } catch (Exception) { } } else { foreach (DataRow row in _result.Rows) { var modelProperty = row["ChildItem"].ToString().Replace("@", ""); var thisValue = row["ChildValue"]; if (modelProperty.Substring(0, 2) == "O_") { var propertyType = thisModel.GetType().GetProperty(modelProperty)?.PropertyType; object propertyVal = row["ChildValue"]; if (propertyType != null) { //propertyVal = Convert.ChangeType(thisValue, propertyType); propertyVal = ChangeType(propertyVal, propertyType); } if (propertyVal != null) { thisModel.GetType().GetProperty(modelProperty)?.SetValue(thisModel, propertyVal, null); } } //if (row.ItemArray[2].ToString() == ReturnValueFor && Int64.TryParse(row.ItemArray[3].ToString(), out outputid)) //{ // thisModel.GetType().GetProperty(outputParam).SetValue(thisModel, outputid, null); //} } } }
public DataTable GetIdentities(IConnectToDB _Connect, IdentitySearch Model) { ER_DML er_dml = new ER_DML(); VirtualProcedureCall ProcedureModel = new VirtualProcedureCall(); ProcedureModel.ProcedureName = "VW__IDENTITIES_SEARCH"; ProcedureModel.ProcedureReturnType = "query"; ProcedureModel.ProcedureParams = new List <ProcedureParameterStruct>(); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_SEARCH", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "MAX", ParamValue = Model.Search }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_WHERE", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "MAX", ParamValue = Model.Where }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_STARTING_ROW", MSSqlParamDataType = "bigint", ParamDirection = "input", ParamValue = Model.StartingRow }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_LENGTH_OF_SET", MSSqlParamDataType = "bigint", ParamDirection = "input", ParamValue = Model.LengthOfSet }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_ORDER_BY", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "MAX", ParamValue = Model.OrderBy }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_USER_NAME", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "50", ParamValue = Model.Username }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_EDIPI", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "10", ParamValue = Model.Edipi }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_EMAIL", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "254", ParamValue = Model.Email }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_ACTIVE", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "1", ParamValue = Model.Active }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_VERIFIED", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "1", ParamValue = Model.Verified }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_OBJECT_LAYER", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "30", ParamValue = Model.ObjectLayer }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_VERIFY", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "1", ParamValue = Model.Verify }); DataTable _Result = ER_Procedure.VIRTUAL_PROCEDURE_CALL(_Connect, ProcedureModel); return(_Result); }
public DataTable GetIdentitiesCount(IConnectToDB _Connect, IdentitySearchCount Model) { ER_DML er_dml = new ER_DML(); VirtualProcedureCall ProcedureModel = new VirtualProcedureCall(); ProcedureModel.ProcedureName = "IDENTITIES_SEARCH_COUNT"; ProcedureModel.ProcedureReturnType = "value"; ProcedureModel.ProcedureParams = new List <ProcedureParameterStruct>(); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_SEARCH", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "MAX", ParamValue = Model.Search }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_WHERE", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "MAX", ParamValue = Model.Where }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_USER_NAME", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "50", ParamValue = Model.Username }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_EDIPI", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "10", ParamValue = Model.Edipi }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_EMAIL", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "254", ParamValue = Model.Email }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_ACTIVE", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "1", ParamValue = Model.Active }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_VERIFIED", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "1", ParamValue = Model.Verified }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_OBJECT_LAYER", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "30", ParamValue = Model.ObjectLayer }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "P_VERIFY", MSSqlParamDataType = "varchar", ParamDirection = "input", ParamSize = "1", ParamValue = Model.Verify }); ProcedureModel.ProcedureParams.Add(new ProcedureParameterStruct { ParamName = "O_ATTEMPTED_RESULTS", MSSqlParamDataType = "varchar", ParamDirection = "output", ParamSize = "MAX" }); DataTable _Result = ER_Procedure.VIRTUAL_PROCEDURE_CALL(_Connect, ProcedureModel); return(_Result); }