Exemplo n.º 1
0
        public virtual Dictionary <string, object> ExecuteStoredProcedure(string storedProcedureName, Dictionary <string, object> parameters,
                                                                          Dictionary <string, object> outParameters)
        {
            DbCommand command = dbCommandFactory.CreateCommand(storedProcedureName);

            if (parameters != null)
            {
                foreach (var item in parameters)
                {
                    command.Parameters.Add(dbCommandFactory.CreateParameter(item.Key, item.Value));
                }
            }

            if (outParameters != null)
            {
                foreach (var item in outParameters)
                {
                    command.Parameters.Add(dbCommandFactory.CreateOutputParameter(item.Key, item.Value.GetType()));
                }
            }

            int effect = dbCommandExecutionService.ExecuteCommand(command);

            Dictionary <string, object> result = null;

            if (outParameters != null)
            {
                result = new Dictionary <string, object>();
                foreach (var item in outParameters)
                {
                    result.Add(item.Key, command.Parameters[item.Key].Value);
                }
            }

            return(result);
        }