using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.Json;
using MySql.Data.MySqlClient;
namespace ddq
{
public class DataAccess
{
private static String connectionString = ConfigurationManager.ConnectionStrings["MySQL"].ConnectionString;
///
/// 取基金基本信息
///
///
///
public static DataTable Get_fund_info(string fundIds, int? userId)
{
MySqlConnection connection = new MySqlConnection(connectionString);
MySqlDataAdapter ad = new MySqlDataAdapter("sp_tamp_get_fund_info", connection);
MySqlParameter i_fundIds = new MySqlParameter("i_fund_ids", fundIds);
MySqlParameter i_userId = new MySqlParameter("i_userid", userId);
ad.SelectCommand.Parameters.Add(i_fundIds);
ad.SelectCommand.Parameters.Add(i_userId);
ad.SelectCommand.CommandType = CommandType.StoredProcedure;
DataTable dt = new DataTable();
ad.Fill(dt);
connection.Close();
return dt;
}
///
/// 根据公司搜索基金
///
///
///
///
///
public static DataTable Get_fund_list_by_company(string companyId, int pageNum, int pageSize)
{
MySqlConnection connection = new MySqlConnection(connectionString);
MySqlDataAdapter ad = new MySqlDataAdapter("sp_tamp_get_fund_list_of_companay", connection);
MySqlParameter i_company_id = new MySqlParameter("i_company_id", companyId);
MySqlParameter i_page_num = new MySqlParameter("i_page_num", pageNum);
MySqlParameter i_page_size = new MySqlParameter("i_page_size", pageSize);
ad.SelectCommand.Parameters.Add(i_company_id);
ad.SelectCommand.Parameters.Add(i_page_num);
ad.SelectCommand.Parameters.Add(i_page_size);
ad.SelectCommand.CommandType = CommandType.StoredProcedure;
DataTable dt = new DataTable();
ad.Fill(dt);
connection.Close();
return dt;
}
///
/// 从 mfdb 里取NAV
///
///
///
///
///
public static DataTable Get_Nav(string fundId, DateTime? startDate, DateTime? endDate)
{
MySqlConnection connection = new MySqlConnection(connectionString);
MySqlDataAdapter ad = new MySqlDataAdapter("sp_get_nav", connection);
MySqlParameter i_fund_id = new MySqlParameter("i_fund_id", fundId);
MySqlParameter i_start_date = new MySqlParameter("i_start_date", startDate);
MySqlParameter i_end_date = new MySqlParameter("i_end_date", endDate);
ad.SelectCommand.Parameters.Add(i_fund_id);
ad.SelectCommand.Parameters.Add(i_start_date);
ad.SelectCommand.Parameters.Add(i_end_date);
ad.SelectCommand.CommandType = CommandType.StoredProcedure;
DataTable dt = new DataTable();
ad.Fill(dt);
connection.Close();
return dt;
}
///
/// 取基金指数,benchmark_type: 0-主基准、1-分类平均
///
///
///
public static DataTable Get_dm_fund_benchmark(string fundId)
{
MySqlConnection connection = new MySqlConnection(connectionString);
MySqlDataAdapter ad = new MySqlDataAdapter("sp_get_dm_fund_benchmark", connection);
MySqlParameter i_fund_id = new MySqlParameter("i_fund_id", fundId);
ad.SelectCommand.Parameters.Add(i_fund_id);
ad.SelectCommand.CommandType = CommandType.StoredProcedure;
DataTable dt = new DataTable();
ad.Fill(dt);
connection.Close();
return dt;
}
public static DataTable Get_dd_fund_info(string fundId, DateTime? effectiveDate, int isLatest)
{
MySqlConnection connection = new MySqlConnection(connectionString);
MySqlDataAdapter ad = new MySqlDataAdapter("sp_dd_get_fund_info", connection);
MySqlParameter i_fund_id = new MySqlParameter("i_fund_id", fundId);
MySqlParameter i_effective_date = new MySqlParameter("i_effective_date", effectiveDate);
MySqlParameter i_is_latest = new MySqlParameter("i_is_latest", isLatest);
ad.SelectCommand.Parameters.Add(i_fund_id);
ad.SelectCommand.Parameters.Add(i_effective_date);
ad.SelectCommand.Parameters.Add(i_is_latest);
ad.SelectCommand.CommandType = CommandType.StoredProcedure;
DataTable dt = new DataTable();
ad.Fill(dt);
connection.Close();
return dt;
}
public static int Set_dd_fund_info(string fundId, DateTime effectiveDate, string info, int status, int isValid, int userId)
{
int ret = -1;
using (MySqlConnection connection = new MySqlConnection(connectionString))
{
connection.Open();
MySqlCommand cmd = new MySqlCommand("sp_dd_set_fund_info", connection);
MySqlParameter i_fund_id = new MySqlParameter("i_fund_id", fundId);
MySqlParameter i_effective_date = new MySqlParameter("i_effective_date", effectiveDate);
MySqlParameter i_info = new MySqlParameter("i_info", info);
MySqlParameter i_status = new MySqlParameter("i_status", status);
MySqlParameter i_isvalid = new MySqlParameter("i_isvalid", isValid);
MySqlParameter i_userid = new MySqlParameter("i_userid", userId);
cmd.Parameters.Add(i_fund_id);
cmd.Parameters.Add(i_effective_date);
cmd.Parameters.Add(i_info);
cmd.Parameters.Add(i_status);
cmd.Parameters.Add(i_isvalid);
cmd.Parameters.Add(i_userid);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = connection;
cmd.ExecuteNonQuery();
ret = 1;
}
return ret;
}
}
}