Manos Chorianopoulos

update CouponsView request

...@@ -13,8 +13,16 @@ import UIKit ...@@ -13,8 +13,16 @@ import UIKit
13 13
14 class DataModel { 14 class DataModel {
15 var data: Array<NSDictionary> = [] 15 var data: Array<NSDictionary> = []
16 + var data2: Array<swiftApi.CouponItemModel> = []
16 17
17 init() { //initializer method 18 init() { //initializer method
19 +
20 + let instanceOfMySwiftApi = swiftApi()
21 + let couponsData = instanceOfMySwiftApi.getCoupons()
22 +
23 + self.data2 = couponsData
24 +
25 +
18 let instanceOfMyApi = MyApi() 26 let instanceOfMyApi = MyApi()
19 let couponSets = instanceOfMyApi.getCouponSets(withActive: true, andVisible: true, andUuids: nil) 27 let couponSets = instanceOfMyApi.getCouponSets(withActive: true, andVisible: true, andUuids: nil)
20 let coupons = instanceOfMyApi.getCoupons() as AnyObject? 28 let coupons = instanceOfMyApi.getCoupons() as AnyObject?
...@@ -48,6 +56,12 @@ class DataModel { ...@@ -48,6 +56,12 @@ class DataModel {
48 } 56 }
49 } 57 }
50 58
59 + var getData2: Array<swiftApi.CouponItemModel> {
60 + get { // getter
61 + return data2
62 + }
63 + }
64 +
51 var getData: Array<NSDictionary> { 65 var getData: Array<NSDictionary> {
52 get { // getter 66 get { // getter
53 return data.filter({ 67 return data.filter({
...@@ -143,7 +157,7 @@ extension CouponsView { ...@@ -143,7 +157,7 @@ extension CouponsView {
143 } 157 }
144 158
145 struct couponView: View { 159 struct couponView: View {
146 - var result: NSDictionary 160 + var result: swiftApi.CouponItemModel
147 var index: Int 161 var index: Int
148 var parentView: UIView 162 var parentView: UIView
149 163
...@@ -154,19 +168,20 @@ extension CouponsView { ...@@ -154,19 +168,20 @@ extension CouponsView {
154 } 168 }
155 169
156 static func convertDateFormat(inputDate: String) -> String { 170 static func convertDateFormat(inputDate: String) -> String {
157 - let olDateFormatter = DateFormatter() 171 + let dateFormatter = DateFormatter()
158 - olDateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss" 172 + dateFormatter.dateFormat = "yyyy-MM-dd hh:mm:ss"
159 - 173 + if let date = dateFormatter.date(from: inputDate) {
160 - let oldDate = olDateFormatter.date(from: inputDate) 174 + dateFormatter.dateFormat = "dd/MM/yyyy"
161 - 175 + let resultString = dateFormatter.string(from: date)
162 - let convertDateFormatter = DateFormatter() 176 + return resultString
163 - convertDateFormatter.dateFormat = "dd/MM/yyyy" 177 + } else {
164 - 178 + return ""
165 - return convertDateFormatter.string(from: oldDate!) 179 + }
166 } 180 }
167 181
168 var body: some View { 182 var body: some View {
169 - let couponData = result["coupon_data"] as? [String: Any] ?? ["":""] 183 +// let couponData = result["coupon_data"] as? [String: Any] ?? ["":""]
184 + let couponSetData = result.couponset_data
170 185
171 186
172 VStack(alignment: .leading) { 187 VStack(alignment: .leading) {
...@@ -181,7 +196,7 @@ extension CouponsView { ...@@ -181,7 +196,7 @@ extension CouponsView {
181 couponBarcodeViewController.didMove(toParent: UIHostingController(rootView: self)) 196 couponBarcodeViewController.didMove(toParent: UIHostingController(rootView: self))
182 } label: { 197 } label: {
183 HStack(alignment: .center) { 198 HStack(alignment: .center) {
184 - ImageView(withURL: result["img_preview"] as! String) 199 + ImageView(withURL: couponSetData?.img_preview ?? "")
185 .frame(maxWidth: self.uiscreen.width * 0.15) 200 .frame(maxWidth: self.uiscreen.width * 0.15)
186 .padding(.leading , self.uiscreen.width * 0.055) 201 .padding(.leading , self.uiscreen.width * 0.055)
187 VLine() 202 VLine()
...@@ -193,17 +208,17 @@ extension CouponsView { ...@@ -193,17 +208,17 @@ extension CouponsView {
193 .padding(.bottom, self.uiscreen.height * 0.0075) 208 .padding(.bottom, self.uiscreen.height * 0.0075)
194 Spacer() 209 Spacer()
195 VStack { 210 VStack {
196 - Text(CouponsView.couponView.localizedWithParameter(parameter: result["name"] as? String ?? "")) 211 + Text(CouponsView.couponView.localizedWithParameter(parameter: couponSetData?.name ?? ""))
197 .fontWeight(.medium) 212 .fontWeight(.medium)
198 .foregroundColor(Color(red: 0.22745098039215686, green: 0.3215686274509804, blue: 0.4)) 213 .foregroundColor(Color(red: 0.22745098039215686, green: 0.3215686274509804, blue: 0.4))
199 .frame(maxWidth: self.uiscreen.width * 0.35, maxHeight: .infinity, alignment: .leading) 214 .frame(maxWidth: self.uiscreen.width * 0.35, maxHeight: .infinity, alignment: .leading)
200 .font(.system(size: 15)) 215 .font(.system(size: 15))
201 - Text(CouponsView.couponView.localizedWithParameter(parameter: couponData["discount"] as? String ?? "")) 216 + Text(CouponsView.couponView.localizedWithParameter(parameter: result.discount ?? ""))
202 .fontWeight(.bold) 217 .fontWeight(.bold)
203 .foregroundColor(Color(red: 0.22745098039215686, green: 0.3215686274509804, blue: 0.4)) 218 .foregroundColor(Color(red: 0.22745098039215686, green: 0.3215686274509804, blue: 0.4))
204 .frame(maxWidth: self.uiscreen.width * 0.35, maxHeight: self.uiscreen.height * 0.05, alignment: .leading) 219 .frame(maxWidth: self.uiscreen.width * 0.35, maxHeight: self.uiscreen.height * 0.05, alignment: .leading)
205 .font(.system(size: 47)) 220 .font(.system(size: 47))
206 - Text(CouponsView.couponView.localizedWithParameter(parameter: "Ισχύει εώς " + CouponsView.couponView.convertDateFormat(inputDate: couponData["expiration"] as? String ?? ""))) 221 + Text(CouponsView.couponView.localizedWithParameter(parameter: "Ισχύει εώς " + (result.expiration ?? "")))
207 .fontWeight(.medium) 222 .fontWeight(.medium)
208 .foregroundColor(Color(red: 0.3803921568627451, green: 0.44313725490196076, blue: 0.5058823529411764)) 223 .foregroundColor(Color(red: 0.3803921568627451, green: 0.44313725490196076, blue: 0.5058823529411764))
209 .frame(maxWidth: self.uiscreen.width * 0.35, maxHeight: .infinity, alignment: .leading) 224 .frame(maxWidth: self.uiscreen.width * 0.35, maxHeight: .infinity, alignment: .leading)
...@@ -213,7 +228,7 @@ extension CouponsView { ...@@ -213,7 +228,7 @@ extension CouponsView {
213 .padding(.top, self.uiscreen.height * 0.03) 228 .padding(.top, self.uiscreen.height * 0.03)
214 .padding(.bottom, self.uiscreen.height * 0.03) 229 .padding(.bottom, self.uiscreen.height * 0.03)
215 VStack { 230 VStack {
216 - Text(CouponsView.couponView.localizedWithParameter(parameter: result["short_description"] as! String)) 231 + Text(CouponsView.couponView.localizedWithParameter(parameter: couponSetData?.short_description ?? ""))
217 .fontWeight(.medium) 232 .fontWeight(.medium)
218 .foregroundColor(Color(red: 0.3803921568627451, green: 0.44313725490196076, blue: 0.5058823529411764)) 233 .foregroundColor(Color(red: 0.3803921568627451, green: 0.44313725490196076, blue: 0.5058823529411764))
219 .frame(maxWidth: self.uiscreen.width * 0.22, maxHeight: self.uiscreen.height * 0.10) 234 .frame(maxWidth: self.uiscreen.width * 0.22, maxHeight: self.uiscreen.height * 0.10)
...@@ -239,12 +254,22 @@ extension CouponsView { ...@@ -239,12 +254,22 @@ extension CouponsView {
239 @available(iOS 13.0.0, *) 254 @available(iOS 13.0.0, *)
240 struct CouponsView: View { 255 struct CouponsView: View {
241 256
242 - var data:Array<NSDictionary> = DataModel().getData 257 +// var data:Array<swiftApi.CouponItemModel> = []
258 +
259 + var data:Array<swiftApi.CouponItemModel> = DataModel().getData2
243 260
244 var parentView: UIView 261 var parentView: UIView
245 262
246 var uiscreen = UIScreen.main.bounds 263 var uiscreen = UIScreen.main.bounds
247 264
265 +// init() { //initializer method
266 +//
267 +// let instanceOfMySwiftApi = swiftApi()
268 +// let couponsData = instanceOfMySwiftApi.getCoupons()
269 +//
270 +// self.data = couponsData
271 +// }
272 +
248 func goBack(){ 273 func goBack(){
249 for subview in parentView.subviews { 274 for subview in parentView.subviews {
250 if(subview.tag == 1) { 275 if(subview.tag == 1) {
......