瀏覽代碼

Home Page carousel return.

master
George Williams 5 年之前
父節點
當前提交
c006b0337b

+ 15
- 0
UnivateProperties_API/Containers/Misc/CarouselList.cs 查看文件

@@ -0,0 +1,15 @@
1
+using System;
2
+using UnivateProperties_API.Model.Misc;
3
+
4
+namespace UnivateProperties_API.Containers.Misc
5
+{
6
+    public class CarouselList : Carousel
7
+    {
8
+        public string Address { get; set; }
9
+        public bool IsProperty { get; set; }
10
+        public int Bedrooms { get; set; }
11
+        public int Sleeps { get; set; }
12
+        public DateTime Arrival { get; set; }
13
+        public DateTime Departure { get; set; }
14
+    }
15
+}

+ 5
- 10
UnivateProperties_API/Controllers/Misc/CarouselController.cs 查看文件

@@ -1,12 +1,7 @@
1
-using System;
2
-using System.Collections.Generic;
3
-using System.Linq;
4
-using System.Threading.Tasks;
1
+using Microsoft.AspNetCore.Mvc;
5 2
 using System.Transactions;
6
-using Microsoft.AspNetCore.Http;
7
-using Microsoft.AspNetCore.Mvc;
8 3
 using UnivateProperties_API.Model.Misc;
9
-using UnivateProperties_API.Repository;
4
+using UnivateProperties_API.Repository.Misc;
10 5
 
11 6
 namespace UnivateProperties_API.Controllers.Misc
12 7
 {
@@ -14,9 +9,9 @@ namespace UnivateProperties_API.Controllers.Misc
14 9
     [ApiController]
15 10
     public class CarouselController : ControllerBase
16 11
     {
17
-        private readonly IRepository<Carousel> _Repo;
12
+        private readonly ICarouselRepository _Repo;
18 13
 
19
-        public CarouselController(IRepository<Carousel> repo)
14
+        public CarouselController(ICarouselRepository repo)
20 15
         {
21 16
             _Repo = repo;
22 17
         }
@@ -24,7 +19,7 @@ namespace UnivateProperties_API.Controllers.Misc
24 19
         [HttpGet]
25 20
         public IActionResult Get()
26 21
         {
27
-            return new OkObjectResult(_Repo.GetAll());
22
+            return new OkObjectResult(_Repo.GetCarouselItems());
28 23
         }
29 24
 
30 25
         [HttpGet("{id}")]

+ 39
- 1
UnivateProperties_API/Repository/Misc/CarouselRepository.cs 查看文件

@@ -2,13 +2,14 @@
2 2
 using System;
3 3
 using System.Collections.Generic;
4 4
 using System.Linq;
5
+using UnivateProperties_API.Containers.Misc;
5 6
 using UnivateProperties_API.Containers.Property;
6 7
 using UnivateProperties_API.Context;
7 8
 using UnivateProperties_API.Model.Misc;
8 9
 
9 10
 namespace UnivateProperties_API.Repository.Misc
10 11
 {
11
-    public class CarouselRepository : IRepository<Carousel>
12
+    public class CarouselRepository : ICarouselRepository
12 13
     {
13 14
         private readonly DataContext dBContext;
14 15
 
@@ -109,5 +110,42 @@ namespace UnivateProperties_API.Repository.Misc
109 110
             // Not sure if properties need it
110 111
             return 0;
111 112
         }
113
+
114
+        public List<CarouselList> GetCarouselItems()
115
+        {
116
+            List<CarouselList> list = new List<CarouselList>();
117
+            var CarouselList = dBContext.Carousel.ToList();
118
+
119
+            foreach (var item in CarouselList)
120
+            {
121
+                if (!string.IsNullOrEmpty(item.Image) && !item.Image.StartsWith("data:image"))
122
+                    item.Image = ImageFormatter.ImageToBase64(item.Image);
123
+
124
+                var carItem = new CarouselList()
125
+                {
126
+                    Image = item.Image,
127
+                    Header = item.Header
128
+                };
129
+                if (item.PropertyId > 0)
130
+                {
131
+                    var property = dBContext.Properties.Include("Province").Include("City").Include("Suburb").Where(p => p.Id == item.PropertyId).FirstOrDefault();
132
+                    carItem.Address = string.Format("{0}, {1} <br/>{2}", property.Suburb.Description, property.City.Description, property.AddressLine3);
133
+                    carItem.IsProperty = true;
134
+                }
135
+                if (item.TimeshareId > 0)
136
+                {
137
+                    var timeshare = dBContext.Weeks.Where(t => t.Id == item.TimeshareId).FirstOrDefault();
138
+                    carItem.Bedrooms = timeshare.Bedrooms;
139
+                    carItem.Sleeps = timeshare.MaxSleep;
140
+                    carItem.Arrival = timeshare.ArrivalDate;
141
+                    carItem.Departure = timeshare.DepartureDate;
142
+                    carItem.IsProperty = false;
143
+                }
144
+
145
+                list.Add(carItem);
146
+            }
147
+
148
+            return list;
149
+        }
112 150
     }
113 151
 }

+ 11
- 0
UnivateProperties_API/Repository/Misc/ICarouselRepository.cs 查看文件

@@ -0,0 +1,11 @@
1
+using System.Collections.Generic;
2
+using UnivateProperties_API.Containers.Misc;
3
+using UnivateProperties_API.Model.Misc;
4
+
5
+namespace UnivateProperties_API.Repository.Misc
6
+{
7
+    public interface ICarouselRepository : IRepository<Carousel>
8
+    {
9
+        List<CarouselList> GetCarouselItems();
10
+    }
11
+}

+ 1
- 1
UnivateProperties_API/Startup.cs 查看文件

@@ -144,7 +144,7 @@ namespace UnivateProperties_API
144 144
             services.AddTransient<ISearchLogRepository, SearchLogRepository>();
145 145
             #endregion
146 146
             #region Misc
147
-            services.AddTransient<IRepository<Carousel>, CarouselRepository>();
147
+            services.AddTransient<ICarouselRepository, CarouselRepository>();
148 148
             #endregion
149 149
             services.Configure<MvcOptions>(options =>
150 150
             {

Loading…
取消
儲存