Add Dashboard todo edit/delete/complete features and Note view count tracking
This commit is contained in:
75
Project/Web/MachineBridge/MachineBridge.MailData.cs
Normal file
75
Project/Web/MachineBridge/MachineBridge.MailData.cs
Normal file
@@ -0,0 +1,75 @@
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using FCOMMON;
|
||||
|
||||
namespace Project.Web
|
||||
{
|
||||
public partial class MachineBridge
|
||||
{
|
||||
/// <summary>
|
||||
/// 메일 발신 내역 조회
|
||||
/// </summary>
|
||||
public string Mail_GetList(string startDate, string endDate, string searchKey)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(info.Login.no) || string.IsNullOrEmpty(info.Login.gcode))
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = "로그인이 필요합니다." });
|
||||
}
|
||||
|
||||
var connStr = Project.Properties.Settings.Default.CS;
|
||||
using (var conn = new SqlConnection(connStr))
|
||||
{
|
||||
conn.Open();
|
||||
|
||||
var cmd = new SqlCommand(@"
|
||||
SELECT idx, gcode, subject, body, fromlist, tolist, cc AS cclist, bcc AS bcclist, project, cate, pdate
|
||||
FROM MailData WITH (nolock)
|
||||
WHERE gcode = @gcode
|
||||
AND (pdate BETWEEN @startDate AND @endDate)
|
||||
AND (ISNULL(subject,'') LIKE @search OR ISNULL(fromlist,'') LIKE @search OR ISNULL(tolist,'') LIKE @search OR ISNULL(cate,'') LIKE @search)
|
||||
ORDER BY pdate DESC", conn);
|
||||
|
||||
cmd.Parameters.Add("@gcode", SqlDbType.VarChar).Value = info.Login.gcode;
|
||||
cmd.Parameters.Add("@startDate", SqlDbType.VarChar).Value = startDate;
|
||||
cmd.Parameters.Add("@endDate", SqlDbType.VarChar).Value = endDate;
|
||||
cmd.Parameters.Add("@search", SqlDbType.NVarChar).Value = $"%{searchKey}%";
|
||||
|
||||
var list = new List<object>();
|
||||
using (var reader = cmd.ExecuteReader())
|
||||
{
|
||||
while (reader.Read())
|
||||
{
|
||||
list.Add(new
|
||||
{
|
||||
idx = reader.GetInt32(0),
|
||||
gcode = reader.IsDBNull(1) ? "" : reader.GetString(1),
|
||||
uid = "", // uid 컬럼 없음
|
||||
subject = reader.IsDBNull(2) ? "" : reader.GetString(2),
|
||||
htmlbody = reader.IsDBNull(3) ? "" : reader.GetString(3), // body를 htmlbody로 반환
|
||||
fromlist = reader.IsDBNull(4) ? "" : reader.GetString(4),
|
||||
tolist = reader.IsDBNull(5) ? "" : reader.GetString(5),
|
||||
cclist = reader.IsDBNull(6) ? "" : reader.GetString(6),
|
||||
bcclist = reader.IsDBNull(7) ? "" : reader.GetString(7),
|
||||
project = reader.IsDBNull(8) ? "" : reader.GetInt32(8).ToString(),
|
||||
cate = reader.IsDBNull(9) ? "" : reader.GetString(9),
|
||||
wdate = reader.IsDBNull(10) ? "" : reader.GetString(10) // pdate를 wdate로 반환 (프론트엔드 호환)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return JsonConvert.SerializeObject(new { Success = true, Data = list });
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return JsonConvert.SerializeObject(new { Success = false, Message = ex.Message });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user