-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIISLogGate.cs
72 lines (63 loc) · 3.06 KB
/
IISLogGate.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
using DSM.Core.Models;
using DSM.Core.Ops;
using DSM.Core.Ops.ConsoleTheming;
using DSM.OrmService;
using Nancy;
using Nancy.ModelBinding;
using System;
using System.Collections.Generic;
namespace DSM.GatewayEngine
{
public class IISLogGate : SecureModule
{
private readonly SiteTransactionRepository _siteTransactionRepository = new SiteTransactionRepository();
public IISLogGate() : base(@"DSM.GatewayEngine\IISLogGate")
{
XConsole.SetDefaultColorSet(ConsoleColorSetGreen.Instance);
Get(WebOperations.WebMethod.GET_TRANSACTION_LASTLOGDATE_BY_SITEID.WithParamSiteId(), new Func<dynamic, object>(GetLastLogDate));
Get(WebOperations.WebMethod.GET_TRANSACTION_ACTIVATION_STATUS, new Func<dynamic, object>(GetActivationStatus));
Get(WebOperations.WebMethod.GET_TRANSACTIONS_BY_MACHINENAME.WithParamMachineName(), new Func<dynamic, object>(GetTransactions));
Get(WebOperations.WebMethod.GET_TRANSACTION_FILTERS, new Func<dynamic, object>(GetTransactionFilter));
Post(WebOperations.WebMethod.POST_TRANSACTION, new Func<dynamic, object>(PostTransactions));
Post(WebOperations.WebMethod.POST_TRANSACTION_MULTIPLE, new Func<dynamic, object>(PostTransactionsMulti));
}
private object GetTransactions(dynamic ServerName)
{
string serverName = ServerName;
string startDate = Convert.ToDateTime(Request.Query["StartDate"]);
string endDate = Convert.ToDateTime(Request.Query["EndDate"]);
logManager.Write("[GET] GetTransactions");
return Response.AsJson("Get Transactions By Server Name");
}
private object PostTransactions(dynamic parameters)
{
SiteTransaction newTransaction = this.Bind<SiteTransaction>();
logManager.Write("[POST] PostTransactions");
int result = _siteTransactionRepository.PostSiteTransaction(newTransaction);
return Response.AsJson(result);
}
private object PostTransactionsMulti(dynamic arg)
{
SiteTransaction[] newTransaction = this.Bind<SiteTransaction[]>();
logManager.Write("[POST] PostTransactions");
IEnumerable<SiteTransaction> result = _siteTransactionRepository.PostSiteTransaction(newTransaction);
return Response.AsJson(result);
}
private object GetTransactionFilter(dynamic parameters)
{
logManager.Write("[GET] GetTransactionFilter");
IEnumerable<SiteTransactionFilterExcludedItem> filterExcludedItems = _siteTransactionRepository.GetFilters();
return Response.AsJson(filterExcludedItems);
}
private object GetActivationStatus(dynamic parameters)
{
return Response.AsJson(true);
}
private object GetLastLogDate(dynamic parameters)
{
int siteId = parameters.SiteId;
DateTime lastLogDate = _siteTransactionRepository.GetLastLogDateBySiteId(siteId);
return Response.AsJson(lastLogDate);
}
}
}