Kaynağa Gözat

Home Page carousel return.

master
George Williams 5 yıl önce
ebeveyn
işleme
c006b0337b

+ 15
- 0
UnivateProperties_API/Containers/Misc/CarouselList.cs Dosyayı Görüntüle

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 Dosyayı Görüntüle

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

+ 39
- 1
UnivateProperties_API/Repository/Misc/CarouselRepository.cs Dosyayı Görüntüle

2
 using System;
2
 using System;
3
 using System.Collections.Generic;
3
 using System.Collections.Generic;
4
 using System.Linq;
4
 using System.Linq;
5
+using UnivateProperties_API.Containers.Misc;
5
 using UnivateProperties_API.Containers.Property;
6
 using UnivateProperties_API.Containers.Property;
6
 using UnivateProperties_API.Context;
7
 using UnivateProperties_API.Context;
7
 using UnivateProperties_API.Model.Misc;
8
 using UnivateProperties_API.Model.Misc;
8
 
9
 
9
 namespace UnivateProperties_API.Repository.Misc
10
 namespace UnivateProperties_API.Repository.Misc
10
 {
11
 {
11
-    public class CarouselRepository : IRepository<Carousel>
12
+    public class CarouselRepository : ICarouselRepository
12
     {
13
     {
13
         private readonly DataContext dBContext;
14
         private readonly DataContext dBContext;
14
 
15
 
109
             // Not sure if properties need it
110
             // Not sure if properties need it
110
             return 0;
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 Dosyayı Görüntüle

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 Dosyayı Görüntüle

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

Loading…
İptal
Kaydet