초기 커밋.
This commit is contained in:
25
ssgrestserver.sln
Normal file
25
ssgrestserver.sln
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio 15
|
||||||
|
VisualStudioVersion = 15.0.28307.1022
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ssgrestserver", "ssgrestserver\ssgrestserver.csproj", "{5C389AE4-6059-4A1D-8E62-BD97C5FF5E8C}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{5C389AE4-6059-4A1D-8E62-BD97C5FF5E8C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{5C389AE4-6059-4A1D-8E62-BD97C5FF5E8C}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{5C389AE4-6059-4A1D-8E62-BD97C5FF5E8C}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{5C389AE4-6059-4A1D-8E62-BD97C5FF5E8C}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {55D2B356-8483-44C7-A42C-4D02349152DF}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
6
ssgrestserver/App.config
Normal file
6
ssgrestserver/App.config
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<configuration>
|
||||||
|
<startup>
|
||||||
|
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/>
|
||||||
|
</startup>
|
||||||
|
</configuration>
|
||||||
213
ssgrestserver/DataCenter.cs
Normal file
213
ssgrestserver/DataCenter.cs
Normal file
@@ -0,0 +1,213 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Net;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using static ssgrestserver.DataCenter;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class DataCenter
|
||||||
|
{
|
||||||
|
|
||||||
|
#region Singleton
|
||||||
|
|
||||||
|
private volatile static DataCenter mInstance = null;
|
||||||
|
|
||||||
|
private static object mSingletonLocker = new object();
|
||||||
|
|
||||||
|
internal enum 관리중인데이터들배열
|
||||||
|
{
|
||||||
|
최근받은경품정보,
|
||||||
|
최근받은상품수량,
|
||||||
|
최근코더상태,
|
||||||
|
최근받은텍스트,
|
||||||
|
씬이름,
|
||||||
|
코더상태,
|
||||||
|
CRUD데이터,
|
||||||
|
상품평,
|
||||||
|
채팅,
|
||||||
|
QNA,
|
||||||
|
공지,
|
||||||
|
채팅판,
|
||||||
|
동영상,
|
||||||
|
콜데이터,
|
||||||
|
매진,
|
||||||
|
VVIP
|
||||||
|
}
|
||||||
|
|
||||||
|
private readonly Dictionary<관리중인데이터들배열, Dictionary<string, JObject>> m관리중인데이터들 = null;
|
||||||
|
|
||||||
|
private DataCenter()
|
||||||
|
{
|
||||||
|
|
||||||
|
m관리중인데이터들 = new Dictionary<관리중인데이터들배열, Dictionary<string, JObject>>();
|
||||||
|
|
||||||
|
foreach (관리중인데이터들배열 item in Enum.GetValues(typeof(관리중인데이터들배열)).Cast<관리중인데이터들배열>().ToArray())
|
||||||
|
{
|
||||||
|
m관리중인데이터들.Add(item, new Dictionary<string, JObject>());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static DataCenter getInstance()
|
||||||
|
{
|
||||||
|
lock (mSingletonLocker)
|
||||||
|
{
|
||||||
|
if (mInstance == null)
|
||||||
|
{
|
||||||
|
mInstance = new DataCenter();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return mInstance;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
internal int mServerPort = 60001;
|
||||||
|
|
||||||
|
internal Dictionary<string, JObject> getData(관리중인데이터들배열 recvDataType)
|
||||||
|
{
|
||||||
|
lock (mSingletonLocker)
|
||||||
|
{
|
||||||
|
return m관리중인데이터들[recvDataType];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Tuple<string, string>> PareURLTupleList = null;
|
||||||
|
|
||||||
|
public string interpritURL(string recvURL, bool isReverse = false)
|
||||||
|
//public string interpritURL(string recvURL)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
string rtnValue = "";
|
||||||
|
|
||||||
|
|
||||||
|
if (PareURLTupleList == null)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
Replace("!", "뚫꽵1").
|
||||||
|
Replace("*", "뚫꽵2").
|
||||||
|
Replace("'", "뚫꽵3").
|
||||||
|
replace("(", "뚫꽵4").
|
||||||
|
replace(")", "뚫꽵5").
|
||||||
|
Replace(";", "뚫꽵6").
|
||||||
|
Replace(":", "뚫꽵7").
|
||||||
|
Replace("@", "뚫꽵8").
|
||||||
|
Replace("&", "뚫꽵9").
|
||||||
|
Replace("=", "뚫꽵10").
|
||||||
|
Replace("+", "뚫꽵11").
|
||||||
|
Replace("$", "뚫꽵12").
|
||||||
|
Replace("/", "뚫꽵13").
|
||||||
|
Replace("?", "뚫꽵14").
|
||||||
|
Replace("#", "뚫꽵15").
|
||||||
|
Replace("[", "뚫꽵16").
|
||||||
|
Replace("]", "뚫꽵17") + @"&";
|
||||||
|
*/
|
||||||
|
|
||||||
|
PareURLTupleList = new List<Tuple<string, string>>();
|
||||||
|
PareURLTupleList.Add(new Tuple<string, string>("!", "뚫꽵1"));
|
||||||
|
PareURLTupleList.Add(new Tuple<string, string>("*", "뚫꽵2"));
|
||||||
|
PareURLTupleList.Add(new Tuple<string, string>("'", "뚫꽵3"));
|
||||||
|
PareURLTupleList.Add(new Tuple<string, string>("(", "뚫꽵4"));
|
||||||
|
PareURLTupleList.Add(new Tuple<string, string>(")", "뚫꽵5"));
|
||||||
|
PareURLTupleList.Add(new Tuple<string, string>(";", "뚫꽵6"));
|
||||||
|
PareURLTupleList.Add(new Tuple<string, string>(":", "뚫꽵7"));
|
||||||
|
PareURLTupleList.Add(new Tuple<string, string>("@", "뚫꽵8"));
|
||||||
|
PareURLTupleList.Add(new Tuple<string, string>("&", "뚫꽵9"));
|
||||||
|
PareURLTupleList.Add(new Tuple<string, string>("=", "뚫꽵10"));
|
||||||
|
PareURLTupleList.Add(new Tuple<string, string>("+", "뚫꽵11"));
|
||||||
|
PareURLTupleList.Add(new Tuple<string, string>("$", "뚫꽵12"));
|
||||||
|
PareURLTupleList.Add(new Tuple<string, string>("/", "뚫꽵13"));
|
||||||
|
PareURLTupleList.Add(new Tuple<string, string>("?", "뚫꽵14"));
|
||||||
|
PareURLTupleList.Add(new Tuple<string, string>("#", "뚫꽵15"));
|
||||||
|
PareURLTupleList.Add(new Tuple<string, string>("[", "뚫꽵16"));
|
||||||
|
PareURLTupleList.Add(new Tuple<string, string>("]", "뚫꽵17"));
|
||||||
|
|
||||||
|
PareURLTupleList.Reverse();
|
||||||
|
}
|
||||||
|
|
||||||
|
//rtnValue = isReverse ? WebUtility.UrlDecode(recvURL) : recvURL;
|
||||||
|
rtnValue = recvURL;
|
||||||
|
|
||||||
|
foreach (Tuple<string,string> item in PareURLTupleList)
|
||||||
|
{
|
||||||
|
//if (isReverse)
|
||||||
|
//{
|
||||||
|
// rtnValue = rtnValue.Replace(item.Item1, item.Item2);
|
||||||
|
//}
|
||||||
|
//else
|
||||||
|
//{
|
||||||
|
rtnValue = rtnValue.Replace(item.Item2, item.Item1);
|
||||||
|
////}
|
||||||
|
|
||||||
|
}
|
||||||
|
if (isReverse)
|
||||||
|
{
|
||||||
|
return rtnValue;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return WebUtility.UrlEncode(rtnValue);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
internal enum FILE_STATUS_CODE
|
||||||
|
{
|
||||||
|
UPLOADING = 0,
|
||||||
|
UPDATE_COMPLETED = 1,
|
||||||
|
NOTFOUND = 2
|
||||||
|
}
|
||||||
|
|
||||||
|
private object fileManagerLocker = new object();
|
||||||
|
|
||||||
|
|
||||||
|
private Dictionary<string, FileStatus> mFileUpdateManager = new Dictionary<string, FileStatus>();
|
||||||
|
|
||||||
|
internal void setFileStatus(string fileName, FILE_STATUS_CODE status)
|
||||||
|
{
|
||||||
|
lock (fileManagerLocker)
|
||||||
|
{
|
||||||
|
if (!mFileUpdateManager.ContainsKey(fileName))
|
||||||
|
{
|
||||||
|
FileStatus bufStats = new FileStatus();
|
||||||
|
bufStats.fileName = fileName;
|
||||||
|
bufStats.status = status;
|
||||||
|
bufStats.changedTime = DateTime.Now;
|
||||||
|
|
||||||
|
mFileUpdateManager.Add(fileName, bufStats);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mFileUpdateManager[fileName].status = status;
|
||||||
|
mFileUpdateManager[fileName].changedTime = DateTime.Now;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal FileStatus getFileStatus(string filename)
|
||||||
|
{
|
||||||
|
lock (fileManagerLocker)
|
||||||
|
{
|
||||||
|
if (mFileUpdateManager.ContainsKey(filename))
|
||||||
|
{
|
||||||
|
return mFileUpdateManager[filename];
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
internal class FileStatus
|
||||||
|
{
|
||||||
|
internal string fileName;
|
||||||
|
internal FILE_STATUS_CODE status;
|
||||||
|
internal DateTime changedTime;
|
||||||
|
}
|
||||||
|
}
|
||||||
89
ssgrestserver/Form1.Designer.cs
generated
Normal file
89
ssgrestserver/Form1.Designer.cs
generated
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
partial class Form1
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 필수 디자이너 변수입니다.
|
||||||
|
/// </summary>
|
||||||
|
private System.ComponentModel.IContainer components = null;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 사용 중인 모든 리소스를 정리합니다.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="disposing">관리되는 리소스를 삭제해야 하면 true이고, 그렇지 않으면 false입니다.</param>
|
||||||
|
protected override void Dispose(bool disposing)
|
||||||
|
{
|
||||||
|
if (disposing && (components != null))
|
||||||
|
{
|
||||||
|
components.Dispose();
|
||||||
|
}
|
||||||
|
base.Dispose(disposing);
|
||||||
|
}
|
||||||
|
|
||||||
|
#region Windows Form 디자이너에서 생성한 코드
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 디자이너 지원에 필요한 메서드입니다.
|
||||||
|
/// 이 메서드의 내용을 코드 편집기로 수정하지 마세요.
|
||||||
|
/// </summary>
|
||||||
|
private void InitializeComponent()
|
||||||
|
{
|
||||||
|
this.button1 = new System.Windows.Forms.Button();
|
||||||
|
this.txbPort = new System.Windows.Forms.TextBox();
|
||||||
|
this.lstBoxLog = new System.Windows.Forms.ListBox();
|
||||||
|
this.SuspendLayout();
|
||||||
|
//
|
||||||
|
// button1
|
||||||
|
//
|
||||||
|
this.button1.Location = new System.Drawing.Point(503, 118);
|
||||||
|
this.button1.Name = "button1";
|
||||||
|
this.button1.Size = new System.Drawing.Size(196, 64);
|
||||||
|
this.button1.TabIndex = 0;
|
||||||
|
this.button1.Text = "start";
|
||||||
|
this.button1.UseVisualStyleBackColor = true;
|
||||||
|
this.button1.Visible = false;
|
||||||
|
this.button1.Click += new System.EventHandler(this.button1_Click);
|
||||||
|
//
|
||||||
|
// txbPort
|
||||||
|
//
|
||||||
|
this.txbPort.Location = new System.Drawing.Point(341, 141);
|
||||||
|
this.txbPort.Name = "txbPort";
|
||||||
|
this.txbPort.Size = new System.Drawing.Size(100, 21);
|
||||||
|
this.txbPort.TabIndex = 1;
|
||||||
|
this.txbPort.Text = "60021";
|
||||||
|
this.txbPort.Visible = false;
|
||||||
|
//
|
||||||
|
// lstBoxLog
|
||||||
|
//
|
||||||
|
this.lstBoxLog.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||||
|
this.lstBoxLog.FormattingEnabled = true;
|
||||||
|
this.lstBoxLog.ItemHeight = 12;
|
||||||
|
this.lstBoxLog.Location = new System.Drawing.Point(0, 0);
|
||||||
|
this.lstBoxLog.Name = "lstBoxLog";
|
||||||
|
this.lstBoxLog.Size = new System.Drawing.Size(800, 450);
|
||||||
|
this.lstBoxLog.TabIndex = 2;
|
||||||
|
//
|
||||||
|
// Form1
|
||||||
|
//
|
||||||
|
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 12F);
|
||||||
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
|
this.ClientSize = new System.Drawing.Size(800, 450);
|
||||||
|
this.Controls.Add(this.txbPort);
|
||||||
|
this.Controls.Add(this.button1);
|
||||||
|
this.Controls.Add(this.lstBoxLog);
|
||||||
|
this.Name = "Form1";
|
||||||
|
this.Text = "Rest Server 25.10.15";
|
||||||
|
this.Load += new System.EventHandler(this.Form1_Load);
|
||||||
|
this.ResumeLayout(false);
|
||||||
|
this.PerformLayout();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
private System.Windows.Forms.Button button1;
|
||||||
|
private System.Windows.Forms.ListBox lstBoxLog;
|
||||||
|
public System.Windows.Forms.TextBox txbPort;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
118
ssgrestserver/Form1.cs
Normal file
118
ssgrestserver/Form1.cs
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Data;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
public partial class Form1 : Form
|
||||||
|
{
|
||||||
|
public Form1()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
|
||||||
|
|
||||||
|
mLogPath = Application.StartupPath + @"\Log";
|
||||||
|
mImgPath = Application.StartupPath + @"\Image";
|
||||||
|
|
||||||
|
DirectoryInfo di = new DirectoryInfo(mLogPath);
|
||||||
|
DirectoryInfo di2 = new DirectoryInfo(mImgPath);
|
||||||
|
|
||||||
|
if (!di.Exists) di.Create();
|
||||||
|
if (!di2.Exists) di2.Create();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private void Form1_Load(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
button1_Click(null, null);
|
||||||
|
}
|
||||||
|
|
||||||
|
internal string mLogPath = "";
|
||||||
|
internal string mImgPath = "";
|
||||||
|
|
||||||
|
NetManager mNetManager = new NetManager();
|
||||||
|
|
||||||
|
|
||||||
|
public void recvLog(string TAG, string comment)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
this.Invoke(new MethodInvoker(() => { updateLog(TAG + "___" + DateTime.Now.ToString("yyyyMMdd HH:mm:ss") + "____" + comment); }));
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
int OldFileChecker = 0;
|
||||||
|
|
||||||
|
void updateLog(string recvlog)
|
||||||
|
{
|
||||||
|
|
||||||
|
if (lstBoxLog.Items.Count == 50)
|
||||||
|
{
|
||||||
|
lstBoxLog.Items.Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
lstBoxLog.Items.Add(recvlog);
|
||||||
|
|
||||||
|
File.AppendAllText(mLogPath + @"\" + DateTime.Now.ToString("yyyy-MM-dd") + ".txt", recvlog);
|
||||||
|
|
||||||
|
if (recvlog.Contains("{\"보낸사람\":\"web\",\"채팅\""))
|
||||||
|
{
|
||||||
|
string chatText = recvlog.Substring(recvlog.IndexOf("{"));
|
||||||
|
chatText = chatText.Substring(0, chatText.Length - 1);
|
||||||
|
JObject jObject = JObject.Parse(chatText);
|
||||||
|
jObject.Remove("보낸사람");
|
||||||
|
jObject.Remove("status");
|
||||||
|
File.AppendAllText(mLogPath + @"\" + DateTime.Now.ToString("채팅기록_yyyy-MM-dd") + ".txt", jObject.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
//날짜가 지난 파일 삭제
|
||||||
|
OldFileChecker++;
|
||||||
|
|
||||||
|
if (OldFileChecker > 100)
|
||||||
|
{
|
||||||
|
DirectoryInfo directory = new DirectoryInfo(mLogPath);
|
||||||
|
DateTime now = DateTime.Now;
|
||||||
|
foreach (FileInfo file in directory.GetFiles())
|
||||||
|
{
|
||||||
|
TimeSpan timeDiff = now - file.LastWriteTime;
|
||||||
|
if (timeDiff.TotalHours > 170) file.Delete();
|
||||||
|
}
|
||||||
|
|
||||||
|
OldFileChecker = 0;
|
||||||
|
|
||||||
|
directory = new DirectoryInfo(mImgPath);
|
||||||
|
foreach (FileInfo file in directory.GetFiles())
|
||||||
|
{
|
||||||
|
TimeSpan timeDiff = now - file.LastWriteTime;
|
||||||
|
if (timeDiff.TotalHours > 170) file.Delete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private void button1_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
mNetManager = new NetManager();
|
||||||
|
mNetManager.start();
|
||||||
|
}
|
||||||
|
|
||||||
|
public string getStartupPath()
|
||||||
|
{
|
||||||
|
return Application.StartupPath;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
120
ssgrestserver/Form1.resx
Normal file
120
ssgrestserver/Form1.resx
Normal file
@@ -0,0 +1,120 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
||||||
258
ssgrestserver/NetManager.cs
Normal file
258
ssgrestserver/NetManager.cs
Normal file
@@ -0,0 +1,258 @@
|
|||||||
|
using HttpMultipartParser;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Drawing;
|
||||||
|
using System.Drawing.Imaging;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Net;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Web;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
public class NetManager
|
||||||
|
{
|
||||||
|
const string TAG = "NETMANAGER";
|
||||||
|
|
||||||
|
HttpListener listener = null;
|
||||||
|
|
||||||
|
bool doListen = false;
|
||||||
|
|
||||||
|
Thread mListenTaskWorker = null;
|
||||||
|
|
||||||
|
ManualResetEvent mThreadCloseObserver = new ManualResetEvent(false);
|
||||||
|
|
||||||
|
internal void stop()
|
||||||
|
{
|
||||||
|
doListen = false;
|
||||||
|
listener.Stop();
|
||||||
|
mThreadCloseObserver.WaitOne();
|
||||||
|
}
|
||||||
|
|
||||||
|
internal bool IsAlive()
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
if (mListenTaskWorker == null || !mListenTaskWorker.IsAlive)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal void start()
|
||||||
|
{
|
||||||
|
doListen = true;
|
||||||
|
mListenTaskWorker = new Thread(listenTask);
|
||||||
|
mListenTaskWorker.IsBackground = true;
|
||||||
|
mListenTaskWorker.Start();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void listenTask()
|
||||||
|
{
|
||||||
|
|
||||||
|
listener = new HttpListener();
|
||||||
|
|
||||||
|
string port = Program.mainForm.txbPort.Text;
|
||||||
|
|
||||||
|
listener.Prefixes.Add("http://+:" + port + "/");
|
||||||
|
listener.Start();
|
||||||
|
Program.mainForm.recvLog(TAG, "httpListener Start!! ---- " + DateTime.Now.ToLongDateString() + " " + DateTime.Now.ToLongTimeString());
|
||||||
|
|
||||||
|
while (doListen)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
//string requestURL = listener.GetContext().Request.RawUrl;
|
||||||
|
//ThreadPool.QueueUserWorkItem(HandleRequest, new object[] { requestURL });
|
||||||
|
ThreadPool.QueueUserWorkItem(HandleRequest, new object[] { listener.GetContext() });
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Program.mainForm.recvLog(TAG, ex.ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mThreadCloseObserver.Set();
|
||||||
|
Program.mainForm.recvLog(TAG, "Listener Closed");
|
||||||
|
}
|
||||||
|
private Stream GetBody(HttpListenerContext context)
|
||||||
|
{
|
||||||
|
if (!context.Request.HasEntityBody)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
System.IO.Stream body = context.Request.InputStream; // Stream형식으로 받아오기
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return body;
|
||||||
|
}
|
||||||
|
public static byte[] streamToByteArray(Stream input)
|
||||||
|
{
|
||||||
|
MemoryStream ms = new MemoryStream();
|
||||||
|
input.CopyTo(ms);
|
||||||
|
return ms.ToArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HandleRequest(object state)
|
||||||
|
{
|
||||||
|
|
||||||
|
HttpListenerContext context = (HttpListenerContext)((object[])state)[0];
|
||||||
|
|
||||||
|
HttpListenerRequest request = context.Request;
|
||||||
|
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
|
||||||
|
//데이터핸들링부분
|
||||||
|
if (request.RawUrl != "/favicon.ico")
|
||||||
|
{
|
||||||
|
|
||||||
|
Program.mainForm.recvLog(TAG, request.RemoteEndPoint.ToString() + " " + request.RawUrl + " - Response Arrival" + DateTime.Now.ToString("yyyyMMdd HH:mm:ss") + Environment.NewLine);
|
||||||
|
Console.WriteLine(request.RawUrl);
|
||||||
|
|
||||||
|
//업로드
|
||||||
|
if (request.HttpMethod.Equals("POST") && HttpUtility.UrlDecode(request.RawUrl).Equals("/파일업로드")){
|
||||||
|
|
||||||
|
|
||||||
|
Stream stream = GetBody(context);
|
||||||
|
var parser = MultipartFormDataParser.Parse(stream); //stream: Request Body (stream형식)
|
||||||
|
//Image Parse
|
||||||
|
int nCnt = parser.Files.Count; //파싱할 파일의 개수
|
||||||
|
byte[] arrByte;
|
||||||
|
string filename = "";
|
||||||
|
|
||||||
|
if (nCnt > 0) //파싱할 파일의 개수가 0보다 크면,
|
||||||
|
{
|
||||||
|
var file = parser.Files.First();
|
||||||
|
filename = file.FileName;
|
||||||
|
Stream data = file.Data; //stream 형식으로 읽기
|
||||||
|
arrByte = streamToByteArray(data); //Byte Array로 변환
|
||||||
|
|
||||||
|
|
||||||
|
var path = Path.Combine($"Image");
|
||||||
|
if (!Directory.Exists(path)) Directory.CreateDirectory(path); // 웹 서비스 내 업로드폴더가 없을 경우 자동생성을 위한 처리
|
||||||
|
|
||||||
|
DataCenter.getInstance().setFileStatus(filename, DataCenter.FILE_STATUS_CODE.UPLOADING);
|
||||||
|
FileStream fileStream = new FileStream(@"Image\" + filename, FileMode.Create);
|
||||||
|
fileStream.Write(arrByte, 0, arrByte.Length);
|
||||||
|
fileStream.Close();
|
||||||
|
DataCenter.getInstance().setFileStatus(filename, DataCenter.FILE_STATUS_CODE.UPDATE_COMPLETED);
|
||||||
|
}
|
||||||
|
|
||||||
|
context.Response.Headers.Clear();
|
||||||
|
//context.Response.SendChunked = false;
|
||||||
|
context.Response.Headers.Add("Access-Control-Allow-Origin", "*");
|
||||||
|
context.Response.Headers.Add("Access-Control-Allow-Methods", "POST, GET");
|
||||||
|
context.Response.Headers.Add("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With");
|
||||||
|
context.Response.StatusCode = (int)HttpStatusCode.OK;
|
||||||
|
context.Response.StatusDescription = "OK";
|
||||||
|
|
||||||
|
string returnValue = filename + " 파일업로드 완료";
|
||||||
|
var bytes = Encoding.UTF8.GetBytes(returnValue);
|
||||||
|
context.Response.KeepAlive = false;
|
||||||
|
context.Response.OutputStream.Write(bytes, 0, bytes.Length);
|
||||||
|
context.Response.OutputStream.Close();
|
||||||
|
Console.WriteLine(returnValue);
|
||||||
|
Program.mainForm.recvLog(TAG, returnValue + Environment.NewLine);
|
||||||
|
}
|
||||||
|
//다운로드
|
||||||
|
else if (HttpUtility.UrlDecode(request.RawUrl).Contains("/파일다운로드"))
|
||||||
|
{
|
||||||
|
string 파일이름 = HttpUtility.UrlDecode(request.RawUrl).Replace("/파일다운로드/", "");
|
||||||
|
|
||||||
|
var path = Environment.CurrentDirectory + @"\image\";
|
||||||
|
path = Path.Combine(path, 파일이름);
|
||||||
|
if (System.IO.File.Exists(path))
|
||||||
|
{
|
||||||
|
byte[] bytes;
|
||||||
|
using (FileStream file = new FileStream(path: path, mode: FileMode.Open)) // 배포환경에선 다운로드폴더에 대한 권한설정작업이 필요할 수 있다.
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
bytes = new byte[file.Length];
|
||||||
|
file.Read(bytes, 0, bytes.Length);
|
||||||
|
|
||||||
|
context.Response.Headers.Clear();
|
||||||
|
//context.Response.SendChunked = false;
|
||||||
|
context.Response.Headers.Add("Access-Control-Allow-Origin", "*");
|
||||||
|
context.Response.Headers.Add("Access-Control-Allow-Methods", "POST, GET");
|
||||||
|
context.Response.Headers.Add("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With");
|
||||||
|
context.Response.StatusCode = (int)HttpStatusCode.OK;
|
||||||
|
context.Response.StatusDescription = "OK";
|
||||||
|
context.Response.KeepAlive = false;
|
||||||
|
context.Response.OutputStream.Write(bytes, 0, bytes.Length);
|
||||||
|
context.Response.OutputStream.Close();
|
||||||
|
|
||||||
|
return;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//기존방식의 값들
|
||||||
|
else
|
||||||
|
{
|
||||||
|
string returnValue = ARequestObject.create(HttpUtility.UrlDecode(request.RawUrl));
|
||||||
|
|
||||||
|
context.Response.Headers.Clear();
|
||||||
|
//context.Response.SendChunked = false;
|
||||||
|
context.Response.Headers.Add("Access-Control-Allow-Origin", "*");
|
||||||
|
context.Response.Headers.Add("Access-Control-Allow-Methods", "POST, GET");
|
||||||
|
context.Response.Headers.Add("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With");
|
||||||
|
context.Response.StatusCode = (int)HttpStatusCode.OK;
|
||||||
|
context.Response.StatusDescription = "OK";
|
||||||
|
|
||||||
|
|
||||||
|
var bytes = Encoding.UTF8.GetBytes(returnValue);
|
||||||
|
|
||||||
|
context.Response.KeepAlive = false;
|
||||||
|
context.Response.OutputStream.Write(bytes, 0, bytes.Length);
|
||||||
|
context.Response.OutputStream.Close();
|
||||||
|
Console.WriteLine(returnValue);
|
||||||
|
Program.mainForm.recvLog(TAG, returnValue + Environment.NewLine);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
//var bytes = Encoding.UTF8.GetBytes(ex.ToString() + "____" + ex.Message + "____" + request.RawUrl);
|
||||||
|
//context.Response.OutputStream.Write(bytes, 0, bytes.Length);
|
||||||
|
Console.WriteLine(DateTime.Now.ToShortTimeString() + " " + ex.ToString() + "____" + ex.Message + "____" + request.RawUrl);
|
||||||
|
}
|
||||||
|
catch (Exception ex2)
|
||||||
|
{
|
||||||
|
|
||||||
|
//var bytes = Encoding.UTF8.GetBytes("알수없는오류");
|
||||||
|
//context.Response.OutputStream.Write(bytes, 0, bytes.Length);
|
||||||
|
Console.WriteLine(DateTime.Now.ToShortTimeString() + " " + ex2.ToString() + "____" + ex2.Message + "____" + request.RawUrl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
context.Response.OutputStream.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
59
ssgrestserver/Program.cs
Normal file
59
ssgrestserver/Program.cs
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Security.Principal;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
static class Program
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// 해당 응용 프로그램의 주 진입점입니다.
|
||||||
|
/// </summary>
|
||||||
|
[STAThread]
|
||||||
|
static void Main()
|
||||||
|
{
|
||||||
|
System.Diagnostics.Process[] processes = null;
|
||||||
|
string processName = System.Diagnostics.Process.GetCurrentProcess().ProcessName.ToUpper();
|
||||||
|
processes = System.Diagnostics.Process.GetProcessesByName(processName);
|
||||||
|
if (processes.Length > 2)
|
||||||
|
{
|
||||||
|
MessageBox.Show("프로그램이 이미 실행중입니다.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (IsAdministrator() == false)
|
||||||
|
{
|
||||||
|
ProcessStartInfo procInfo = new ProcessStartInfo();
|
||||||
|
procInfo.UseShellExecute = true;
|
||||||
|
procInfo.FileName = Application.ExecutablePath;
|
||||||
|
procInfo.WorkingDirectory = Environment.CurrentDirectory;
|
||||||
|
procInfo.Verb = "runas";
|
||||||
|
Process.Start(procInfo);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Application.EnableVisualStyles();
|
||||||
|
Application.SetCompatibleTextRenderingDefault(false);
|
||||||
|
mainForm = new Form1();
|
||||||
|
Application.Run(mainForm);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static Form1 mainForm;
|
||||||
|
|
||||||
|
public static bool IsAdministrator()
|
||||||
|
{
|
||||||
|
WindowsIdentity identity = WindowsIdentity.GetCurrent();
|
||||||
|
|
||||||
|
if (identity != null)
|
||||||
|
{
|
||||||
|
WindowsPrincipal principal = new WindowsPrincipal(identity);
|
||||||
|
return principal.IsInRole(WindowsBuiltInRole.Administrator);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
36
ssgrestserver/Properties/AssemblyInfo.cs
Normal file
36
ssgrestserver/Properties/AssemblyInfo.cs
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// 어셈블리에 대한 일반 정보는 다음 특성 집합을 통해
|
||||||
|
// 제어됩니다. 어셈블리와 관련된 정보를 수정하려면
|
||||||
|
// 이러한 특성 값을 변경하세요.
|
||||||
|
[assembly: AssemblyTitle("ssgrestserver450")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("ssgrestserver")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2021")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// ComVisible을 false로 설정하면 이 어셈블리의 형식이 COM 구성 요소에
|
||||||
|
// 표시되지 않습니다. COM에서 이 어셈블리의 형식에 액세스하려면
|
||||||
|
// 해당 형식에 대해 ComVisible 특성을 true로 설정하세요.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// 이 프로젝트가 COM에 노출되는 경우 다음 GUID는 typelib의 ID를 나타냅니다.
|
||||||
|
[assembly: Guid("5c389ae4-6059-4a1d-8e62-bd97c5ff5e8c")]
|
||||||
|
|
||||||
|
// 어셈블리의 버전 정보는 다음 네 가지 값으로 구성됩니다.
|
||||||
|
//
|
||||||
|
// 주 버전
|
||||||
|
// 부 버전
|
||||||
|
// 빌드 번호
|
||||||
|
// 수정 버전
|
||||||
|
//
|
||||||
|
// 모든 값을 지정하거나 아래와 같이 '*'를 사용하여 빌드 번호 및 수정 번호가 자동으로
|
||||||
|
// 지정되도록 할 수 있습니다.
|
||||||
|
// [assembly: AssemblyVersion("1.0.*")]
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||||
63
ssgrestserver/Properties/Resources.Designer.cs
generated
Normal file
63
ssgrestserver/Properties/Resources.Designer.cs
generated
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// 이 코드는 도구를 사용하여 생성되었습니다.
|
||||||
|
// 런타임 버전:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||||
|
// 이러한 변경 내용이 손실됩니다.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace ssgrestserver.Properties {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 지역화된 문자열 등을 찾기 위한 강력한 형식의 리소스 클래스입니다.
|
||||||
|
/// </summary>
|
||||||
|
// 이 클래스는 ResGen 또는 Visual Studio와 같은 도구를 통해 StronglyTypedResourceBuilder
|
||||||
|
// 클래스에서 자동으로 생성되었습니다.
|
||||||
|
// 멤버를 추가하거나 제거하려면 .ResX 파일을 편집한 다음 /str 옵션을 사용하여 ResGen을
|
||||||
|
// 다시 실행하거나 VS 프로젝트를 다시 빌드하십시오.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
internal class Resources {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal Resources() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 이 클래스에서 사용하는 캐시된 ResourceManager 인스턴스를 반환합니다.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ssgrestserver.Properties.Resources", typeof(Resources).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 이 강력한 형식의 리소스 클래스를 사용하여 모든 리소스 조회에 대해 현재 스레드의 CurrentUICulture 속성을
|
||||||
|
/// 재정의합니다.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
117
ssgrestserver/Properties/Resources.resx
Normal file
117
ssgrestserver/Properties/Resources.resx
Normal file
@@ -0,0 +1,117 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<!--
|
||||||
|
Microsoft ResX Schema
|
||||||
|
|
||||||
|
Version 2.0
|
||||||
|
|
||||||
|
The primary goals of this format is to allow a simple XML format
|
||||||
|
that is mostly human readable. The generation and parsing of the
|
||||||
|
various data types are done through the TypeConverter classes
|
||||||
|
associated with the data types.
|
||||||
|
|
||||||
|
Example:
|
||||||
|
|
||||||
|
... ado.net/XML headers & schema ...
|
||||||
|
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||||
|
<resheader name="version">2.0</resheader>
|
||||||
|
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||||
|
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||||
|
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||||
|
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||||
|
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||||
|
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||||
|
</data>
|
||||||
|
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||||
|
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||||
|
<comment>This is a comment</comment>
|
||||||
|
</data>
|
||||||
|
|
||||||
|
There are any number of "resheader" rows that contain simple
|
||||||
|
name/value pairs.
|
||||||
|
|
||||||
|
Each data row contains a name, and value. The row also contains a
|
||||||
|
type or mimetype. Type corresponds to a .NET class that support
|
||||||
|
text/value conversion through the TypeConverter architecture.
|
||||||
|
Classes that don't support this are serialized and stored with the
|
||||||
|
mimetype set.
|
||||||
|
|
||||||
|
The mimetype is used for serialized objects, and tells the
|
||||||
|
ResXResourceReader how to depersist the object. This is currently not
|
||||||
|
extensible. For a given mimetype the value must be set accordingly:
|
||||||
|
|
||||||
|
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||||
|
that the ResXResourceWriter will generate, however the reader can
|
||||||
|
read any of the formats listed below.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.binary.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Serialization.Formatters.Binary.BinaryFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.soap.base64
|
||||||
|
value : The object must be serialized with
|
||||||
|
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
|
||||||
|
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||||
|
value : The object must be serialized into a byte array
|
||||||
|
: using a System.ComponentModel.TypeConverter
|
||||||
|
: and then encoded with base64 encoding.
|
||||||
|
-->
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
</root>
|
||||||
26
ssgrestserver/Properties/Settings.Designer.cs
generated
Normal file
26
ssgrestserver/Properties/Settings.Designer.cs
generated
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// 이 코드는 도구를 사용하여 생성되었습니다.
|
||||||
|
// 런타임 버전:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// 파일 내용을 변경하면 잘못된 동작이 발생할 수 있으며, 코드를 다시 생성하면
|
||||||
|
// 이러한 변경 내용이 손실됩니다.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace ssgrestserver.Properties {
|
||||||
|
|
||||||
|
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.10.0.0")]
|
||||||
|
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||||
|
|
||||||
|
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||||
|
|
||||||
|
public static Settings Default {
|
||||||
|
get {
|
||||||
|
return defaultInstance;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
7
ssgrestserver/Properties/Settings.settings
Normal file
7
ssgrestserver/Properties/Settings.settings
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version='1.0' encoding='utf-8'?>
|
||||||
|
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||||
|
<Profiles>
|
||||||
|
<Profile Name="(Default)" />
|
||||||
|
</Profiles>
|
||||||
|
<Settings />
|
||||||
|
</SettingsFile>
|
||||||
12
ssgrestserver/packages.config
Normal file
12
ssgrestserver/packages.config
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<packages>
|
||||||
|
<package id="HttpMultipartParser" version="8.1.0" targetFramework="net48" />
|
||||||
|
<package id="Microsoft.IO.RecyclableMemoryStream" version="2.2.1" targetFramework="net48" />
|
||||||
|
<package id="Newtonsoft.Json" version="13.0.1" targetFramework="net451" />
|
||||||
|
<package id="Stub.System.Data.SQLite.Core.NetFramework" version="1.0.116.0" targetFramework="net451" requireReinstallation="true" />
|
||||||
|
<package id="System.Buffers" version="4.5.1" targetFramework="net48" />
|
||||||
|
<package id="System.Data.SQLite.Core" version="1.0.116.0" targetFramework="net451" />
|
||||||
|
<package id="System.Memory" version="4.5.5" targetFramework="net48" />
|
||||||
|
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net48" />
|
||||||
|
<package id="System.Runtime.CompilerServices.Unsafe" version="4.5.3" targetFramework="net48" />
|
||||||
|
</packages>
|
||||||
163
ssgrestserver/request/6월추가개발/공지CRUD.cs
Normal file
163
ssgrestserver/request/6월추가개발/공지CRUD.cs
Normal file
@@ -0,0 +1,163 @@
|
|||||||
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
45
ssgrestserver/request/6월추가개발/매진조회.cs
Normal file
45
ssgrestserver/request/6월추가개발/매진조회.cs
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 매진조회 : ARequestObject, INeedKeyRequest
|
||||||
|
{
|
||||||
|
string mRequestURL = "/broad/cg?";
|
||||||
|
|
||||||
|
public void setNeedKeys()
|
||||||
|
{
|
||||||
|
mNeedKeyList.Add("seqGFrameNo");
|
||||||
|
mNeedKeyList.Add("보낸사람");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
|
||||||
|
mIsSendTypeGet = true;
|
||||||
|
|
||||||
|
string bufURLDataString = "";
|
||||||
|
|
||||||
|
foreach (KeyValuePair<string, string> item in mRequestParameterKVPairList)
|
||||||
|
{
|
||||||
|
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["보낸사람"]);
|
||||||
|
|
||||||
|
//receiveData.
|
||||||
|
|
||||||
|
return receiveData.ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
43
ssgrestserver/request/6월추가개발/방송VVIP.cs
Normal file
43
ssgrestserver/request/6월추가개발/방송VVIP.cs
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 방송VVIP : ARequestObject, INeedKeyRequest
|
||||||
|
{
|
||||||
|
string mRequestURL = "/broadcast/masterGoodsInfo?";
|
||||||
|
|
||||||
|
public void setNeedKeys()
|
||||||
|
{
|
||||||
|
mNeedKeyList.Add("seqGFrameNo");
|
||||||
|
mNeedKeyList.Add("보낸사람");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
|
||||||
|
mIsSendTypeGet = false;
|
||||||
|
|
||||||
|
string bufURLDataString = "";
|
||||||
|
|
||||||
|
foreach (KeyValuePair<string, string> item in mRequestParameterKVPairList)
|
||||||
|
{
|
||||||
|
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["보낸사람"]);
|
||||||
|
|
||||||
|
return receiveData.ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
45
ssgrestserver/request/6월추가개발/방송채택.cs
Normal file
45
ssgrestserver/request/6월추가개발/방송채택.cs
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 방송채택 : ARequestObject, INeedKeyRequest
|
||||||
|
{
|
||||||
|
string mRequestURL = "/mfront/mobile/broadtalkAdopt?";
|
||||||
|
|
||||||
|
public void setNeedKeys()
|
||||||
|
{
|
||||||
|
mNeedKeyList.Add("seqGFrameNo");
|
||||||
|
mNeedKeyList.Add("talkSeq");
|
||||||
|
|
||||||
|
mNeedKeyList.Add("보낸사람");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
|
||||||
|
mIsSendTypeGet = false;
|
||||||
|
|
||||||
|
string bufURLDataString = "";
|
||||||
|
|
||||||
|
foreach (KeyValuePair<string, string> item in mRequestParameterKVPairList)
|
||||||
|
{
|
||||||
|
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["보낸사람"]);
|
||||||
|
|
||||||
|
return receiveData.ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
46
ssgrestserver/request/6월추가개발/방송편성.cs
Normal file
46
ssgrestserver/request/6월추가개발/방송편성.cs
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 방송편성 : ARequestObject, INeedKeyRequest
|
||||||
|
{
|
||||||
|
string mRequestURL = "/broadcast/callScheduleChart?";
|
||||||
|
|
||||||
|
public void setNeedKeys()
|
||||||
|
{
|
||||||
|
mNeedKeyList.Add("mediaCode");
|
||||||
|
mNeedKeyList.Add("broadStartFromDate");
|
||||||
|
mNeedKeyList.Add("broadStartToDate");
|
||||||
|
|
||||||
|
mNeedKeyList.Add("보낸사람");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
|
||||||
|
mIsSendTypeGet = false;
|
||||||
|
|
||||||
|
string bufURLDataString = "";
|
||||||
|
|
||||||
|
foreach (KeyValuePair<string, string> item in mRequestParameterKVPairList)
|
||||||
|
{
|
||||||
|
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["보낸사람"]);
|
||||||
|
|
||||||
|
return receiveData.ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
43
ssgrestserver/request/6월추가개발/상품QnA.cs
Normal file
43
ssgrestserver/request/6월추가개발/상품QnA.cs
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 상품QnA : ARequestObject, INeedKeyRequest
|
||||||
|
{
|
||||||
|
string mRequestURL = "/mfront/mobile/goodsCounselList?";
|
||||||
|
|
||||||
|
public void setNeedKeys()
|
||||||
|
{
|
||||||
|
mNeedKeyList.Add("goodsCode");
|
||||||
|
mNeedKeyList.Add("보낸사람");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
|
||||||
|
mIsSendTypeGet = true;
|
||||||
|
|
||||||
|
string bufURLDataString = "";
|
||||||
|
|
||||||
|
foreach (KeyValuePair<string, string> item in mRequestParameterKVPairList)
|
||||||
|
{
|
||||||
|
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["보낸사람"]);
|
||||||
|
|
||||||
|
return receiveData.ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
43
ssgrestserver/request/6월추가개발/상품평조회.cs
Normal file
43
ssgrestserver/request/6월추가개발/상품평조회.cs
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 상품평조회 : ARequestObject, INeedKeyRequest
|
||||||
|
{
|
||||||
|
string mRequestURL = "/mfront/mobile/goodsCommentList?";
|
||||||
|
|
||||||
|
public void setNeedKeys()
|
||||||
|
{
|
||||||
|
mNeedKeyList.Add("goodsCode");
|
||||||
|
mNeedKeyList.Add("보낸사람");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
|
||||||
|
mIsSendTypeGet = true;
|
||||||
|
|
||||||
|
string bufURLDataString = "";
|
||||||
|
|
||||||
|
foreach (KeyValuePair<string, string> item in mRequestParameterKVPairList)
|
||||||
|
{
|
||||||
|
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["보낸사람"]);
|
||||||
|
|
||||||
|
return receiveData.ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
61
ssgrestserver/request/6월추가개발/채팅답변등록.cs
Normal file
61
ssgrestserver/request/6월추가개발/채팅답변등록.cs
Normal file
@@ -0,0 +1,61 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Net;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 채팅답변등록 : ARequestObject, INeedKeyRequest
|
||||||
|
{
|
||||||
|
string mRequestURL = "/mfront/mobile/broadtalkAnswer?";
|
||||||
|
|
||||||
|
public void setNeedKeys()
|
||||||
|
{
|
||||||
|
mNeedKeyList.Add("seqGFrameNo");
|
||||||
|
mNeedKeyList.Add("content");
|
||||||
|
mNeedKeyList.Add("nickName");
|
||||||
|
mNeedKeyList.Add("retalkSeq");
|
||||||
|
mNeedKeyList.Add("insertDate");
|
||||||
|
mNeedKeyList.Add("보낸사람");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
|
||||||
|
mIsSendTypeGet = false;
|
||||||
|
|
||||||
|
string bufURLDataString = "";
|
||||||
|
|
||||||
|
foreach (KeyValuePair<string, string> item in mRequestParameterKVPairList)
|
||||||
|
{
|
||||||
|
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 (receiveData.ContainsKey("content"))
|
||||||
|
//{
|
||||||
|
// receiveData["content"] = DataCenter.getInstance().interpritURL(receiveData["content"].ToString(), true);
|
||||||
|
//}
|
||||||
|
|
||||||
|
return receiveData.ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
47
ssgrestserver/request/6월추가개발/채팅리스트.cs
Normal file
47
ssgrestserver/request/6월추가개발/채팅리스트.cs
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 채팅리스트 : ARequestObject, INeedKeyRequest
|
||||||
|
{
|
||||||
|
string mRequestURL = "/mfront/mobile/broadtalkList?";
|
||||||
|
|
||||||
|
public void setNeedKeys()
|
||||||
|
{
|
||||||
|
mNeedKeyList.Add("seqGFrameNo");
|
||||||
|
mNeedKeyList.Add("startDate");
|
||||||
|
mNeedKeyList.Add("endDate");
|
||||||
|
mNeedKeyList.Add("보낸사람");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
|
||||||
|
mIsSendTypeGet = true;
|
||||||
|
|
||||||
|
string bufURLDataString = "";
|
||||||
|
|
||||||
|
foreach (KeyValuePair<string, string> item in mRequestParameterKVPairList)
|
||||||
|
{
|
||||||
|
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["보낸사람"]);
|
||||||
|
|
||||||
|
//receiveData.
|
||||||
|
|
||||||
|
return receiveData.ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
44
ssgrestserver/request/6월추가개발/콜데이터조회.cs
Normal file
44
ssgrestserver/request/6월추가개발/콜데이터조회.cs
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 콜데이터조회 : ARequestObject, INeedKeyRequest
|
||||||
|
{
|
||||||
|
string mRequestURL = "/realorder/broadCallResponseInfo?";
|
||||||
|
|
||||||
|
public void setNeedKeys()
|
||||||
|
{
|
||||||
|
mNeedKeyList.Add("seqGFrameNo");
|
||||||
|
mNeedKeyList.Add("보낸사람");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
mIsSendTypeGet = true;
|
||||||
|
|
||||||
|
string bufURLDataString = "";
|
||||||
|
|
||||||
|
foreach (KeyValuePair<string, string> item in mRequestParameterKVPairList)
|
||||||
|
{
|
||||||
|
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["보낸사람"]);
|
||||||
|
|
||||||
|
//receiveData.
|
||||||
|
|
||||||
|
return receiveData.ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
517
ssgrestserver/request/ARequestObject.cs
Normal file
517
ssgrestserver/request/ARequestObject.cs
Normal file
@@ -0,0 +1,517 @@
|
|||||||
|
using Newtonsoft.Json;
|
||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Net;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
abstract class ARequestObject
|
||||||
|
{
|
||||||
|
protected string TAG = "DB Connection Abstarct Class";
|
||||||
|
|
||||||
|
//private const string SSG_REST_SERVER_REAL = "http://inf.shinsegaetvshopping.com/";
|
||||||
|
private const string SSG_REST_SERVER_REAL = "http://202.3.21.200/";
|
||||||
|
private const string SSG_REST_SERVER_REAL_New = "https://m.shinsegaetvshopping.com/";
|
||||||
|
private const string SSG_REST_SERVER_TEST = "http://sinf-dev.shinsegaetvshopping.com/";
|
||||||
|
|
||||||
|
protected List<string> mNeedKeyList = new List<string>();
|
||||||
|
|
||||||
|
protected Dictionary<string, JObject> mAccessableDictionary = null;
|
||||||
|
|
||||||
|
|
||||||
|
internal ARequestObject()
|
||||||
|
{
|
||||||
|
|
||||||
|
mRequestParameterKVPairList = new Dictionary<string, string>();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 접근할 테이블명
|
||||||
|
/// </summary>
|
||||||
|
protected string TABLE_NAME = "";
|
||||||
|
|
||||||
|
|
||||||
|
protected bool mIsSendTypeGet = false;
|
||||||
|
|
||||||
|
protected Dictionary<string, string> mRequestParameterKVPairList = null;
|
||||||
|
|
||||||
|
|
||||||
|
protected DataCenter mDataCenter = DataCenter.getInstance();
|
||||||
|
|
||||||
|
protected string m채널이름 = "";
|
||||||
|
|
||||||
|
|
||||||
|
protected readonly string[] 송출가능목록 = { "상품", "경품", "텍스트", "채팅", "상품평", "QNA", "공지", "채팅판", "동영상", "콜데이터", "매진" };
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 테스트중
|
||||||
|
/// </summary>
|
||||||
|
public bool mIsRealURL = true;
|
||||||
|
|
||||||
|
internal static string create(string receiveValue)
|
||||||
|
{
|
||||||
|
|
||||||
|
string returnValue = "";
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
//인스턴스에서 쓸 값 초기화.
|
||||||
|
ARequestObject bufInstance = null;
|
||||||
|
|
||||||
|
///요청종류/씬포멧명/적용범위 ?Key=Value&Key=Value...
|
||||||
|
///방송용/코스피지수?Key=Value&Key=Value... 1타입
|
||||||
|
//////방송용/9?적용범위=코스피지수&종류=당일 2타입
|
||||||
|
|
||||||
|
//URL에서 Request부분(?)과 address부분을 분리
|
||||||
|
string[] bufURLSplit = receiveValue.Split('?');
|
||||||
|
|
||||||
|
//리퀘스트타입은 Get으로 넘어오는 Address데이터의 마지막부분 -> /RequestType
|
||||||
|
string[] bufRequestArray = bufURLSplit[0].Split('/');
|
||||||
|
|
||||||
|
|
||||||
|
string 사용처 = bufRequestArray[2];
|
||||||
|
string 씬이름 = bufRequestArray[3];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
///씬에따라 구분.
|
||||||
|
///사용처는 나중에 User Key로 사용할예정 현재는 그냥 쓰자. 테스트용임
|
||||||
|
switch (사용처)
|
||||||
|
{
|
||||||
|
#region "방송용데이터"
|
||||||
|
case "새데이터조회":
|
||||||
|
switch (씬이름)
|
||||||
|
{
|
||||||
|
case "상품수량":
|
||||||
|
bufInstance = new 새상품수량();
|
||||||
|
break;
|
||||||
|
case "경품프로모션":
|
||||||
|
bufInstance = new 새경품프로모션();
|
||||||
|
break;
|
||||||
|
case "채팅리스트":
|
||||||
|
bufInstance = new 채팅리스트();
|
||||||
|
break;
|
||||||
|
case "채팅답변등록":
|
||||||
|
bufInstance = new 채팅답변등록();
|
||||||
|
break;
|
||||||
|
case "방송채택":
|
||||||
|
bufInstance = new 방송채택();
|
||||||
|
break;
|
||||||
|
case "방송편성":
|
||||||
|
bufInstance = new 방송편성();
|
||||||
|
break;
|
||||||
|
case "상품평조회":
|
||||||
|
bufInstance = new 상품평조회();
|
||||||
|
break;
|
||||||
|
case "상품QnA":
|
||||||
|
bufInstance = new 상품QnA();
|
||||||
|
break;
|
||||||
|
case "공지CRUD":
|
||||||
|
bufInstance = new 공지CRUD();
|
||||||
|
break;
|
||||||
|
case "콜데이터조회":
|
||||||
|
bufInstance = new 콜데이터조회();
|
||||||
|
break;
|
||||||
|
case "방송VVIP":
|
||||||
|
bufInstance = new 방송VVIP();
|
||||||
|
break;
|
||||||
|
case "매진조회":
|
||||||
|
bufInstance = new 매진조회();
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
returnValue = "알수없는 분류 - " + 사용처 + "----" + 씬이름;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
case "데이터입력":
|
||||||
|
switch (씬이름)
|
||||||
|
{
|
||||||
|
case "상품수량":
|
||||||
|
bufInstance = new 입력상품수량();
|
||||||
|
break;
|
||||||
|
case "경품프로모션":
|
||||||
|
bufInstance = new 입력경품프로모션();
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
returnValue = "알수없는 분류 - " + 사용처 + "----" + 씬이름;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
case "입력데이터조회":
|
||||||
|
switch (씬이름)
|
||||||
|
{
|
||||||
|
case "상품수량":
|
||||||
|
bufInstance = new 기존상품수량();
|
||||||
|
break;
|
||||||
|
case "경품프로모션":
|
||||||
|
bufInstance = new 기존경품프로모션();
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
returnValue = "알수없는 분류 - " + 사용처 + "----" + 씬이름;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
case "자막상황":
|
||||||
|
switch (씬이름)
|
||||||
|
{
|
||||||
|
case "조회":
|
||||||
|
bufInstance = new 자막조회();
|
||||||
|
break;
|
||||||
|
case "입력":
|
||||||
|
bufInstance = new 자막입력();
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
returnValue = "알수없는 분류 - " + 사용처 + "----" + 씬이름;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "텍스트":
|
||||||
|
switch (씬이름)
|
||||||
|
{
|
||||||
|
case "조회":
|
||||||
|
bufInstance = new 기존텍스트();
|
||||||
|
break;
|
||||||
|
case "입력":
|
||||||
|
bufInstance = new 입력텍스트();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "씬이름":
|
||||||
|
switch (씬이름)
|
||||||
|
{
|
||||||
|
case "조회":
|
||||||
|
bufInstance = new 조회씬이름();
|
||||||
|
break;
|
||||||
|
case "입력":
|
||||||
|
bufInstance = new 입력씬이름();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "QNA":
|
||||||
|
switch (씬이름)
|
||||||
|
{
|
||||||
|
case "조회":
|
||||||
|
bufInstance = new 기존QNA();
|
||||||
|
break;
|
||||||
|
case "입력":
|
||||||
|
bufInstance = new 입력QNA();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
case "공지":
|
||||||
|
switch (씬이름)
|
||||||
|
{
|
||||||
|
case "조회":
|
||||||
|
bufInstance = new 기존공지();
|
||||||
|
break;
|
||||||
|
case "입력":
|
||||||
|
bufInstance = new 입력공지();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "상품평":
|
||||||
|
switch (씬이름)
|
||||||
|
{
|
||||||
|
case "조회":
|
||||||
|
bufInstance = new 기존상품평();
|
||||||
|
break;
|
||||||
|
case "입력":
|
||||||
|
bufInstance = new 입력상품평();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "채팅":
|
||||||
|
switch (씬이름)
|
||||||
|
{
|
||||||
|
case "조회":
|
||||||
|
bufInstance = new 기존채팅();
|
||||||
|
break;
|
||||||
|
case "입력":
|
||||||
|
bufInstance = new 입력채팅();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "채팅판":
|
||||||
|
switch (씬이름)
|
||||||
|
{
|
||||||
|
case "조회":
|
||||||
|
bufInstance = new 기존채팅판();
|
||||||
|
break;
|
||||||
|
case "입력":
|
||||||
|
bufInstance = new 입력채팅판();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "동영상":
|
||||||
|
switch (씬이름)
|
||||||
|
{
|
||||||
|
case "조회":
|
||||||
|
bufInstance = new 기존동영상();
|
||||||
|
break;
|
||||||
|
case "입력":
|
||||||
|
bufInstance = new 입력동영상();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
case "콜데이터":
|
||||||
|
switch (씬이름)
|
||||||
|
{
|
||||||
|
case "조회":
|
||||||
|
bufInstance = new 기존콜데이터();
|
||||||
|
break;
|
||||||
|
case "입력":
|
||||||
|
bufInstance = new 입력콜데이터();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "매진":
|
||||||
|
switch (씬이름)
|
||||||
|
{
|
||||||
|
case "조회":
|
||||||
|
bufInstance = new 기존매진();
|
||||||
|
break;
|
||||||
|
case "입력":
|
||||||
|
bufInstance = new 입력매진();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
|
||||||
|
case "test":
|
||||||
|
switch (씬이름)
|
||||||
|
{
|
||||||
|
case "test":
|
||||||
|
bufInstance = new 테스트();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bufInstance.mNeedKeyList = new List<string>();
|
||||||
|
|
||||||
|
|
||||||
|
if (bufRequestArray[1].Trim() == "")
|
||||||
|
{
|
||||||
|
throw new Exception("잘못된 채널정보");
|
||||||
|
}
|
||||||
|
|
||||||
|
bufInstance.m채널이름 = bufRequestArray[1];
|
||||||
|
|
||||||
|
if (bufInstance != null)
|
||||||
|
{
|
||||||
|
//URL이 충분히 왔을때만 작업
|
||||||
|
if (bufURLSplit.Length > 1)
|
||||||
|
{
|
||||||
|
bufInstance.mRequestParameterKVPairList = bufInstance.parseParameter(bufURLSplit[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
//필수키가 있는 리퀘스트에 한해서 체크한다.
|
||||||
|
string checkString = "";
|
||||||
|
|
||||||
|
if (bufInstance is INeedKeyRequest)
|
||||||
|
{
|
||||||
|
((INeedKeyRequest)bufInstance).setNeedKeys();
|
||||||
|
checkString = bufInstance.checkNeedUpdateKey();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (checkString == "")
|
||||||
|
{
|
||||||
|
returnValue = bufInstance.startUpdateWork();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
returnValue = checkString;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return returnValue;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (DuplicateNameException dne)
|
||||||
|
{
|
||||||
|
|
||||||
|
return "같은 종목을 여러번 요청하였습니다. " + dne.ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
protected Dictionary<string, string> parseParameter(string recvParametersInURL)
|
||||||
|
{
|
||||||
|
|
||||||
|
Dictionary<string, string> rtnValue = new Dictionary<string, string>();
|
||||||
|
|
||||||
|
string[] bufGetDataArray = recvParametersInURL.Split('&');
|
||||||
|
|
||||||
|
foreach (string item in bufGetDataArray)
|
||||||
|
{
|
||||||
|
string[] bufKVDataArray = item.Split('=');
|
||||||
|
|
||||||
|
rtnValue.Add(bufKVDataArray[0], bufKVDataArray[1]);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return rtnValue;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected abstract string startUpdateWork();
|
||||||
|
|
||||||
|
protected string httpRequest(string requestURL)
|
||||||
|
{
|
||||||
|
string rtnValue = "";
|
||||||
|
try
|
||||||
|
{
|
||||||
|
bool isMasterGoodsInfo = requestURL.Contains("masterGoodsInfo");
|
||||||
|
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create((mIsRealURL ? SSG_REST_SERVER_REAL : SSG_REST_SERVER_TEST) + requestURL);
|
||||||
|
if (isMasterGoodsInfo)
|
||||||
|
{
|
||||||
|
httpWebRequest = (HttpWebRequest)WebRequest.Create((SSG_REST_SERVER_REAL_New) + requestURL);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
;
|
||||||
|
// 인코딩 UTF-8
|
||||||
|
byte[] sendData = UTF8Encoding.UTF8.GetBytes("");
|
||||||
|
|
||||||
|
if (mIsSendTypeGet || isMasterGoodsInfo)
|
||||||
|
{
|
||||||
|
httpWebRequest.Method = "GET";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
httpWebRequest.ContentType = "application/x-www-form-urlencoded; charset=UTF-8";
|
||||||
|
httpWebRequest.Method = "POST";
|
||||||
|
httpWebRequest.ContentLength = sendData.Length;
|
||||||
|
Stream requestStream = httpWebRequest.GetRequestStream();
|
||||||
|
requestStream.Write(sendData, 0, sendData.Length);
|
||||||
|
requestStream.Close();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
|
||||||
|
StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream(), Encoding.GetEncoding("UTF-8"));
|
||||||
|
rtnValue = streamReader.ReadToEnd();
|
||||||
|
streamReader.Close();
|
||||||
|
httpWebResponse.Close();
|
||||||
|
|
||||||
|
return rtnValue;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
|
||||||
|
return ex.ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private string checkNeedUpdateKey()
|
||||||
|
{
|
||||||
|
foreach (string item in mNeedKeyList)
|
||||||
|
{
|
||||||
|
if (!mRequestParameterKVPairList.ContainsKey(item))
|
||||||
|
{
|
||||||
|
return "필수키가 없음 - " + item;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected void 조회시간추가()
|
||||||
|
{
|
||||||
|
|
||||||
|
Dictionary<string, JObject> bufTargetDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.코더상태);
|
||||||
|
|
||||||
|
if (mRequestParameterKVPairList.ContainsKey("보낸사람"))
|
||||||
|
{
|
||||||
|
if (mRequestParameterKVPairList["보낸사람"] == "코더")
|
||||||
|
{
|
||||||
|
bufTargetDictionary[m채널이름]["코더조회시간"] = DateTime.Now;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
TimeSpan 시간차 = DateTime.Now - Convert.ToDateTime(bufTargetDictionary[m채널이름]["코더조회시간"]);
|
||||||
|
|
||||||
|
if (시간차.TotalSeconds > 3)
|
||||||
|
{
|
||||||
|
bufTargetDictionary[m채널이름]["코더"] = "N";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bufTargetDictionary[m채널이름]["코더"] = "Y";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bufTargetDictionary[m채널이름]["현재서버시간"] = DateTime.Now;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void 코더확인객채생성여부()
|
||||||
|
{
|
||||||
|
if (!DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.코더상태).ContainsKey(m채널이름))
|
||||||
|
{
|
||||||
|
|
||||||
|
JObject buf코더상태 = new JObject();
|
||||||
|
|
||||||
|
|
||||||
|
foreach (string item in 송출가능목록)
|
||||||
|
{
|
||||||
|
buf코더상태.Add(item, "N");
|
||||||
|
}
|
||||||
|
|
||||||
|
buf코더상태.Add("코더", "N");
|
||||||
|
buf코더상태.Add("코더조회시간", new DateTime(1990, 1, 1));
|
||||||
|
buf코더상태.Add("현재서버시간", DateTime.Now);
|
||||||
|
|
||||||
|
DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.코더상태).Add(m채널이름, buf코더상태);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
133
ssgrestserver/request/DBManager.cs
Normal file
133
ssgrestserver/request/DBManager.cs
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Data;
|
||||||
|
using System.Data.SQLite;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver.request
|
||||||
|
{
|
||||||
|
class DBManager
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
#region Singleton
|
||||||
|
|
||||||
|
private volatile static DBManager mInstance = null;
|
||||||
|
|
||||||
|
private static object mSingletonLocker = new object();
|
||||||
|
|
||||||
|
private DBManager()
|
||||||
|
{
|
||||||
|
|
||||||
|
CONNECT_STRING = Program.mainForm.getStartupPath() + @"\ssgCRUD.db";
|
||||||
|
DB_SOURCE = $@"Data Source={CONNECT_STRING}";
|
||||||
|
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
|
||||||
|
using (var conn = new SQLiteConnection(DB_SOURCE))
|
||||||
|
{
|
||||||
|
int result = 0;
|
||||||
|
|
||||||
|
conn.Open();
|
||||||
|
using (var command = new SQLiteCommand("select count(*) from sqlite_master WHERE Name = 'ssgCRUD'", conn))
|
||||||
|
{
|
||||||
|
result = Convert.ToInt32(command.ExecuteScalar());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (result < 1)
|
||||||
|
{
|
||||||
|
string bufTableBuildQuery = @"create table ssgCRUD (seqGFrameNo TEXT PRIMARY KEY, vriNoticeNo TEXT UNIQUE, payload TEXT)";
|
||||||
|
|
||||||
|
using (var command = new SQLiteCommand(bufTableBuildQuery, conn))
|
||||||
|
{
|
||||||
|
command.ExecuteNonQuery();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
string CONNECT_STRING = "";
|
||||||
|
string DB_SOURCE = "";
|
||||||
|
|
||||||
|
public static DBManager getInstance()
|
||||||
|
{
|
||||||
|
lock (mSingletonLocker)
|
||||||
|
{
|
||||||
|
if (mInstance == null)
|
||||||
|
{
|
||||||
|
mInstance = new DBManager();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return mInstance;
|
||||||
|
}
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public DataSet sendSelectQuery(string query)
|
||||||
|
{
|
||||||
|
DataSet rtnValue = new DataSet();
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
|
||||||
|
using (var adapter = new SQLiteDataAdapter(query, DB_SOURCE))
|
||||||
|
{
|
||||||
|
adapter.Fill(rtnValue, "rtnTable");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Program.mainForm.recvLog("SQLQUERY_SELECT", ex.ToString());
|
||||||
|
}
|
||||||
|
|
||||||
|
return rtnValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool sendInsertQuery(string query)
|
||||||
|
{
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
|
||||||
|
using (var conn = new SQLiteConnection(DB_SOURCE))
|
||||||
|
{
|
||||||
|
conn.Open();
|
||||||
|
using (var command = new SQLiteCommand(query, conn))
|
||||||
|
{
|
||||||
|
command.ExecuteNonQuery();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
Program.mainForm.recvLog("SQLQUERY_INSERT", ex.ToString());
|
||||||
|
return false;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
13
ssgrestserver/request/INeedKeyRequest.cs
Normal file
13
ssgrestserver/request/INeedKeyRequest.cs
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
interface INeedKeyRequest
|
||||||
|
{
|
||||||
|
void setNeedKeys();
|
||||||
|
}
|
||||||
|
}
|
||||||
63
ssgrestserver/request/웹핸들링/입력/AInputTextHandler.cs
Normal file
63
ssgrestserver/request/웹핸들링/입력/AInputTextHandler.cs
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
abstract class AInputTextHandler : ARequestObject
|
||||||
|
{
|
||||||
|
|
||||||
|
protected string updateTextName = "";
|
||||||
|
|
||||||
|
protected abstract void setUpdateData();
|
||||||
|
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
this.setUpdateData();
|
||||||
|
|
||||||
|
if (!mRequestParameterKVPairList.ContainsKey("보낸사람"))
|
||||||
|
{
|
||||||
|
return "없는데이터 - 보낸사람";
|
||||||
|
}
|
||||||
|
if (!mRequestParameterKVPairList.ContainsKey(updateTextName))
|
||||||
|
{
|
||||||
|
return "없는데이터 - " + updateTextName;
|
||||||
|
}
|
||||||
|
|
||||||
|
코더확인객채생성여부();
|
||||||
|
|
||||||
|
JObject bufObj = new JObject();
|
||||||
|
|
||||||
|
bufObj.Add("보낸사람", mRequestParameterKVPairList["보낸사람"]);
|
||||||
|
|
||||||
|
bufObj.Add(updateTextName, mRequestParameterKVPairList[updateTextName]);
|
||||||
|
|
||||||
|
bufObj.Add("입력시간", DateTime.Now.ToString());
|
||||||
|
|
||||||
|
if (mAccessableDictionary.ContainsKey(m채널이름))
|
||||||
|
{
|
||||||
|
mAccessableDictionary[m채널이름] = bufObj;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mAccessableDictionary.Add(m채널이름, bufObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
JObject retObj = new JObject();
|
||||||
|
|
||||||
|
|
||||||
|
foreach (var item in mAccessableDictionary[m채널이름])
|
||||||
|
{
|
||||||
|
retObj.Add(item.Key, item.Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
retObj.Add("status", "200");
|
||||||
|
|
||||||
|
return retObj.ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/웹핸들링/입력/입력QNA.cs
Normal file
21
ssgrestserver/request/웹핸들링/입력/입력QNA.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 입력QNA : AInputTextHandler
|
||||||
|
{
|
||||||
|
protected override void setUpdateData()
|
||||||
|
{
|
||||||
|
|
||||||
|
updateTextName = "QNA";
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.QNA);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
52
ssgrestserver/request/웹핸들링/입력/입력경품프로모션.cs
Normal file
52
ssgrestserver/request/웹핸들링/입력/입력경품프로모션.cs
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 입력경품프로모션 : ARequestObject
|
||||||
|
{
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
if (!mRequestParameterKVPairList.ContainsKey("보낸사람"))
|
||||||
|
{
|
||||||
|
return "없는데이터 - 보낸사람";
|
||||||
|
}
|
||||||
|
if (!mRequestParameterKVPairList.ContainsKey("텍스트"))
|
||||||
|
{
|
||||||
|
return "없는데이터 - 텍스트";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
JObject retObj = new JObject();
|
||||||
|
|
||||||
|
retObj.Add("보낸사람", mRequestParameterKVPairList["보낸사람"]);
|
||||||
|
|
||||||
|
retObj.Add("텍스트", mRequestParameterKVPairList["텍스트"]);
|
||||||
|
|
||||||
|
retObj.Add("입력시간", DateTime.Now.ToString());
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.최근받은경품정보);
|
||||||
|
|
||||||
|
if (mAccessableDictionary.ContainsKey(m채널이름))
|
||||||
|
{
|
||||||
|
mAccessableDictionary[m채널이름] = retObj;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mAccessableDictionary.Add(m채널이름, retObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
retObj.Add("status", "200");
|
||||||
|
|
||||||
|
return retObj.ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/웹핸들링/입력/입력공지.cs
Normal file
21
ssgrestserver/request/웹핸들링/입력/입력공지.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 입력공지 : AInputTextHandler
|
||||||
|
{
|
||||||
|
protected override void setUpdateData()
|
||||||
|
{
|
||||||
|
|
||||||
|
updateTextName = "공지";
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.공지);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/웹핸들링/입력/입력동영상.cs
Normal file
21
ssgrestserver/request/웹핸들링/입력/입력동영상.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 입력동영상 : AInputTextHandler
|
||||||
|
{
|
||||||
|
protected override void setUpdateData()
|
||||||
|
{
|
||||||
|
|
||||||
|
updateTextName = "동영상";
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.동영상);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/웹핸들링/입력/입력매진.cs
Normal file
21
ssgrestserver/request/웹핸들링/입력/입력매진.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 입력매진 : AInputTextHandler
|
||||||
|
{
|
||||||
|
protected override void setUpdateData()
|
||||||
|
{
|
||||||
|
|
||||||
|
updateTextName = "매진";
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.매진);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
48
ssgrestserver/request/웹핸들링/입력/입력상품수량.cs
Normal file
48
ssgrestserver/request/웹핸들링/입력/입력상품수량.cs
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 입력상품수량 : ARequestObject
|
||||||
|
{
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
if (!mRequestParameterKVPairList.ContainsKey("보낸사람"))
|
||||||
|
{
|
||||||
|
return "없는데이터 - 보낸사람";
|
||||||
|
}
|
||||||
|
if (!mRequestParameterKVPairList.ContainsKey("텍스트"))
|
||||||
|
{
|
||||||
|
return "없는데이터 - 텍스트";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
JObject retObj = new JObject();
|
||||||
|
|
||||||
|
retObj.Add("보낸사람", mRequestParameterKVPairList["보낸사람"]);
|
||||||
|
|
||||||
|
retObj.Add("텍스트", mRequestParameterKVPairList["텍스트"]);
|
||||||
|
|
||||||
|
retObj.Add("입력시간", DateTime.Now.ToString());
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.최근받은상품수량);
|
||||||
|
|
||||||
|
if (mAccessableDictionary.ContainsKey(m채널이름))
|
||||||
|
{
|
||||||
|
mAccessableDictionary[m채널이름] = retObj;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mAccessableDictionary.Add(m채널이름, retObj);
|
||||||
|
}
|
||||||
|
|
||||||
|
retObj.Add("status", "200");
|
||||||
|
|
||||||
|
return retObj.ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/웹핸들링/입력/입력상품평.cs
Normal file
21
ssgrestserver/request/웹핸들링/입력/입력상품평.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 입력상품평 : AInputTextHandler
|
||||||
|
{
|
||||||
|
protected override void setUpdateData()
|
||||||
|
{
|
||||||
|
|
||||||
|
updateTextName = "상품평";
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.상품평);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
49
ssgrestserver/request/웹핸들링/입력/입력씬목록.cs
Normal file
49
ssgrestserver/request/웹핸들링/입력/입력씬목록.cs
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 입력씬이름 : ARequestObject
|
||||||
|
{
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
if (!mRequestParameterKVPairList.ContainsKey("씬이름"))
|
||||||
|
{
|
||||||
|
return "없는데이터 - 씬이름";
|
||||||
|
}
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.씬이름);
|
||||||
|
|
||||||
|
if (!mAccessableDictionary.ContainsKey(m채널이름))
|
||||||
|
{
|
||||||
|
JObject bufObj = new JObject();
|
||||||
|
|
||||||
|
bufObj.Add("씬이름", mRequestParameterKVPairList["씬이름"]);
|
||||||
|
|
||||||
|
mAccessableDictionary.Add(m채널이름, bufObj);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mAccessableDictionary[m채널이름]["씬이름"] = mRequestParameterKVPairList["씬이름"];
|
||||||
|
}
|
||||||
|
|
||||||
|
JObject retObj = new JObject();
|
||||||
|
|
||||||
|
|
||||||
|
foreach (var item in mAccessableDictionary[m채널이름])
|
||||||
|
{
|
||||||
|
retObj.Add(item.Key, item.Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
retObj.Add("status", "200");
|
||||||
|
|
||||||
|
return retObj.ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/웹핸들링/입력/입력채팅.cs
Normal file
21
ssgrestserver/request/웹핸들링/입력/입력채팅.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 입력채팅 : AInputTextHandler
|
||||||
|
{
|
||||||
|
protected override void setUpdateData()
|
||||||
|
{
|
||||||
|
|
||||||
|
updateTextName = "채팅";
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.채팅);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/웹핸들링/입력/입력채팅판.cs
Normal file
21
ssgrestserver/request/웹핸들링/입력/입력채팅판.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 입력채팅판 : AInputTextHandler
|
||||||
|
{
|
||||||
|
protected override void setUpdateData()
|
||||||
|
{
|
||||||
|
|
||||||
|
updateTextName = "채팅판";
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.채팅판);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/웹핸들링/입력/입력콜데이터.cs
Normal file
21
ssgrestserver/request/웹핸들링/입력/입력콜데이터.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 입력콜데이터 : AInputTextHandler
|
||||||
|
{
|
||||||
|
protected override void setUpdateData()
|
||||||
|
{
|
||||||
|
|
||||||
|
updateTextName = "콜데이터";
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.콜데이터);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/웹핸들링/입력/입력텍스트.cs
Normal file
21
ssgrestserver/request/웹핸들링/입력/입력텍스트.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 입력텍스트 : AInputTextHandler
|
||||||
|
{
|
||||||
|
protected override void setUpdateData()
|
||||||
|
{
|
||||||
|
|
||||||
|
updateTextName = "텍스트";
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.최근받은텍스트);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
50
ssgrestserver/request/웹핸들링/입력/자막입력.cs
Normal file
50
ssgrestserver/request/웹핸들링/입력/자막입력.cs
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 자막입력 : ARequestObject
|
||||||
|
{
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
코더확인객채생성여부();
|
||||||
|
|
||||||
|
if (송출가능목록.Except(mRequestParameterKVPairList.Keys).Count() == 송출가능목록.Length)
|
||||||
|
{
|
||||||
|
return "없는데이터 - 입력될 자막정보가 하나도 없음";
|
||||||
|
}
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.코더상태);
|
||||||
|
|
||||||
|
foreach (string item in 송출가능목록)
|
||||||
|
{
|
||||||
|
if (mRequestParameterKVPairList.ContainsKey(item))
|
||||||
|
{
|
||||||
|
if (mRequestParameterKVPairList[item] != "Y" && mRequestParameterKVPairList[item] != "N")
|
||||||
|
{
|
||||||
|
return "이상한데이터 - " + item + " 입력할 자막정보가 잘못됨(Y,N)";
|
||||||
|
}
|
||||||
|
|
||||||
|
mAccessableDictionary[m채널이름][item] = mRequestParameterKVPairList[item];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
조회시간추가();
|
||||||
|
|
||||||
|
if (!mAccessableDictionary[m채널이름].ContainsKey("status"))
|
||||||
|
{
|
||||||
|
mAccessableDictionary[m채널이름].Add("status", "200");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return mAccessableDictionary[m채널이름].ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
43
ssgrestserver/request/웹핸들링/조회/AOutputTextHandler.cs
Normal file
43
ssgrestserver/request/웹핸들링/조회/AOutputTextHandler.cs
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
abstract class AOutputTextHandler : ARequestObject
|
||||||
|
{
|
||||||
|
|
||||||
|
protected string updateTextName = "";
|
||||||
|
|
||||||
|
protected abstract void setUpdateData();
|
||||||
|
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
|
||||||
|
setUpdateData();
|
||||||
|
|
||||||
|
//mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.코더상태);
|
||||||
|
|
||||||
|
if (!mAccessableDictionary.ContainsKey(m채널이름))
|
||||||
|
{
|
||||||
|
return "서버에 없는 정보 - 텍스트";
|
||||||
|
}
|
||||||
|
|
||||||
|
코더확인객채생성여부();
|
||||||
|
|
||||||
|
조회시간추가();
|
||||||
|
|
||||||
|
JObject retObj = new JObject();
|
||||||
|
|
||||||
|
foreach (var item in mAccessableDictionary[m채널이름])
|
||||||
|
{
|
||||||
|
retObj.Add(item.Key, item.Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
return retObj.ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/웹핸들링/조회/기존QNA.cs
Normal file
21
ssgrestserver/request/웹핸들링/조회/기존QNA.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 기존QNA : AOutputTextHandler
|
||||||
|
{
|
||||||
|
protected override void setUpdateData()
|
||||||
|
{
|
||||||
|
|
||||||
|
updateTextName = "QNA";
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.QNA);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
24
ssgrestserver/request/웹핸들링/조회/기존경품프로모션.cs
Normal file
24
ssgrestserver/request/웹핸들링/조회/기존경품프로모션.cs
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 기존경품프로모션 : ARequestObject
|
||||||
|
{
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.최근받은경품정보);
|
||||||
|
|
||||||
|
if (!mAccessableDictionary.ContainsKey(this.m채널이름))
|
||||||
|
{
|
||||||
|
return "서버에 없는 정보 - 경품데이터";
|
||||||
|
}
|
||||||
|
|
||||||
|
return mAccessableDictionary[this.m채널이름].ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/웹핸들링/조회/기존공지.cs
Normal file
21
ssgrestserver/request/웹핸들링/조회/기존공지.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 기존공지 : AOutputTextHandler
|
||||||
|
{
|
||||||
|
protected override void setUpdateData()
|
||||||
|
{
|
||||||
|
|
||||||
|
updateTextName = "공지";
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.공지);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/웹핸들링/조회/기존동영상.cs
Normal file
21
ssgrestserver/request/웹핸들링/조회/기존동영상.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 기존동영상 : AOutputTextHandler
|
||||||
|
{
|
||||||
|
protected override void setUpdateData()
|
||||||
|
{
|
||||||
|
|
||||||
|
updateTextName = "동영상";
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.동영상);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/웹핸들링/조회/기존매진.cs
Normal file
21
ssgrestserver/request/웹핸들링/조회/기존매진.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 기존매진 : AOutputTextHandler
|
||||||
|
{
|
||||||
|
protected override void setUpdateData()
|
||||||
|
{
|
||||||
|
|
||||||
|
updateTextName = "매진";
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.매진);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
24
ssgrestserver/request/웹핸들링/조회/기존상품수량.cs
Normal file
24
ssgrestserver/request/웹핸들링/조회/기존상품수량.cs
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 기존상품수량 : ARequestObject
|
||||||
|
{
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.최근받은상품수량);
|
||||||
|
|
||||||
|
if (!mAccessableDictionary.ContainsKey(m채널이름))
|
||||||
|
{
|
||||||
|
return "서버에 없는 정보 - 상품데이터";
|
||||||
|
}
|
||||||
|
|
||||||
|
return mAccessableDictionary[m채널이름].ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/웹핸들링/조회/기존상품평.cs
Normal file
21
ssgrestserver/request/웹핸들링/조회/기존상품평.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 기존상품평 : AOutputTextHandler
|
||||||
|
{
|
||||||
|
protected override void setUpdateData()
|
||||||
|
{
|
||||||
|
|
||||||
|
updateTextName = "상품평";
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.상품평);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/웹핸들링/조회/기존채팅.cs
Normal file
21
ssgrestserver/request/웹핸들링/조회/기존채팅.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 기존채팅 : AOutputTextHandler
|
||||||
|
{
|
||||||
|
protected override void setUpdateData()
|
||||||
|
{
|
||||||
|
|
||||||
|
updateTextName = "채팅";
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.채팅);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/웹핸들링/조회/기존채팅판.cs
Normal file
21
ssgrestserver/request/웹핸들링/조회/기존채팅판.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 기존채팅판 : AOutputTextHandler
|
||||||
|
{
|
||||||
|
protected override void setUpdateData()
|
||||||
|
{
|
||||||
|
|
||||||
|
updateTextName = "채팅판";
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.채팅판);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/웹핸들링/조회/기존콜데이터.cs
Normal file
21
ssgrestserver/request/웹핸들링/조회/기존콜데이터.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 기존콜데이터 : AOutputTextHandler
|
||||||
|
{
|
||||||
|
protected override void setUpdateData()
|
||||||
|
{
|
||||||
|
|
||||||
|
updateTextName = "콜데이터";
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.콜데이터);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/웹핸들링/조회/기존텍스트.cs
Normal file
21
ssgrestserver/request/웹핸들링/조회/기존텍스트.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 기존텍스트 : AOutputTextHandler
|
||||||
|
{
|
||||||
|
protected override void setUpdateData()
|
||||||
|
{
|
||||||
|
|
||||||
|
updateTextName = "텍스트";
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.최근받은텍스트);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
29
ssgrestserver/request/웹핸들링/조회/자막조회.cs
Normal file
29
ssgrestserver/request/웹핸들링/조회/자막조회.cs
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 자막조회 : ARequestObject
|
||||||
|
{
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
코더확인객채생성여부();
|
||||||
|
|
||||||
|
조회시간추가();
|
||||||
|
|
||||||
|
mAccessableDictionary = DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.코더상태);
|
||||||
|
|
||||||
|
if (!mAccessableDictionary[m채널이름].ContainsKey("status"))
|
||||||
|
{
|
||||||
|
mAccessableDictionary[m채널이름].Add("status", "200");
|
||||||
|
}
|
||||||
|
|
||||||
|
return mAccessableDictionary[m채널이름].ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
27
ssgrestserver/request/웹핸들링/조회/조회씬목록.cs
Normal file
27
ssgrestserver/request/웹핸들링/조회/조회씬목록.cs
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 조회씬이름 : ARequestObject
|
||||||
|
{
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
|
||||||
|
JObject retObj = new JObject();
|
||||||
|
|
||||||
|
foreach (var item in DataCenter.getInstance().getData(DataCenter.관리중인데이터들배열.씬이름)[m채널이름])
|
||||||
|
{
|
||||||
|
retObj.Add(item.Key, item.Value);
|
||||||
|
}
|
||||||
|
|
||||||
|
retObj.Add("status", "200");
|
||||||
|
|
||||||
|
return retObj.ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
33
ssgrestserver/request/최초개발/새경품프로모션.cs
Normal file
33
ssgrestserver/request/최초개발/새경품프로모션.cs
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 새경품프로모션 : ARequestObject, INeedKeyRequest
|
||||||
|
{
|
||||||
|
//string mRequestURL = "promo/lotteryPromo.do?promoNo=";
|
||||||
|
string mRequestURL = "promo/lotteryPromo.do?promoNo=";
|
||||||
|
|
||||||
|
public void setNeedKeys()
|
||||||
|
{
|
||||||
|
mNeedKeyList.Add("프로모션코드");
|
||||||
|
mNeedKeyList.Add("보낸사람");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
|
||||||
|
JObject receiveData = JObject.Parse(httpRequest(mRequestURL + mRequestParameterKVPairList["프로모션코드"]));
|
||||||
|
|
||||||
|
receiveData.Add("조회시간", DateTime.Now.ToString());
|
||||||
|
receiveData.Add("보낸사람", mRequestParameterKVPairList["보낸사람"]);
|
||||||
|
|
||||||
|
return receiveData.ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
38
ssgrestserver/request/최초개발/새상품수량.cs
Normal file
38
ssgrestserver/request/최초개발/새상품수량.cs
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 새상품수량 : ARequestObject, INeedKeyRequest
|
||||||
|
{
|
||||||
|
string mRequestURL = "goods/soldQty.do?";
|
||||||
|
|
||||||
|
public void setNeedKeys()
|
||||||
|
{
|
||||||
|
mNeedKeyList.Add("방송일");
|
||||||
|
mNeedKeyList.Add("조회시작일");
|
||||||
|
mNeedKeyList.Add("PGM코드");
|
||||||
|
mNeedKeyList.Add("보낸사람");
|
||||||
|
}
|
||||||
|
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
|
||||||
|
string req = mRequestURL + "bDate=" + mRequestParameterKVPairList["조회시작일"];
|
||||||
|
req += "&broadDate=" + mRequestParameterKVPairList["방송일"];
|
||||||
|
req += "&pgmCode=" + mRequestParameterKVPairList["PGM코드"];
|
||||||
|
|
||||||
|
JObject receiveData = JObject.Parse(httpRequest(req));
|
||||||
|
|
||||||
|
receiveData.Add("조회시간", DateTime.Now.ToString());
|
||||||
|
receiveData.Add("보낸사람", mRequestParameterKVPairList["보낸사람"]);
|
||||||
|
|
||||||
|
return receiveData.ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
ssgrestserver/request/테스트.cs
Normal file
21
ssgrestserver/request/테스트.cs
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
using Newtonsoft.Json.Linq;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
|
||||||
|
namespace ssgrestserver
|
||||||
|
{
|
||||||
|
class 테스트 : ARequestObject
|
||||||
|
{
|
||||||
|
protected override string startUpdateWork()
|
||||||
|
{
|
||||||
|
JObject buf코더상태 = new JObject();
|
||||||
|
buf코더상태.Add("test", "testtt");
|
||||||
|
buf코더상태.Add("status", "200");
|
||||||
|
return buf코더상태.ToString(Newtonsoft.Json.Formatting.None);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
169
ssgrestserver/ssgrestserver.csproj
Normal file
169
ssgrestserver/ssgrestserver.csproj
Normal file
@@ -0,0 +1,169 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{5C389AE4-6059-4A1D-8E62-BD97C5FF5E8C}</ProjectGuid>
|
||||||
|
<OutputType>WinExe</OutputType>
|
||||||
|
<RootNamespace>ssgrestserver</RootNamespace>
|
||||||
|
<AssemblyName>ssgrestserver</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||||
|
<Deterministic>true</Deterministic>
|
||||||
|
<TargetFrameworkProfile />
|
||||||
|
<NuGetPackageImportStamp>
|
||||||
|
</NuGetPackageImportStamp>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<Optimize>false</Optimize>
|
||||||
|
<OutputPath>bin\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||||
|
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<OutputPath>bin\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<WarningLevel>4</WarningLevel>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="DevExpress.Data.v20.1, Version=20.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||||
|
<Reference Include="DevExpress.Xpo.v20.1, Version=20.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
|
||||||
|
<Reference Include="HttpMultipartParser, Version=8.1.0.0, Culture=neutral, PublicKeyToken=6d293681fa6c7a03, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\HttpMultipartParser.8.1.0\lib\net48\HttpMultipartParser.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.IO.RecyclableMemoryStream, Version=2.2.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Microsoft.IO.RecyclableMemoryStream.2.2.1\lib\net462\Microsoft.IO.RecyclableMemoryStream.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.ComponentModel.DataAnnotations" />
|
||||||
|
<Reference Include="System.Configuration" />
|
||||||
|
<Reference Include="System.Core" />
|
||||||
|
<Reference Include="System.Data.SQLite, Version=1.0.116.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.116.0\lib\net451\System.Data.SQLite.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Numerics" />
|
||||||
|
<Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.5.3\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="System.Web" />
|
||||||
|
<Reference Include="System.Xml.Linq" />
|
||||||
|
<Reference Include="System.Data.DataSetExtensions" />
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
|
<Reference Include="System.Data" />
|
||||||
|
<Reference Include="System.Deployment" />
|
||||||
|
<Reference Include="System.Drawing" />
|
||||||
|
<Reference Include="System.Net.Http" />
|
||||||
|
<Reference Include="System.Windows.Forms" />
|
||||||
|
<Reference Include="System.Xml" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="DataCenter.cs" />
|
||||||
|
<Compile Include="Form1.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="Form1.Designer.cs">
|
||||||
|
<DependentUpon>Form1.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="NetManager.cs" />
|
||||||
|
<Compile Include="Program.cs" />
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="request\6월추가개발\공지CRUD.cs" />
|
||||||
|
<Compile Include="request\6월추가개발\방송VVIP.cs" />
|
||||||
|
<Compile Include="request\6월추가개발\상품QnA.cs" />
|
||||||
|
<Compile Include="request\6월추가개발\상품평조회.cs" />
|
||||||
|
<Compile Include="request\6월추가개발\방송편성.cs" />
|
||||||
|
<Compile Include="request\6월추가개발\방송채택.cs" />
|
||||||
|
<Compile Include="request\6월추가개발\채팅답변등록.cs" />
|
||||||
|
<Compile Include="request\6월추가개발\매진조회.cs" />
|
||||||
|
<Compile Include="request\6월추가개발\콜데이터조회.cs" />
|
||||||
|
<Compile Include="request\6월추가개발\채팅리스트.cs" />
|
||||||
|
<Compile Include="request\ARequestObject.cs" />
|
||||||
|
<Compile Include="request\DBManager.cs" />
|
||||||
|
<Compile Include="request\INeedKeyRequest.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\입력\AInputTextHandler.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\입력\입력공지.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\입력\입력콜데이터.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\입력\입력매진.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\입력\입력동영상.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\입력\입력채팅판.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\입력\입력채팅.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\입력\입력상품평.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\입력\입력QNA.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\조회\AOutputTextHandler.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\조회\기존공지.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\조회\기존콜데이터.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\조회\기존매진.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\조회\기존동영상.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\조회\기존상품평.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\조회\기존QNA.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\조회\기존채팅판.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\조회\기존채팅.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\조회\조회씬목록.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\조회\기존텍스트.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\입력\입력씬목록.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\입력\입력텍스트.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\입력\입력상품수량.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\입력\입력경품프로모션.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\입력\자막입력.cs" />
|
||||||
|
<Compile Include="request\테스트.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\조회\자막조회.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\조회\기존경품프로모션.cs" />
|
||||||
|
<Compile Include="request\웹핸들링\조회\기존상품수량.cs" />
|
||||||
|
<Compile Include="request\최초개발\새경품프로모션.cs" />
|
||||||
|
<Compile Include="request\최초개발\새상품수량.cs" />
|
||||||
|
<EmbeddedResource Include="Form1.resx">
|
||||||
|
<DependentUpon>Form1.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="Properties\Resources.resx">
|
||||||
|
<Generator>ResXFileCodeGenerator</Generator>
|
||||||
|
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<Compile Include="Properties\Resources.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>Resources.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
</Compile>
|
||||||
|
<None Include="App.config" />
|
||||||
|
<None Include="packages.config" />
|
||||||
|
<None Include="Properties\Settings.settings">
|
||||||
|
<Generator>SettingsSingleFileGenerator</Generator>
|
||||||
|
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||||
|
</None>
|
||||||
|
<Compile Include="Properties\Settings.Designer.cs">
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>Settings.settings</DependentUpon>
|
||||||
|
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<Import Project="..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.116.0\build\net451\Stub.System.Data.SQLite.Core.NetFramework.targets" Condition="Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.116.0\build\net451\Stub.System.Data.SQLite.Core.NetFramework.targets')" />
|
||||||
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
<PropertyGroup>
|
||||||
|
<ErrorText>이 프로젝트는 이 컴퓨터에 없는 NuGet 패키지를 참조합니다. 해당 패키지를 다운로드하려면 NuGet 패키지 복원을 사용하십시오. 자세한 내용은 http://go.microsoft.com/fwlink/?LinkID=322105를 참조하십시오. 누락된 파일은 {0}입니다.</ErrorText>
|
||||||
|
</PropertyGroup>
|
||||||
|
<Error Condition="!Exists('..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.116.0\build\net451\Stub.System.Data.SQLite.Core.NetFramework.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Stub.System.Data.SQLite.Core.NetFramework.1.0.116.0\build\net451\Stub.System.Data.SQLite.Core.NetFramework.targets'))" />
|
||||||
|
</Target>
|
||||||
|
</Project>
|
||||||
Reference in New Issue
Block a user