|
@@ -1,10 +1,9 @@
|
1
|
1
|
using Newtonsoft.Json;
|
2
|
2
|
using RestSharp;
|
3
|
|
-using System;
|
4
|
3
|
using System.Collections.Generic;
|
|
4
|
+using System.Data;
|
|
5
|
+using System.IO;
|
5
|
6
|
using System.Linq;
|
6
|
|
-using System.Security.Cryptography;
|
7
|
|
-using System.Threading.Tasks;
|
8
|
7
|
using UnivateProperties_API.Containers.Timeshare;
|
9
|
8
|
using UnivateProperties_API.Context;
|
10
|
9
|
using UnivateProperties_API.Helpers;
|
|
@@ -14,6 +13,8 @@ namespace UnivateProperties_API.Repository.Timeshare
|
14
|
13
|
public interface IResortRepository
|
15
|
14
|
{
|
16
|
15
|
List<ResortDisplay> GetResortsByRegion(string regionCode);
|
|
16
|
+ string GetResortDescription(string resortCode);
|
|
17
|
+ List<string> GetResortImages(string resortCode);
|
17
|
18
|
}
|
18
|
19
|
|
19
|
20
|
public class ResortRepository : IResortRepository
|
|
@@ -25,6 +26,88 @@ namespace UnivateProperties_API.Repository.Timeshare
|
25
|
26
|
_dbContext = dbContext;
|
26
|
27
|
}
|
27
|
28
|
|
|
29
|
+ public string GetResortDescription(string resortCode)
|
|
30
|
+ {
|
|
31
|
+ var requestDataURL = MyCommon.Reservations.Replace("ReservationsWebService.asmx", "");
|
|
32
|
+ var client = new RestClient(MyCommon.Reservations)
|
|
33
|
+ {
|
|
34
|
+ Timeout = -1
|
|
35
|
+ };
|
|
36
|
+ var request = new RestRequest(Method.POST);
|
|
37
|
+ request.AddHeader("charset", "utf-8");
|
|
38
|
+ request.AddHeader("Content-Type", "text/xml");
|
|
39
|
+ request.AddHeader("Cookie", "ASP.NET_SessionId=bis4e2xtmqjdvh2wlqfolzbt");
|
|
40
|
+ request.AddParameter("text/xml"
|
|
41
|
+ , string.Format("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\r\n <soap:Body>\r\n <GetResortDescription xmlns=\"{3}\">\r\n <UserCode>{0}</UserCode>\r\n <Password>{1}</Password>\r\n <ResortCode>{2}</ResortCode>\r\n </GetResortDescription>\r\n </soap:Body>\r\n</soap:Envelope>"
|
|
42
|
+ , MyCommon.ReservationsUserCode
|
|
43
|
+ , MyCommon.ReservationsPassword
|
|
44
|
+ , resortCode
|
|
45
|
+ , requestDataURL)
|
|
46
|
+ , ParameterType.RequestBody);
|
|
47
|
+ IRestResponse response = client.Execute(request);
|
|
48
|
+
|
|
49
|
+ string description = "";
|
|
50
|
+ if (!string.IsNullOrEmpty(response.Content) && !response.Content.Contains("ERROR:"))
|
|
51
|
+ {
|
|
52
|
+ DataSet data = CreateDataSet(response.Content);
|
|
53
|
+ if (data.Tables.Count > 1)
|
|
54
|
+ {
|
|
55
|
+ foreach (DataRow row in data.Tables["GetResortDescriptionResponse"].Rows)
|
|
56
|
+ description = row[0].ToString();
|
|
57
|
+ }
|
|
58
|
+ }
|
|
59
|
+ return description;
|
|
60
|
+ }
|
|
61
|
+
|
|
62
|
+ public List<string> GetResortImages(string resortCode)
|
|
63
|
+ {
|
|
64
|
+ var requestDataURL = MyCommon.Reservations.Replace("ReservationsWebService.asmx", "");
|
|
65
|
+ var client = new RestClient(MyCommon.Reservations)
|
|
66
|
+ {
|
|
67
|
+ Timeout = -1
|
|
68
|
+ };
|
|
69
|
+ var request = new RestRequest(Method.POST);
|
|
70
|
+ request.AddHeader("charset", "utf-8");
|
|
71
|
+ request.AddHeader("Content-Type", "text/xml");
|
|
72
|
+ request.AddHeader("Cookie", "ASP.NET_SessionId=bis4e2xtmqjdvh2wlqfolzbt");
|
|
73
|
+ request.AddParameter("text/xml"
|
|
74
|
+ , string.Format("<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<soap:Envelope xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\">\r\n <soap:Body>\r\n <GetResortImages xmlns=\"{3}\">\r\n <UserCode>{0}</UserCode>\r\n <Password>{1}</Password>\r\n <ResortCode>{2}</ResortCode>\r\n </GetResortImages >\r\n </soap:Body>\r\n</soap:Envelope>"
|
|
75
|
+ , MyCommon.ReservationsUserCode
|
|
76
|
+ , MyCommon.ReservationsPassword
|
|
77
|
+ , resortCode
|
|
78
|
+ , requestDataURL)
|
|
79
|
+ , ParameterType.RequestBody);
|
|
80
|
+ IRestResponse response = client.Execute(request);
|
|
81
|
+
|
|
82
|
+ var images = new List<string>();
|
|
83
|
+ if (!string.IsNullOrEmpty(response.Content) && !response.Content.Contains("ERROR:"))
|
|
84
|
+ {
|
|
85
|
+ DataSet data = CreateDataSet(response.Content);
|
|
86
|
+ if (data.Tables.Count > 1)
|
|
87
|
+ {
|
|
88
|
+ foreach (DataRow row in data.Tables["string"].Rows)
|
|
89
|
+ images.Add(row[0].ToString());
|
|
90
|
+ }
|
|
91
|
+ }
|
|
92
|
+ return images;
|
|
93
|
+ }
|
|
94
|
+
|
|
95
|
+ public DataSet CreateDataSet(string data)
|
|
96
|
+ {
|
|
97
|
+ try
|
|
98
|
+ {
|
|
99
|
+ StringReader theReader = new StringReader(data);
|
|
100
|
+ DataSet theDataSet = new DataSet();
|
|
101
|
+ theDataSet.ReadXml(theReader);
|
|
102
|
+
|
|
103
|
+ return theDataSet;
|
|
104
|
+ }
|
|
105
|
+ catch
|
|
106
|
+ {
|
|
107
|
+ return null;
|
|
108
|
+ }
|
|
109
|
+ }
|
|
110
|
+
|
28
|
111
|
public List<ResortDisplay> GetResortsByRegion(string regionCode)
|
29
|
112
|
{
|
30
|
113
|
var resorts = new List<ResortDisplay>();
|