sap 클립보드 기능 추가
This commit is contained in:
118
Project/Util.cs
118
Project/Util.cs
@@ -15,9 +15,119 @@ using System.Linq;
|
||||
using System.Net;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.Data.SqlClient;
|
||||
|
||||
namespace Project
|
||||
{
|
||||
public static class ServerUtil
|
||||
{
|
||||
/// <summary>
|
||||
/// 내 그룹내에서 센드메일 사용자가 할당되어있는가?
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public static Boolean SendmailSet()
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
if (FCOMMON.info.Login.no == null) return false;
|
||||
if (FCOMMON.info.Login.no.ToLower() == "dev") return false;
|
||||
|
||||
var ts = DateTime.Now - sendmailchecktime;
|
||||
if (ts.TotalMinutes < 1) return ServerUtil.IsMailserver;
|
||||
|
||||
sendmailchecktime = DateTime.Now;
|
||||
bool retval = false;
|
||||
var sql = "select wdate from EETGW_ServerSetting" +
|
||||
" where gcode = @gcode " +
|
||||
" and active = 1" +
|
||||
" order by wdate desc";
|
||||
var cn = new SqlConnection(Properties.Settings.Default.gwcs);
|
||||
cn.Open();
|
||||
var trans = cn.BeginTransaction();
|
||||
|
||||
var cmd = new SqlCommand(sql, cn);
|
||||
cmd.Transaction = trans;
|
||||
cmd.Parameters.Add("gcode", System.Data.SqlDbType.VarChar).Value = FCOMMON.info.Login.gcode;
|
||||
var value = cmd.ExecuteScalar();
|
||||
if (value == null || value.ToString().isEmpty())
|
||||
{
|
||||
//대상없음
|
||||
cmd.CommandText = "insert into EETGW_ServerSetting(gcode,active,wuid,wdate) values(@gcode,1,@wuid,GETDATE())";
|
||||
cmd.Parameters.Clear();
|
||||
cmd.Parameters.Add("gcode", System.Data.SqlDbType.VarChar).Value = FCOMMON.info.Login.gcode;
|
||||
cmd.Parameters.Add("wuid", System.Data.SqlDbType.VarChar).Value = FCOMMON.info.Login.no;
|
||||
cmd.ExecuteNonQuery();
|
||||
retval = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
//있다면
|
||||
var dt = (DateTime)value;
|
||||
if (dt >= DateTime.Now.AddMinutes(-10))
|
||||
{
|
||||
//이 사용자가 나인지 체크한다
|
||||
cmd.CommandText = sql = "select wuid from EETGW_ServerSetting" +
|
||||
" where gcode = @gcode " +
|
||||
" and active = 1" +
|
||||
" order by wdate desc";
|
||||
var uid = cmd.ExecuteScalar();
|
||||
if(uid.ToString().Equals(FCOMMON.info.Login.no))
|
||||
{
|
||||
//아직 10분전이므로 정상이다
|
||||
ts = DateTime.Now - dt;
|
||||
if (ts.TotalMinutes > 3)
|
||||
{
|
||||
//3분이 넘었다면 갱신해준다
|
||||
cmd.Parameters.Clear();
|
||||
cmd.Parameters.Add("gcode", System.Data.SqlDbType.VarChar).Value = FCOMMON.info.Login.gcode;
|
||||
cmd.Parameters.Add("wuid", System.Data.SqlDbType.VarChar).Value = FCOMMON.info.Login.no;
|
||||
|
||||
//기존데이터를 비활성화
|
||||
cmd.CommandText = "update EETGW_ServerSetting set active=0 where gcode =@gcode and active=1 and wuid <> @wuid ";
|
||||
cmd.ExecuteNonQuery();
|
||||
|
||||
//내 데이터를 활성화
|
||||
cmd.CommandText = "update EETGW_ServerSetting set wdate = getdate() where gcode = @gcode and wuid = @wuid and active=1";
|
||||
var cnt = cmd.ExecuteNonQuery();
|
||||
}
|
||||
retval = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
//다른사용자의 데이터는 내가 처리하지 않는다
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
//10분넘었으니 다시 생성한다
|
||||
cmd.CommandText = "update EETGW_ServerSetting set active=0 where gcode =@gcode and active=1";
|
||||
cmd.ExecuteNonQuery();
|
||||
cmd.CommandText = "insert into EETGW_ServerSetting(gcode,active,wuid,wdate) values(@gcode,1,@wuid,GETDATE())";
|
||||
cmd.Parameters.Clear();
|
||||
cmd.Parameters.Add("gcode", System.Data.SqlDbType.VarChar).Value = FCOMMON.info.Login.gcode;
|
||||
cmd.Parameters.Add("wuid", System.Data.SqlDbType.VarChar).Value = FCOMMON.info.Login.no;
|
||||
cmd.ExecuteNonQuery();
|
||||
retval = true;
|
||||
}
|
||||
}
|
||||
|
||||
trans.Commit();
|
||||
cmd.Dispose();
|
||||
cn.Close();
|
||||
cn.Dispose();
|
||||
return retval;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
static DateTime sendmailchecktime = DateTime.Now;
|
||||
public static Boolean IsMailserver = false;
|
||||
}
|
||||
|
||||
public static class Util
|
||||
{
|
||||
|
||||
@@ -506,14 +616,14 @@ namespace Project
|
||||
|
||||
public static void RunExplorer(string arg)
|
||||
{
|
||||
if(arg.StartsWith("http"))
|
||||
{
|
||||
if (arg.StartsWith("http"))
|
||||
{
|
||||
System.Diagnostics.Process.Start(arg);
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
else
|
||||
{
|
||||
|
||||
System.Diagnostics.ProcessStartInfo si = new ProcessStartInfo("explorer");
|
||||
si.Arguments = arg;
|
||||
|
||||
Reference in New Issue
Block a user