164 lines
6.4 KiB
C#
164 lines
6.4 KiB
C#
using Newtonsoft.Json;
|
|
using Newtonsoft.Json.Linq;
|
|
using ssgrestserver.request;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace ssgrestserver
|
|
{
|
|
class 공지CRUD : ARequestObject, INeedKeyRequest
|
|
{
|
|
string mRequestURL = "/mfront/mobile/broadtalkNotice?";
|
|
|
|
DBManager mDB = DBManager.getInstance();
|
|
|
|
public void setNeedKeys()
|
|
{
|
|
|
|
mNeedKeyList.Add("seqGFrameNo");
|
|
mNeedKeyList.Add("noticeAction");
|
|
mNeedKeyList.Add("vriNoticeNo");
|
|
mNeedKeyList.Add("content");
|
|
mNeedKeyList.Add("nickName");
|
|
mNeedKeyList.Add("insertDate");
|
|
|
|
mNeedKeyList.Add("보낸사람");
|
|
|
|
}
|
|
|
|
protected override string startUpdateWork()
|
|
{
|
|
|
|
mIsSendTypeGet = false;
|
|
|
|
string bufURLDataString = "";
|
|
|
|
//mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.CRUD데이터);
|
|
|
|
string bufFrameNumber = mRequestParameterKVPairList["seqGFrameNo"];
|
|
|
|
string bufNoticeNumber = mRequestParameterKVPairList["vriNoticeNo"];
|
|
|
|
if (mRequestParameterKVPairList["noticeAction"] == "S")
|
|
{
|
|
|
|
DataSet bufDataSet = mDB.sendSelectQuery(
|
|
$"select * from ssgCRUD where seqGFrameNo='{bufFrameNumber}' and vriNoticeNo='{bufNoticeNumber}'"
|
|
);
|
|
|
|
if (bufDataSet.Tables[0].Rows.Count != 0)
|
|
{
|
|
//return JsonConvert.SerializeObject(bufDataSet.Tables[0]["payload"]);
|
|
return JObject.Parse(bufDataSet.Tables[0].Rows[0]["payload"].ToString()).ToString(Newtonsoft.Json.Formatting.None);
|
|
}
|
|
else
|
|
{
|
|
return "조회되지 않는 S 요청인의 정보(보낸프레임번호에 데이터가 없음)";
|
|
}
|
|
|
|
/* if (mAccessableDictionary.ContainsKey(mRequestParameterKVPairList["seqGFrameNo"]))
|
|
{
|
|
return mAccessableDictionary[mRequestParameterKVPairList["seqGFrameNo"]].ToString(Newtonsoft.Json.Formatting.None);
|
|
}
|
|
else
|
|
{
|
|
return "조회되지 않는 S 요청인의 정보(보낸프레임번호에 데이터가 없음)";
|
|
}*/
|
|
}
|
|
else
|
|
{
|
|
foreach (KeyValuePair<string, string> item in mRequestParameterKVPairList)
|
|
{
|
|
//bufURLDataString += item.Key + @"=" + item.Value + @"&";
|
|
if (item.Key == "content")
|
|
{
|
|
bufURLDataString += item.Key + @"=" + DataCenter.getInstance().interpritURL(item.Value) + @"&";
|
|
}
|
|
else
|
|
{
|
|
bufURLDataString += item.Key + @"=" + item.Value + @"&";
|
|
}
|
|
}
|
|
|
|
bufURLDataString = bufURLDataString.Substring(0, bufURLDataString.Length - 1);
|
|
|
|
JObject receiveData = JObject.Parse(httpRequest(mRequestURL + bufURLDataString));
|
|
|
|
receiveData.Add("조회시간", DateTime.Now.ToString());
|
|
|
|
// receiveData.Add("보낸사람", mRequestParameterKVPairList["보낸사람"]);
|
|
|
|
//if (!mAccessableDictionary.ContainsKey(mRequestParameterKVPairList["seqGFrameNo"]))
|
|
//{
|
|
//mAccessableDictionary.Add(mRequestParameterKVPairList["seqGFrameNo"], new JObject());
|
|
//}
|
|
|
|
//요청이 제거였을경우 그동안 관리해온 인자값을 제거하고 서버의 상태를 리턴.
|
|
if (mRequestParameterKVPairList["noticeAction"] == "D" && receiveData["message"].ToString() == "SUCCESS")
|
|
{
|
|
|
|
mDB.sendInsertQuery($"Delete From ssgCRUD where seqGFrameNo='{bufFrameNumber}' and vriNoticeNo='{bufNoticeNumber}'");
|
|
|
|
//if (mAccessableDictionary.ContainsKey(mRequestParameterKVPairList["seqGFrameNo"]))
|
|
//{
|
|
// mAccessableDictionary.Remove(mRequestParameterKVPairList["seqGFrameNo"]);
|
|
// return receiveData.ToString();
|
|
//}
|
|
//else
|
|
//{
|
|
// return "조회되지 않는 D 요청인의 정보(보낸프레임번호에 데이터가 없음)";
|
|
//}
|
|
return receiveData.ToString();
|
|
}
|
|
|
|
foreach (var item in mRequestParameterKVPairList)
|
|
{
|
|
if (receiveData.ContainsKey(item.Key))
|
|
{
|
|
if (item.Key == "content")
|
|
{
|
|
receiveData[item.Key] = DataCenter.getInstance().interpritURL(item.Value, true);
|
|
}
|
|
else
|
|
{
|
|
receiveData[item.Key] = item.Value;
|
|
}
|
|
|
|
}
|
|
else
|
|
{
|
|
if (item.Key == "content")
|
|
{
|
|
receiveData.Add(item.Key, DataCenter.getInstance().interpritURL(item.Value, true));
|
|
}
|
|
else
|
|
{
|
|
receiveData.Add(item.Key, item.Value);
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
//mAccessableDictionary[mRequestParameterKVPairList["seqGFrameNo"]] = receiveData;
|
|
|
|
|
|
string bufPayload = receiveData.ToString(Newtonsoft.Json.Formatting.None).Replace("'", "''");
|
|
|
|
mDB.sendInsertQuery(
|
|
//$"insert into ssgCRUD (seqGFrameNo, vriNoticeNo, payload) VALUES ('{bufFrameNumber}','{bufNoticeNumber}', '{bufPayload}') "
|
|
//+ $" ON CONFLICT(seqGFrameNo, vriNoticeNo) DO UPDATE SET payload='{bufPayload}';");
|
|
$"replace into ssgCRUD (seqGFrameNo, vriNoticeNo, payload) VALUES ('{bufFrameNumber}','{bufNoticeNumber}', '{bufPayload}') "
|
|
);
|
|
|
|
return receiveData.ToString(Newtonsoft.Json.Formatting.None);
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|