4 Commits

Author SHA1 Message Date
kyh
335fde4cde Saved buyer Result 처리 완료(Get 까지 ) 2022-11-23 15:50:44 +09:00
kyh
76532e1cd5 Create SavedBuyerResult Table 2022-11-23 15:15:10 +09:00
kyh
856adf9043 Main Log 데이터 가져갈 수 있도록 수정 2022-11-23 15:09:09 +09:00
kyh
b961c71eba Log 데이터 저장 기능 완료 2022-11-23 15:04:14 +09:00
3 changed files with 287 additions and 7 deletions

View File

@@ -48,7 +48,7 @@ namespace Million_Buyer
private bool unlimitChecker = false;
private long second = 0;
private string mode = "Buyer";
private int cycleCount = 0;
private double cycleBuyMoney = 0;
@@ -75,6 +75,10 @@ namespace Million_Buyer
(CommonProperty.DbConnectionResultData, DbServiceFunctions.CreateSavedResultDataTableQuery());
Million.DbManagement.DBConnection.QueryUpdateExcuter
(CommonProperty.DbConnectionResultData, DbServiceFunctions.CreateRealTimeIndicatorTableQuery());
Million.DbManagement.DBConnection.QueryUpdateExcuter
(CommonProperty.DbConnectionResultData, DbServiceFunctions.CreateMainLogTableQuery());
Million.DbManagement.DBConnection.QueryUpdateExcuter
(CommonProperty.DbConnectionResultData, DbServiceFunctions.CreateSavedBuyerResultDataTableQuery());
_saveResultData = new SavedResultData
{
@@ -100,6 +104,7 @@ namespace Million_Buyer
/// <param name="e"></param>
private void rd_Realtime_CheckedChanged(object sender, EventArgs e)
{
mode = "RealTime";
RealTimeMode = true;
SetReadOnly(true);
}
@@ -111,6 +116,7 @@ namespace Million_Buyer
/// <param name="e"></param>
private void rd_buyer_CheckedChanged(object sender, EventArgs e)
{
mode = "Buyer";
RealTimeMode = false;
SetReadOnly(false);
}
@@ -658,6 +664,7 @@ namespace Million_Buyer
string str = "Sell : " + item + ",\r\n Sell Candle Data : " + JsonConvert.SerializeObject(recentlyData) + "\r\n";
LogManager.WriteLog(str, item);
//처리한 buyList는 삭제
buyList.Remove(buyItem);
InsertLog(buyItem.ConGoodsData.CoinFullName + " Market Data 판매 DateTime : " + time.ToString("yyyy-MM-dd HH:mm:ss"));
@@ -665,6 +672,9 @@ namespace Million_Buyer
{
try
{
//result data insert
DBConnection.QueryInsertExcuter_SavedBuyerResultData(cb_UserList.Text, mode, time, result);
//Grid 처리
TreeListNode buyNode = null;
@@ -838,7 +848,9 @@ namespace Million_Buyer
lb_log.Items.Clear();
}
lb_log.Items.Insert(0, log);
DBConnection.QueryInsertExcuter_MainLog(DateTime.Now, cb_UserList.Text, log);
}));
return true;
}
/// <summary>

View File

