コード例 #1
0
 /// <summary>
 /// This method is complicated. what it does is that it take one type of parameter as passing parameters and different types as Return type
 /// THis will enable users to genaralize the passing and retrning types
 /// </summary>
 /// <typeparam name="TPassing">Type that need to pass as parameters</typeparam>
 /// <typeparam name="TOut">Type you want to return from the method</typeparam>
 /// <param name="SPName">Stored procudure to exute</param>
 /// <param name="Object">Passing object</param>
 /// <returns></returns>
 public async Task <IEnumerable <TOut> > QueryStoredProcedure <TPassing, TOut>(string SPName, TPassing Object) where TOut : class  where TPassing : class
 {
     try
     {
         var xmlperson = XMLTools.ObjectToXMLGeneric <TPassing>(Object);
         using (IDbConnection db = Conn)
         {
             DynamicParameters parameter = new DynamicParameters();
             parameter.Add("@XMLSQL", xmlperson, DbType.String, ParameterDirection.Input);
             parameter.Add("@Status", dbType: DbType.Int32, direction: ParameterDirection.Output);
             return(await db.QueryAsync <TOut>(SPName, parameter, commandType : CommandType.StoredProcedure));
         }
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
コード例 #2
0
        public async Task <int> ExcuteStoredProcedureToSave <T>(string SPName, T Object) where T : class
        {
            try
            {
                var xmlperson = XMLTools.ObjectToXMLGeneric <T>(Object);
                using (IDbConnection db = Conn)
                {
                    DynamicParameters parameter = new DynamicParameters();
                    parameter.Add("@XMLSQL", xmlperson, DbType.String, ParameterDirection.Input);
                    parameter.Add("@Status", dbType: DbType.Int32, direction: ParameterDirection.Output);
                    await db.ExecuteAsync(SPName, parameter, commandType : CommandType.StoredProcedure);

                    int rowCount = parameter.Get <int>("@Status");
                    return(rowCount);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }