public Tuple <IEnumerable <T1>, IEnumerable <T2>, IEnumerable <T3> > QueryWithMultiOutput <T1, T2, T3>(string query, Dictionary <string, SqlParam> parameters = null) { Dapper.SqlMapper.GridReader reader = null; var _connection = Context.Connection; if (parameters == null) { using (var result = _connection.QueryMultiple(query, null, null, null, CommandType.StoredProcedure)) { reader = result; var data1 = reader.Read <T1>().ToList(); var data2 = reader.Read <T2>().ToList(); var data3 = reader.Read <T3>().ToList(); _connection.Close(); return(new Tuple <IEnumerable <T1>, IEnumerable <T2>, IEnumerable <T3> >(data1, data2, data3)); } } else { var ps = new SqlDynamicParameters(); foreach (var p in parameters) { ps.Add(p.Key, p.Value.Value, p.Value.SqlType, p.Value.Direction); } using (var result = _connection.QueryMultiple(query, ps, null, 1000000, CommandType.StoredProcedure)) { var data1 = result.Read <T1>().ToList(); var data2 = result.Read <T2>().ToList(); var data3 = result.Read <T3>().ToList(); _connection.Close(); return(new Tuple <IEnumerable <T1>, IEnumerable <T2>, IEnumerable <T3> >(data1, data2, data3)); } } }
public int RegisterUser(IList<BusinessObject.User> userInfor, IUnitOfWork unitOfWork) { ValidateUnitOfWork(unitOfWork); string procedureName = "dbo.CreateUser"; var parameters = new SqlDynamicParameters(); parameters.AddAsTable("@User", userInfor); var result = unitOfWork.Query<BusinessObject.User>(procedureName, parameters, commandType: CommandType.StoredProcedure); return result == null? 0 : 1; }
public int DeleteTopic(IList<int> topicId, IUnitOfWork unitOfWork) { ValidateUnitOfWork(unitOfWork); string procedureName = "dbo.DeleteTopic"; var parameters = new SqlDynamicParameters(); parameters.AddAsTable("@TopicIds", topicId); var result = unitOfWork.Execute(procedureName, parameters, commandType: CommandType.StoredProcedure); return result; }
public int SaveTopic(IList<BusinessObject.Topic> topicInfo, IUnitOfWork unitOfWork) { ValidateUnitOfWork(unitOfWork); string procedureName = "dbo.SaveTopic"; var parameters = new SqlDynamicParameters(); parameters.AddAsTable("@Topic", topicInfo); var result = unitOfWork.Query<BusinessObject.Topic>(procedureName, parameters, commandType: CommandType.StoredProcedure); return result == null? 0 : 1; }
public int ExecuteNonQuery(string query, Dictionary <string, SqlParam> parameters = null) { int result; SqlDynamicParameters ps = null; if (parameters != null && parameters.Any()) { ps = new SqlDynamicParameters(); foreach (var p in parameters) { ps.Add(p.Key, p.Value.Value, p.Value.SqlType, p.Value.Direction); } } var _connection = Context.Connection; result = _connection.Execute(query, ps, null, null, CommandType.StoredProcedure); _connection.Close(); return(result); }