using ARC.GMP.Types; using ARC.GMP.Utils; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using System.Web; using System.Web.Mvc; using System.Web.Script.Serialization; namespace ARC.GMP.Controllers { public class QueueRuleMappingController : BaseController { [HttpPost] [Route("queuerulemapping/createqueuerulemapping")] public async Task CreateQueueRuleMapping(QueueRuleMapping queueRuleMapping) { string url = BaseURL + "api/queue"; var requestData = new JavaScriptSerializer().Serialize(queueRuleMapping); string response = await InvokeWebService.PostWebClientRequestAsync(url, Token, ClientId, requestData); return HandleTrivialHttpRequests(response); } [HttpPost] [Route("queuerulemapping/updatequeuerulemapping")] public async Task UpdateQueueRuleMapping(QueueRuleMapping queueRuleMapping) { string url = BaseURL + "api/queue"; var requestData = new JavaScriptSerializer().Serialize(queueRuleMapping); string res = await InvokeWebService.PostWebClientRequestAsync(url, Token, ClientId, requestData); return HandleTrivialHttpRequests(res); } [HttpGet] [Route("queuerulemapping/getqueuerulemappingbyid")] public async Task GetQueueRuleMappingById(long queueId) { string url = BaseURL + "api/queue/" + queueId; string res = await InvokeWebService.GetWebClientRequestAsync(url, Token, ClientId); return HandleTrivialHttpRequests(res); } [HttpGet] [Route("queuerulemapping/getqueuerulemapping")] public async Task GetQueueRuleMapping(string queueType) { string url = BaseURL + "api/queues/"+queueType; string res = await InvokeWebService.GetWebClientRequestAsync(url, Token, ClientId); return HandleTrivialHttpRequests(res); } [HttpPost] [Route("queuerulemapping/deletequeuerulemapping")] public async Task DeleteQueueRuleMapping(QueueRuleDelete id) { string url = BaseURL + "api/queue/delete"; var requestData = new JavaScriptSerializer().Serialize(id); string res = await InvokeWebService.PostWebClientRequestAsync(url, Token, ClientId, requestData); return HandleTrivialHttpRequests(res); } [HttpPost] [Route("queuerulemapping/updatequeuerulepriority")] public async Task UpdateQueueRulePriority(QueueRulePriority queueRulePriority) { string url = BaseURL + "api/queue/priority"; var requestData = new JavaScriptSerializer().Serialize(queueRulePriority); string res = await InvokeWebService.PostWebClientRequestAsync(url, Token, ClientId, requestData); return HandleTrivialHttpRequests(res); } [HttpGet] [Route("queuerulemapping/getqueuerulepreview")] public async Task GetQueueRulePreview(long queueId) { string url = BaseURL + "api/queue/preview/" + queueId; string res = await InvokeWebService.GetWebClientRequestAsync(url, Token, ClientId); return HandleTrivialHttpRequests(res); } [HttpPost] [Route("queuerulemapping/showqueuerulepreview")] public async Task ShowQueueRulePreview(QueueRuleMapping queueRuleMapping) { string url = BaseURL + "api/queue/preview/"; var requestData = new JavaScriptSerializer().Serialize(queueRuleMapping); string response = await InvokeWebService.PostWebClientRequestAsync(url, Token, ClientId, requestData); return HandleTrivialHttpRequests(response); } [HttpPost] [Route("queuerulemapping/showqueuerulepreview")] public async Task ReRunMapping(QueueRuleMapping queueRuleMapping) { string url = BaseURL + "api/queue/preview/"; var requestData = new JavaScriptSerializer().Serialize(queueRuleMapping); string response = await InvokeWebService.PostWebClientRequestAsync(url, Token, ClientId, requestData); return HandleTrivialHttpRequests(response); } [HttpGet] [Route("queuerulemapping/rerunmapping")] public async Task ReRunMapping(int isInclude) { string url = BaseURL + "api/queue/rerunmapping/" + isInclude; string res = await InvokeWebService.GetWebClientRequestAsync(url, Token, ClientId); return HandleTrivialHttpRequests(res); } [HttpPost] [Route("queuerulemapping/setqueueeditflag")] public async Task SetQueueEditFlag(QueueRuleMapping queueRuleMapping) { string url = BaseURL + "api/queue/setqueueeditflag"; var requestData = new JavaScriptSerializer().Serialize(queueRuleMapping); string res = await InvokeWebService.PostWebClientRequestAsync(url, Token, ClientId, requestData); return HandleTrivialHttpRequests(res); } [HttpGet] [Route("queuerulemapping/getprogress")] public async Task GetProgress() { string url = BaseURL + "api/queue/progress"; string res = await InvokeWebService.GetWebClientRequestAsync(url, Token, ClientId); return HandleTrivialHttpRequests(res); } [HttpGet] [Route("queuerulemapping/scheduledmappingisrunning")] public async Task ScheduledMappingIsRunning() { string url = BaseURL + "api/queue/scheduledmappingisrunning"; string res = await InvokeWebService.GetWebClientRequestAsync(url, Token, ClientId); return HandleTrivialHttpRequests(res); } } }