Commit abec55bf0747f62c8dea1998de444bf99caada58

Authored by Administrator
1 parent e6477bbf

Finish busStop model rest crud

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