@@ -149,6 +149,56 @@ namespace Million.DbManagement
return returnData;
}
/// <summary>
/// Get Log Data
/// </summary>
/// <param name="strDBCon"></param>
/// <param name="sqlQuery"></param>
/// <returns></returns>
public static List<Dictionary<string, object>> QueryGetExcuter_MainLog(string strDBCon, string userName, DateTime startDate, DateTime endDate)
{
var returnData = new List<Dictionary<string, object>>();
var sqlQuery = string.Format(@"SELECT * FROM [ResultData].[dbo].[MainLog] WHERE UserName = '{0}' AND SavedDateTime >= '{1}' AND SavedDateTime < '{2}",
userName, startDate.ToString("yyyy-MM-dd HH:mm:ss"), endDate.ToString("yyyy-MM-dd HH:mm:ss"));
using (var conn = new SqlConnection(strDBCon))
{
using (var cmd = new SqlCommand(sqlQuery, conn))
{
try
{
conn.Open();
using (var rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
var dateTime = rdr["SavedDateTime"]?.ToString();
var data = new Dictionary<string, object>();
data["SavedDateTime"] = Convert.ToDateTime(dateTime);
data["UserName"] = rdr["UserName"].ToString();
data["Data"] = rdr["Data"].ToString();
returnData.Add(data);
}
}
conn.Close();
}
catch (Exception ex)
{
Console.WriteLine(" ============= exception ===============");
Console.WriteLine(ex.Message);
conn.Close();
return returnData;
}
}
}
return returnData;
}
/// <summary>
/// Get Candle Data List
/// </summary>
@@ -217,6 +267,58 @@ namespace Million.DbManagement
}
}
/// <summary>
/// Insert Saved Buyer Result Data
/// </summary>
/// <param name="userName"></param>
/// <param name="mode"></param>
/// <param name="savedDateTime"></param>
/// <param name="data"></param>
/// <returns></returns>
public static bool QueryInsertExcuter_SavedBuyerResultData(string userName, string mode, DateTime savedDateTime, SearchResult data)
{
var binaryFormatter = new BinaryFormatter();
var sqlQuery = DbServiceFunctions.InsertSavedBuyerResultDataQuery(userName, mode, savedDateTime);
var strDBCon = CommonProperty.DbConnectionResultData;
SqlConnection conn = null;
SqlDataReader rdr = null;
try
{
using (conn = new SqlConnection(strDBCon))
{
using (var cmd = new SqlCommand(sqlQuery, conn))
{
var setupListStream = new MemoryStream();
binaryFormatter.Serialize(setupListStream, data);
setupListStream.Position = 0;
cmd.Parameters.Add("@data", SqlDbType.VarBinary, (int)setupListStream.Length).Value = setupListStream.ToArray();
conn.Open();
using (rdr = cmd.ExecuteReader())
{
}
}
conn.Close();
}
return true;
}
catch (Exception e)
{
Console.WriteLine(" ============= exception ===============");
Console.WriteLine(e.Message);
if (rdr != null)
rdr.Close();
if (conn != null)
conn.Close();
return false;
}
}
/// <summary>
/// Insert SavedResultData
/// </summary>
@@ -275,6 +377,55 @@ namespace Million.DbManagement
}
}
/// <summary>
/// Insert Log
/// </summary>
/// <param name="savedData"></param>
/// <returns></returns>
public static bool QueryInsertExcuter_MainLog(DateTime savedData, string user, string data)
{
var sqlQuery = string.Format(@"INSERT INTO [ResultData].[dbo].[MainLog] VALUES('{0}', '{1}', '{2}');",
user, savedData.ToString("yyyy-MM-dd HH:mm:ss"), data);
var strDBCon = CommonProperty.DbConnectionResultData;
SqlConnection conn = null;
SqlDataReader rdr = null;
try
{
using (conn = new SqlConnection(strDBCon))
{
using (var cmd = new SqlCommand(sqlQuery, conn))
{
conn.Open();
using (rdr = cmd.ExecuteReader())
{
}
}
conn.Close();
}
return true;
}
catch (Exception e)
{
Console.WriteLine(" ============= exception ===============");
Console.WriteLine(e.Message);
if (rdr != null)
rdr.Close();
if (conn != null)
conn.Close();
return false;
}
return true;
}
/// <summary>
/// insert RealTimeIndicator
/// </summary>
@@ -430,6 +581,56 @@ namespace Million.DbManagement
}
}
/// <summary>
/// Saved Get Buyer Result Data
/// </summary>
/// <param name="userName"></param>
/// <param name="mode"></param>
/// <param name="startDate"></param>
/// <param name="endDate"></param>
/// <returns></returns>
public static List<SearchResult> QueryGetExcuter_SavedBuyerResultData(string userName, string mode, DateTime startDate, DateTime endDate)
{
var returnData = new List<SearchResult>();
var sqlQuery = string.Format(@"SELECT * FROM [ResultData].[dbo].[SavedBuyerResultData] WHERE [Mode] = '{0}' AND [UserName] = '{1}'
AND [SavedDateTime] >= '{2}' AND [SavedDateTime] <= '{3}';",
mode, userName, startDate.ToString("yyyy-MM-dd HH:mm:ss"), endDate.ToString("yyyy-MM-dd HH:mm:ss"));
var strDBCon = CommonProperty.DbConnectionResultData;
using (var conn = new SqlConnection(strDBCon))
{
using (var cmd = new SqlCommand(sqlQuery, conn))
{
try
{
conn.Open();
using (var rdr = cmd.ExecuteReader())
{
while (rdr.Read())
{
var data = new SearchResult();
data = (SearchResult)GetBinaryConvertClass(rdr, "Data");
returnData.Add(data);
}
}
conn.Close();
}
catch (Exception ex)
{
Console.WriteLine(" ============= exception ===============");
Console.WriteLine(ex.Message);
conn.Close();
return returnData;
}
}
}
return returnData;
}
/// <summary>
/// Get SavedResultData
/// idList가 null일 경우 전체 다 가져옴

View File

@@ -82,6 +82,45 @@ namespace Million.DbManagement
)";
}
/// <summary>
/// Create Main Log Table
/// </summary>
/// <returns></returns>
public static string CreateMainLogTableQuery()
{
return @"if not exists (select * from sysobjects where name='MainLog' and xtype='U')
create table " + "\"MainLog\"" + @"(
UserName nvarchar(50) NOT NULL,
SavedDateTime datetime NULL,
Data nvarchar(MAX) NOT NULL
)";
}
/// <summary>
/// Create Saved Buyer Result Table
/// </summary>
/// <returns></returns>
public static string CreateSavedBuyerResultDataTableQuery()
{
return @"if not exists (select * from sysobjects where name='SavedBuyerResultData' and xtype='U')
create table " + "\"SavedBuyerResultData\"" + @"(
UserName nvarchar(50) NOT NULL,
SavedDateTime datetime NULL,
Mode nvarchar(50) NOT NULL,
Data varbinary(MAX) NULL,
)";
}
/// <summary>
/// Select Main Log Table
/// </summary>
/// <returns></returns>
public static string SelectMainLogQuery()
{
return @"SELECT * FROM [ResultData].[dbo].[MainLog]";
}
/// <summary>
/// DB Market 테이블 생성
/// </summary>
@@ -592,6 +631,34 @@ namespace Million.DbManagement
return str;
}
/// <summary>
/// Saved Buyer Result Query
/// </summary>
/// <param name="userName"></param>
/// <param name="mode"></param>
/// <param name="dateTime"></param>
/// <returns></returns>
public static string InsertSavedBuyerResultDataQuery(string userName, string mode, DateTime dateTime)
{
var str = string.Format(@"INSERT INTO [ResultData].[dbo].[SavedBuyerResultData]
(
[UserName],
[SavedDateTime],
[Mode],
[Data]
)VALUES(
'{0}',
'{1}',
'{2}',
@data);",
userName,
dateTime.ToString("yyyy-MM-dd HH:mm:ss"),
mode
);
return str;
}
/// <summary>
///
/// </summary>