sendmail 별도의 프로세스로 분리하고 클라우드서버에서 실행함
This commit is contained in:
158
Sub/Console_SendMail/DataBaseManager.cs
Normal file
158
Sub/Console_SendMail/DataBaseManager.cs
Normal file
@@ -0,0 +1,158 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Console_SendMail
|
||||
{
|
||||
public static class DatabaseManager
|
||||
{
|
||||
public static System.Data.SqlClient.SqlConnection getCn()
|
||||
{
|
||||
string cs = Properties.Settings.Default.gwcs;
|
||||
System.Data.SqlClient.SqlConnection cn = new System.Data.SqlClient.SqlConnection();
|
||||
cn.ConnectionString = cs;
|
||||
return cn;
|
||||
}
|
||||
public static List<String> getGroupListWithoutGcode(string GroupColumn, string table, string where = "", Boolean desc = false, Boolean useColumncover = true)
|
||||
{
|
||||
List<string> retval = new List<string>();
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
var sql = "select {0} " +
|
||||
" from {1} WITH (nolock) " +
|
||||
" where isnull({0},'') != '' ";
|
||||
|
||||
if (table.ToUpper() == "USERS")
|
||||
sql = "select {0} " +
|
||||
" from {1} WITH (nolock) " +
|
||||
" where isnull({0},'') != '' ";
|
||||
|
||||
|
||||
if (where != "") sql += " and " + where;
|
||||
|
||||
sql += " group by {0} " +
|
||||
" order by {0} ";
|
||||
if (desc) sql += " desc";
|
||||
|
||||
if (useColumncover)
|
||||
sql = string.Format(sql, "[" + GroupColumn + "]", table);
|
||||
else
|
||||
sql = string.Format(sql, GroupColumn, table);
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var rdr = cmd.ExecuteReader();
|
||||
while (rdr.Read())
|
||||
{
|
||||
retval.Add(rdr[0].ToString());
|
||||
}
|
||||
cmd.Dispose();
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
public static string GetUserName(string gcode, string uid)
|
||||
{
|
||||
var slq = "select isnull(name,'') from vGroupUser" +
|
||||
$" where gcode = '{gcode}'" +
|
||||
$" and id = '{uid}'";
|
||||
try
|
||||
{
|
||||
return ExecuteScalar(slq);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
}
|
||||
public static string GetUserTel(string gcode, string uid)
|
||||
{
|
||||
var slq = "select isnull(tel,'') from vGroupUser" +
|
||||
$" where gcode = '{gcode}'" +
|
||||
$" and id = '{uid}'";
|
||||
try
|
||||
{
|
||||
return ExecuteScalar(slq);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return string.Empty;
|
||||
}
|
||||
|
||||
}
|
||||
public static int ExecuteNonQuery(string sql)
|
||||
{
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var retval = cmd.ExecuteNonQuery();
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
public static int ExecuteScalarI(string sql)
|
||||
{
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var retval = (int)(cmd.ExecuteScalar());
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
public static string ExecuteScalar(string sql)
|
||||
{
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var retval = cmd.ExecuteScalar().ToString();
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
|
||||
public static List<String> getGroupList(string gcode, string GroupColumn, string table, string where = "", Boolean desc = false, Boolean useColumncover = true)
|
||||
{
|
||||
List<string> retval = new List<string>();
|
||||
var cn = getCn();
|
||||
cn.Open();
|
||||
var sql = "select {0} " +
|
||||
" from {1} WITH (nolock) " +
|
||||
$" where gcode='{gcode}' and isnull({0},'') != '' ";
|
||||
|
||||
if (table.ToUpper() == "USERS")
|
||||
sql = "select {0} " +
|
||||
" from {1} WITH (nolock) " +
|
||||
" where isnull({0},'') != '' ";
|
||||
|
||||
|
||||
if (where != "") sql += " and " + where;
|
||||
|
||||
sql += " group by {0} " +
|
||||
" order by {0} ";
|
||||
if (desc) sql += " desc";
|
||||
|
||||
if (useColumncover)
|
||||
sql = string.Format(sql, "[" + GroupColumn + "]", table);
|
||||
else
|
||||
sql = string.Format(sql, GroupColumn, table);
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
var rdr = cmd.ExecuteReader();
|
||||
while (rdr.Read())
|
||||
{
|
||||
retval.Add(rdr[0].ToString());
|
||||
}
|
||||
cmd.Dispose();
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
|
||||
|
||||
public static List<String> getDateList(string table,string where="")
|
||||
{
|
||||
return getGroupList("pdate", table,where);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user