Commit abec55bf0747f62c8dea1998de444bf99caada58
1 parent
e6477bbf
Finish busStop model rest crud
Showing
4 changed files
with
70 additions
and
35 deletions
Show diff stats
src/Maps/Controllers/BusStopController.cs
@@ -7,6 +7,7 @@ using MapsDb; | @@ -7,6 +7,7 @@ using MapsDb; | ||
7 | using MapsDb.Interfaces; | 7 | using MapsDb.Interfaces; |
8 | using MapsDb.DataService; | 8 | using MapsDb.DataService; |
9 | using MapsModels.ViewModels; | 9 | using MapsModels.ViewModels; |
10 | +using MapsModels.DsModels; | ||
10 | using System; | 11 | using System; |
11 | 12 | ||
12 | namespace Maps.Controllers | 13 | namespace Maps.Controllers |
@@ -86,26 +87,37 @@ namespace Maps.Controllers | @@ -86,26 +87,37 @@ namespace Maps.Controllers | ||
86 | } | 87 | } |
87 | 88 | ||
88 | 89 | ||
89 | - // // POST: BusStop/Create | ||
90 | - // // To protect from overposting attacks, please enable the specific properties you want to bind to, for | ||
91 | - // // more details see http://go.microsoft.com/fwlink/?LinkId=317598. | ||
92 | - // [HttpPost] | ||
93 | - // [ValidateAntiForgeryToken] | ||
94 | - // public async Task<IActionResult> Create( busStop) | ||
95 | - // { | ||
96 | - // if (ModelState.IsValid) | ||
97 | - // { | ||
98 | - // _context.Add(busStop); | ||
99 | - // await _context.SaveChangesAsync(); | ||
100 | - // return RedirectToAction("Index"); | ||
101 | - // } | ||
102 | - // ViewData["RegionId"] = new SelectList(_context.Region, "RegionId", "RegionId", busStop.RegionId); | ||
103 | - // ViewData["RoadId"] = new SelectList(_context.Road, "RoadId", "RoadId", busStop.RoadId); | ||
104 | - // ViewData["SettlementId"] = new SelectList(_context.Settlement, "SettlementId", "Name", busStop.SettlementId); | ||
105 | - // ViewData["StateCommonId"] = new SelectList(_context.StateCommon, "StateCommonId", "StateCommonId", busStop.StateCommonId); | ||
106 | - // ViewData["SurfaceTypeId"] = new SelectList(_context.SurfaceType, "SurfaceTypeId", "SurfaceTypeId", busStop.SurfaceTypeId); | ||
107 | - // return View(busStop); | ||
108 | - // } | 90 | + // POST: BusStop/Create |
91 | + // To protect from overposting attacks, please enable the specific properties you want to bind to, for | ||
92 | + // more details see http://go.microsoft.com/fwlink/?LinkId=317598. | ||
93 | + [HttpPost] | ||
94 | + [ValidateAntiForgeryToken] | ||
95 | + public async Task<IActionResult> Create(BusStopEditDsM busStop) | ||
96 | + { | ||
97 | + if (ModelState.IsValid) | ||
98 | + { | ||
99 | + await _busStopDs.SaveAsync(busStop); | ||
100 | + return Ok(); | ||
101 | + } else { | ||
102 | + return NotFound(); | ||
103 | + } | ||
104 | + | ||
105 | + // var SurfaceType = await _surfaceTypeDs.GetSelectListAsync(); | ||
106 | + // var StateCommon = await _stateCommonDs.GetSelectListAsync(); | ||
107 | + // var Settlement = await _settlementDs.GetSelectListAsync(); | ||
108 | + // var Road = await _roadDs.GetSelectListAsync(); | ||
109 | + // var Region = await _regionDc.GetSelectListAsync(); | ||
110 | + | ||
111 | + // CreateBusStopVm vm = new CreateBusStopVm | ||
112 | + // { | ||
113 | + // SurfaceTypeSelectListDsM = SurfaceType.ToList(), | ||
114 | + // StateCommonSelectListDsM = StateCommon.ToList(), | ||
115 | + // SettlementSelectListDsM = Settlement.ToList(), | ||
116 | + // RoadSelectListDsM = Road.ToList(), | ||
117 | + // RegionSelectListDsM = Region.ToList() | ||
118 | + // }; | ||
119 | + // return Json(vm); | ||
120 | + } | ||
109 | 121 | ||
110 | [HttpDelete] | 122 | [HttpDelete] |
111 | public async Task<IActionResult> Delete(int? id) | 123 | public async Task<IActionResult> Delete(int? id) |
@@ -120,7 +132,7 @@ namespace Maps.Controllers | @@ -120,7 +132,7 @@ namespace Maps.Controllers | ||
120 | int busStop = await _busStopDs.DeleteAsync(id); | 132 | int busStop = await _busStopDs.DeleteAsync(id); |
121 | return Json(busStop); | 133 | return Json(busStop); |
122 | } | 134 | } |
123 | - catch (ArgumentNullException e) | 135 | + catch (ArgumentNullException ) |
124 | { | 136 | { |
125 | return NotFound(); | 137 | return NotFound(); |
126 | } | 138 | } |
src/MapsDb/DataService/BusStopDs.cs
@@ -5,7 +5,6 @@ using MapsDb.Interfaces; | @@ -5,7 +5,6 @@ using MapsDb.Interfaces; | ||
5 | using MapsDb.Models; | 5 | using MapsDb.Models; |
6 | using MapsModels.DsModels; | 6 | using MapsModels.DsModels; |
7 | using Microsoft.EntityFrameworkCore; | 7 | using Microsoft.EntityFrameworkCore; |
8 | - | ||
9 | namespace MapsDb.DataService | 8 | namespace MapsDb.DataService |
10 | { | 9 | { |
11 | public class BusStopDs : IBusStopDs | 10 | public class BusStopDs : IBusStopDs |
@@ -30,20 +29,36 @@ namespace MapsDb.DataService | @@ -30,20 +29,36 @@ namespace MapsDb.DataService | ||
30 | }).ToList(); | 29 | }).ToList(); |
31 | } | 30 | } |
32 | 31 | ||
33 | - public Task SaveAsync(BusStop busStop){ | ||
34 | - return Task.Factory.StartNew(()=> { Save(busStop); }); | 32 | + public Task SaveAsync(BusStopEditDsM busStop, int? id = null){ |
33 | + return Task.Factory.StartNew(()=> { Save(busStop, id); }); | ||
35 | } | 34 | } |
36 | - private void Save(BusStop busStop) | ||
37 | - { | ||
38 | - var busStopFromDb = _context.BusStop.SingleOrDefault(x => x.BusStopId == busStop.BusStopId);; | 35 | + private void Save(BusStopEditDsM busStop, int? id) |
36 | + { | ||
37 | + BusStop Bs = new BusStop{ | ||
38 | + RoadId = busStop.RoadId, | ||
39 | + RegionId = busStop.RegionId, | ||
40 | + SettlementId = busStop.SettlementId, | ||
41 | + LocationLeft = busStop.LocationLeft, | ||
42 | + LocationRight = busStop.LocationRight, | ||
43 | + SurfaceTypeId = busStop.SurfaceTypeId, | ||
44 | + AreaStopAvailability = busStop.AreaStopAvailability, | ||
45 | + AreaLandAvailability = busStop.AreaLandAvailability, | ||
46 | + PocketAvailability = busStop.PocketAvailability, | ||
47 | + ToiletAvailability = busStop.ToiletAvailability, | ||
48 | + YearBuild = busStop.YearBuild, | ||
49 | + YearRepair = busStop.YearRepair, | ||
50 | + StateCommonId = busStop.StateCommonId | ||
51 | + }; | ||
52 | + var busStopFromDb = _context.BusStop.SingleOrDefault(x => x.BusStopId == id); | ||
39 | if(busStopFromDb != null) | 53 | if(busStopFromDb != null) |
40 | { | 54 | { |
41 | - busStopFromDb = busStop; | 55 | + busStopFromDb = Bs; |
42 | } | 56 | } |
43 | else | 57 | else |
44 | { | 58 | { |
45 | - _context.BusStop.Add(busStop); | 59 | + _context.BusStop.Add(Bs); |
46 | } | 60 | } |
61 | + _context.SaveChanges(); | ||
47 | } | 62 | } |
48 | public Task<BusStopDetailsDsM> FindOneDetailsAsync(int Id){ | 63 | public Task<BusStopDetailsDsM> FindOneDetailsAsync(int Id){ |
49 | return Task.Factory.StartNew(()=> { return FindOneDetails(Id); }); | 64 | return Task.Factory.StartNew(()=> { return FindOneDetails(Id); }); |
src/MapsDb/Interfaces/IBusStopDs.cs
@@ -7,7 +7,7 @@ namespace MapsDb.Interfaces | @@ -7,7 +7,7 @@ namespace MapsDb.Interfaces | ||
7 | public interface IBusStopDs | 7 | public interface IBusStopDs |
8 | { | 8 | { |
9 | Task<IList<BusStopListDsM>> GetIndexListAsync(); | 9 | Task<IList<BusStopListDsM>> GetIndexListAsync(); |
10 | - Task SaveAsync(BusStop busStop); | 10 | + Task SaveAsync(BusStopEditDsM busStop); |
11 | Task<BusStopDetailsDsM> FindOneDetailsAsync(int Id); | 11 | Task<BusStopDetailsDsM> FindOneDetailsAsync(int Id); |
12 | Task<int> DeleteAsync(int? Id); | 12 | Task<int> DeleteAsync(int? Id); |
13 | } | 13 | } |
src/MapsModels/DsModels/BusStopEditDsM.cs
1 | namespace MapsModels.DsModels | 1 | namespace MapsModels.DsModels |
2 | { | 2 | { |
3 | - public class BusStopListDsM | 3 | + public class BusStopEditDsM |
4 | { | 4 | { |
5 | - public string Road { get; set; } | ||
6 | - public string Region { get; set; } | ||
7 | - public string Settlement { get; set; } | 5 | + public int? RoadId { get; set; } |
6 | + public int? RegionId { get; set; } | ||
7 | + public int? SettlementId { get; set; } | ||
8 | public double? LocationLeft { get; set; } | 8 | public double? LocationLeft { get; set; } |
9 | public double? LocationRight { get; set; } | 9 | public double? LocationRight { get; set; } |
10 | - public string StateCommon { get; set; } | 10 | + public int? SurfaceTypeId { get; set; } |
11 | + public int? AreaStopAvailability { get; set; } | ||
12 | + public int? AreaLandAvailability { get; set; } | ||
13 | + public int? PocketAvailability { get; set; } | ||
14 | + public int? ToiletAvailability { get; set; } | ||
15 | + public int? YearBuild { get; set; } | ||
16 | + public int? YearRepair { get; set; } | ||
17 | + public int? StateCommonId { get; set; } | ||
18 | + | ||
11 | } | 19 | } |
12 | } | 20 | } |
13 | \ No newline at end of file | 21 | \ No newline at end of file |