SubscriptionPriceController.cs
6.72 KB
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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using AIAHTML5.ADMIN.API.Models;
using System.Web.Http.Cors;
using System.Web.Cors;
using AIAHTML5.Server.Constants;
using log4net;
using System.Text;
using AIAHTML5.ADMIN.API.Entity;
namespace AIAHTML5.ADMIN.API.Controllers
{
//[EnableCors(origins: "http://localhost:4200", headers: "*", methods: "*")]
[RoutePrefix("SubscriptionPrice")]
public class SubscriptionPriceController : ApiController
{
AIADatabaseV5Entities dbContext = new AIADatabaseV5Entities();
[Route("GetSubscriptionPrices")]
[HttpGet]
public HttpResponseMessage GetSubscriptionPrices(int editionId, string sortColumn, string sortOrder, int pageNo, int pageLength)
{
List<usp_GetSubscriptionPlans_Result> SubscriptionPriceList;
int recordCount = 0;
try
{
SubscriptionPriceList = SubscriptionPriceModel.GetSubscriptionPrices(dbContext, editionId, sortColumn, sortOrder, pageNo, pageLength, out recordCount);
return Request.CreateResponse(HttpStatusCode.OK, new { SubscriptionPriceList = SubscriptionPriceList, RecordCount = recordCount });
}
catch (Exception ex)
{
// Log exception code goes here
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message);
}
}
[Route("InsertSubscriptionPrice")]
[HttpPost]
public HttpResponseMessage InsertSubscriptionPrice(JObject jsonData)
{
bool Status = false;
SubscriptionPriceModel subscriptionPriceModel = new SubscriptionPriceModel();
subscriptionPriceModel.Id = jsonData["id"].Value<int>();
subscriptionPriceModel.Title = jsonData["title"].Value<string>();
subscriptionPriceModel.Price = jsonData["price"].Value<decimal>();
subscriptionPriceModel.Duration = jsonData["duration"].Value<int>();
subscriptionPriceModel.EditionId = jsonData["editionId"].Value<int>();
subscriptionPriceModel.IsActive = jsonData["isActive"].Value<bool>();
try
{
Status = SubscriptionPriceModel.InsertSubscriptionPrice(dbContext, subscriptionPriceModel);
if (Status)
{
return Request.CreateResponse(HttpStatusCode.OK, Status.ToString());
}
else
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, Status.ToString());
}
}
catch (Exception ex)
{
// Log exception code goes here
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message);
}
}
[Route("UpdateSubscriptionPrices")]
[HttpPost]
public HttpResponseMessage UpdateSubscriptionPrices(JObject jsonData)
{
bool Status = false;
List<SubscriptionPriceModel> subscriptionPriceList = new List<SubscriptionPriceModel>();
SubscriptionPriceModel subscriptionPriceModel = new SubscriptionPriceModel();
for (int i = 0; i < jsonData["obj"].Count(); i++)
{
subscriptionPriceModel = new SubscriptionPriceModel();
subscriptionPriceModel.Id = ((Newtonsoft.Json.Linq.JValue)(jsonData["obj"][i]["Id"])).Value<int>();
subscriptionPriceModel.Title = ((Newtonsoft.Json.Linq.JValue)(jsonData["obj"][i]["Title"])).Value<string>();
subscriptionPriceModel.Price = ((Newtonsoft.Json.Linq.JValue)(jsonData["obj"][i]["Price"])).Value<decimal>();
subscriptionPriceModel.Duration = ((Newtonsoft.Json.Linq.JValue)(jsonData["obj"][i]["Duration"])).Value<int>();
subscriptionPriceModel.EditionId = ((Newtonsoft.Json.Linq.JValue)(jsonData["obj"][i]["EditionId"])).Value<int>();
subscriptionPriceModel.IsActive = ((Newtonsoft.Json.Linq.JValue)(jsonData["obj"][i]["IsActive"])).Value<bool>();
subscriptionPriceList.Add(subscriptionPriceModel);
}
try
{
Status = SubscriptionPriceModel.UpdateSubscriptionPrices(dbContext, subscriptionPriceList);
if (Status)
{
return Request.CreateResponse(HttpStatusCode.OK, Status.ToString());
}
else
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, Status.ToString());
}
}
catch (Exception ex)
{
// Log exception code goes here
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message);
}
}
[Route("DeleteSubscriptionPrice")]
[HttpGet]
public HttpResponseMessage DeleteSubscriptionPrice(int subscriptionPriceId)
{
bool Status = false;
try
{
Status = SubscriptionPriceModel.DeleteSubscriptionPrice(dbContext, subscriptionPriceId);
if (Status)
{
return Request.CreateResponse(HttpStatusCode.OK, Status.ToString());
}
else
{
return Request.CreateErrorResponse(HttpStatusCode.BadRequest, Status.ToString());
}
}
catch (Exception ex)
{
// Log exception code goes here
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message);
}
}
[Route("CheckSubscriptionPlanForLicense")]
[HttpGet]
public HttpResponseMessage CheckSubscriptionPlanForLicense(int subscriptionPriceId)
{
bool Status = false;
try
{
Status = SubscriptionPriceModel.CheckSubscriptionPlanForLicense(dbContext, subscriptionPriceId);
return Request.CreateResponse(HttpStatusCode.OK, Status.ToString());
}
catch (Exception ex)
{
// Log exception code goes here
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex.Message);
}
}
protected HttpResponseMessage ToJson(dynamic obj)
{
var response = Request.CreateResponse(HttpStatusCode.OK);
response.Content = new StringContent(JsonConvert.SerializeObject(obj), Encoding.UTF8, "application/jsonP");
return response;
}
}
}