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 PledgeController : BaseController { [HttpPost] [Route("pledge/createpledge")] public async Task CreatePledge(Pledge pledge) { string url = BaseURL + "api/pledge"; var requestData = new JavaScriptSerializer().Serialize(pledge); string response = await InvokeWebService.PostWebClientRequestAsync(url, Token, ClientId, requestData); return HandleTrivialHttpRequests(response); } [HttpPost] [Route("pledge/updatepledge")] public async Task UpdatePledge(Pledge pledge) { string url = BaseURL + "api/pledge"; var requestData = new JavaScriptSerializer().Serialize(pledge); string res = await InvokeWebService.PostWebClientRequestAsync(url, Token, ClientId, requestData); return HandleTrivialHttpRequests(res); } [HttpPost] [Route("pledge/deletepledge")] public async Task DeletePledge(Pledge pledge) { string url = BaseURL + "api/pledge"; var requestData = new JavaScriptSerializer().Serialize(pledge); string res = await InvokeWebService.PostWebClientRequestAsync(url, Token, ClientId, requestData); return HandleTrivialHttpRequests(res); } [HttpPost] [Route("pledge/reschedulepledgeinstallment")] public async Task ReSchedulePledgeInstallment(PledgeInstallmentReSchedule reschedules) { string url = BaseURL + "api/pledge/schedules"; var requestData = new JavaScriptSerializer().Serialize(reschedules); string res = await InvokeWebService.PostWebClientRequestAsync(url, Token, ClientId, requestData); return HandleTrivialHttpRequests(res); } [HttpGet] [Route("pledge/getpledge")] public async Task GetPledge(long id) { string url = BaseURL + "api/pledge/" + id; string res = await InvokeWebService.GetHttpClientRequestAsync(url, Token, ClientId); return HandleTrivialHttpRequests(res); } [HttpGet] [Route("pledge/getpledgepayments")] public async Task GetPledgePayments(long id) { string url = BaseURL + "api/pledge/payments/" + id; string res = await InvokeWebService.GetHttpClientRequestAsync(url, Token, ClientId); return HandleTrivialHttpRequests(res); } [HttpGet] [Route("pledge/validateaskid")] public async Task ValidateAskId(string askId) { string url = BaseURL + "api/pledge/validateaskid/" + askId; string res = await InvokeWebService.GetHttpClientRequestAsync(url, Token, ClientId); return HandleTrivialHttpRequests(res); } [HttpGet] [Route("pledge/setpledgeeditmode")] public async Task SetPledgeEditMode(long id, bool isEditMode) { string url = BaseURL + "api/pledge/" + id + "/editMode/" + isEditMode; string res = await InvokeWebService.GetHttpClientRequestAsync(url, Token, ClientId); return HandleTrivialHttpRequests(res); } [HttpGet] [Route("pledge/getpledgeeditmode")] public async Task GetPledgeEditMode(long id) { string url = BaseURL + "api/pledge/" + id + "/editMode"; string res = await InvokeWebService.GetHttpClientRequestAsync(url, Token, ClientId); return HandleTrivialHttpRequests(res); } [HttpGet] [Route("pledge/getopenpledges")] public async Task GetOpenPledges(string masterIds) { string url = BaseURL + "api/pledge/openpledges/"+ masterIds; string res = await InvokeWebService.GetHttpClientRequestAsync(url, Token, ClientId); return HandleTrivialHttpRequests(res); } [HttpPost] [Route("pledge/getpledgeschedules")] public async Task GetPledgeSchedules(PledgeInstallmentReSchedule pledgeInstallments) { string url = BaseURL + "api/pledge/getpledgeschedules"; var requestData = new JavaScriptSerializer().Serialize(pledgeInstallments); string res = await InvokeWebService.PostWebClientRequestAsync(url, Token, ClientId, requestData); return HandleTrivialHttpRequests(res); } // Get pledge status, active flag by pledge number [HttpGet] [Route("pledge/validatepledge")] public async Task ValidatePledge(string pledgeNumber) { string url = BaseURL + "api/pledge/validatepledge/" + pledgeNumber; //var requestData = new JavaScriptSerializer().Serialize(pledgeNumber); string res = await InvokeWebService.GetHttpClientRequestAsync(url, Token, ClientId); return HandleTrivialHttpRequests(res); } [HttpPost] [Route("pledge/validatepledgeamount")] public async Task ValidatePledgeAmount(PledgeAmountValidate pledge) { string url = BaseURL + "api/pledge/validatepledgeamount"; var requestData = new JavaScriptSerializer().Serialize(pledge); string res = await InvokeWebService.PostWebClientRequestAsync(url, Token, ClientId, requestData); return HandleTrivialHttpRequests(res); } } }