From ddeb0c633371f41c75e57371ee5a9acede761904 Mon Sep 17 00:00:00 2001 From: Vitaliy Date: Mon, 13 Feb 2017 15:52:02 +0200 Subject: [PATCH] add RoadSurfaceController --- src/Maps/Controllers/BusStopController.cs | 4 ++-- src/Maps/Controllers/RoadSurfaceController.cs | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------ src/Maps/Controllers/ServiceObjectController.cs | 24 ++++++++++++++++++------ src/MapsDb/DataService/RoadDirectionDs.cs | 28 ++++++++++++++++++++++++++++ src/MapsDb/DataService/SurfaceTreatmentDs.cs | 28 ++++++++++++++++++++++++++++ src/MapsDb/Interfaces/IRoadDirectionDs.cs | 11 +++++++++++ src/MapsDb/Interfaces/ISurfaceTreatmentDs.cs | 11 +++++++++++ src/MapsDb/Models/RoadDirection.cs | 2 +- src/MapsDb/PostgresDbContext.cs | 4 ++-- src/MapsModels/DsModels/RoadDirectionSelectListDsM.cs | 8 ++++++++ src/MapsModels/DsModels/SurfaceTreatmentSelectListDsM.cs | 8 ++++++++ src/MapsModels/ViewModels/CatalogListVm.cs | 2 ++ 12 files changed, 195 insertions(+), 59 deletions(-) create mode 100644 src/MapsDb/DataService/RoadDirectionDs.cs create mode 100644 src/MapsDb/DataService/SurfaceTreatmentDs.cs create mode 100644 src/MapsDb/Interfaces/IRoadDirectionDs.cs create mode 100644 src/MapsDb/Interfaces/ISurfaceTreatmentDs.cs create mode 100644 src/MapsModels/DsModels/RoadDirectionSelectListDsM.cs create mode 100644 src/MapsModels/DsModels/SurfaceTreatmentSelectListDsM.cs diff --git a/src/Maps/Controllers/BusStopController.cs b/src/Maps/Controllers/BusStopController.cs index 9f1c3db..f2933d4 100755 --- a/src/Maps/Controllers/BusStopController.cs +++ b/src/Maps/Controllers/BusStopController.cs @@ -46,12 +46,12 @@ namespace Maps.Controllers return Json(vm); } - catch (NullReferenceException e) + catch (NullReferenceException) { Response.StatusCode = 400; return Json("There is no field with name " + data.sort); } - catch (Exception e) + catch (Exception) { return NotFound(); } diff --git a/src/Maps/Controllers/RoadSurfaceController.cs b/src/Maps/Controllers/RoadSurfaceController.cs index c2441e0..635b17e 100755 --- a/src/Maps/Controllers/RoadSurfaceController.cs +++ b/src/Maps/Controllers/RoadSurfaceController.cs @@ -19,74 +19,102 @@ namespace Maps.Controllers private readonly ISurfaceTypeDs _surfaceTypeDs; private readonly IStateCommonDs _stateCommonDs; private readonly IRoadSurfaceDs _roadSurfaceDs; - public RoadSurfaceController(IRoadSurfaceDs RoadSurfaceDs, IStateCommonDs StateCommonDs, IRoadDs RoadDs, IRegionDs RegionDs, ISurfaceTypeDs SurfaceTypeDs) + private readonly IRoadDirectionDs _roadDirectionDs; + private readonly ISurfaceTreatmentDs _surfaceTreatmentDs; + public RoadSurfaceController( + IRoadSurfaceDs RoadSurfaceDs, + IStateCommonDs StateCommonDs, + IRoadDs RoadDs, + IRegionDs RegionDs, + ISurfaceTypeDs SurfaceTypeDs, + ISurfaceTreatmentDs SurfaceTreatmentDs, + IRoadDirectionDs RoadDirectionDs + ) { _roadDs = RoadDs; _surfaceTypeDs = SurfaceTypeDs; _regionDs = RegionDs; _stateCommonDs = StateCommonDs; - _roadSurfaceDs = RoadSurfaceDs; + _roadSurfaceDs = RoadSurfaceDs; + _surfaceTreatmentDs = SurfaceTreatmentDs; + _roadDirectionDs = RoadDirectionDs; } // GET: BusStop [HttpGet] public async Task Index([FromQuery] PaginationDsM data) { - var Data = await _roadSurfaceDs.GetIndexListAsync(data); - RoadSurfaceListVm vm = new RoadSurfaceListVm + try { - RoadSurfaceEditDsM = Data.ToList() - }; + var Data = await _roadSurfaceDs.GetIndexListAsync(data); - return Json(vm); + RoadSurfaceListVm vm = new RoadSurfaceListVm + { + RoadSurfaceEditDsM = Data.ToList() + }; + + return Json(vm); + } + catch (NullReferenceException) + { + Response.StatusCode = 400; + return Json("There is no field with name " + data.sort); + } + catch (Exception) + { + return NotFound(); + } } - //[HttpGet] - // public async Task Directory(){ - // var DepartmentAffiliation = await _departmentAffiliationDs.GetSelectListAsync(); - // var Settlement = await _settlementDs.GetSelectListAsync(); - // var Road = await _roadDs.GetSelectListAsync(); - // var Region = await _regionDs.GetSelectListAsync(); - // var ServiceObjectType = await _serviceObjectTypeDs.GetSelectListAsync(); - // CatalogListVm vm = new CatalogListVm - // { - // DepartmentAffiliationSelectListDsM = DepartmentAffiliation.ToList(), - // SettlementSelectListDsM = Settlement.ToList(), - // ServiceObjectTypeSelectListDsM = ServiceObjectType.ToList(), - // RoadSelectListDsM = Road.ToList(), - // RegionSelectListDsM = Region.ToList() - // }; - // return Json(vm); - // } + [HttpGet] + public async Task Directory(){ + var Road = await _roadDs.GetSelectListAsync(); + var Region = await _regionDs.GetSelectListAsync(); + var SurfaceType = await _surfaceTypeDs.GetSelectListAsync(); + var StateCommon = await _stateCommonDs.GetSelectListAsync(); + var SurfaceTreatment = await _surfaceTreatmentDs.GetSelectListAsync(); + var RoadDirection = await _roadDirectionDs.GetSelectListAsync(); + + CatalogListVm vm = new CatalogListVm + { + RoadSelectListDsM = Road.ToList(), + RegionSelectListDsM = Region.ToList(), + SurfaceTypeSelectListDsM = SurfaceType.ToList(), + StateCommonSelectListDsM = StateCommon.ToList(), + SurfaceTreatmentSelectListDsM = SurfaceTreatment.ToList(), + RoadDirectionSelectListDsM = RoadDirection.ToList() + }; + return Json(vm); + } - // [HttpPost] - // public async Task Create([FromBody] ServiceObjectEditDsM data) - // { - // var result = await _serviceObjectDs.CreateAsync(data); - // return Json(result); - // } + [HttpPost] + public async Task Create([FromBody] RoadSurfaceEditDsM data) + { + var result = await _roadSurfaceDs.CreateAsync(data); + return Json(result); + } - // [HttpPost] - // public async Task Update(int id, [FromBody] ServiceObjectEditDsM data){ - // await _serviceObjectDs.UpdateAsync(data,id); - // return Json(String.Empty); - // } + [HttpPost] + public async Task Update(int id, [FromBody] RoadSurfaceEditDsM data){ + await _roadSurfaceDs.UpdateAsync(data,id); + return Json(String.Empty); + } - // [HttpDelete] - // public async Task Delete(int id) - // { - // try - // { - // int data = await _serviceObjectDs.DeleteAsync(id); - // return Json(data); - // } - // catch (ArgumentNullException ) - // { - // return NotFound(); - // } - // } + [HttpDelete] + public async Task Delete(int id) + { + try + { + int data = await _roadSurfaceDs.DeleteAsync(id); + return Json(data); + } + catch (ArgumentNullException ) + { + return NotFound(); + } + } } } diff --git a/src/Maps/Controllers/ServiceObjectController.cs b/src/Maps/Controllers/ServiceObjectController.cs index 77d5118..6563b12 100755 --- a/src/Maps/Controllers/ServiceObjectController.cs +++ b/src/Maps/Controllers/ServiceObjectController.cs @@ -35,14 +35,26 @@ namespace Maps.Controllers [HttpGet] public async Task Index([FromQuery] PaginationDsM data) { - var Data = await _serviceObjectDs.GetIndexListAsync(data); - - ServiceObjectListVm vm = new ServiceObjectListVm + try { - ServiceObjectEditDsM = Data.ToList() - }; + var Data = await _serviceObjectDs.GetIndexListAsync(data); - return Json(vm); + ServiceObjectListVm vm = new ServiceObjectListVm + { + ServiceObjectEditDsM = Data.ToList() + }; + + return Json(vm); + } + catch (NullReferenceException) + { + Response.StatusCode = 400; + return Json("There is no field with name " + data.sort); + } + catch (Exception) + { + return NotFound(); + } } [HttpGet] diff --git a/src/MapsDb/DataService/RoadDirectionDs.cs b/src/MapsDb/DataService/RoadDirectionDs.cs new file mode 100644 index 0000000..b052bb8 --- /dev/null +++ b/src/MapsDb/DataService/RoadDirectionDs.cs @@ -0,0 +1,28 @@ +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using MapsDb.Interfaces; +using MapsDb.Models; +using MapsModels.DsModels; +namespace MapsDb.DataService +{ + public class RoadDirectionDs : IRoadDirectionDs + { + private PostgresDbContext _context; + public RoadDirectionDs(){ + _context = new PostgresDbContext(); + } + public Task> GetSelectListAsync(){ + return Task.Factory.StartNew(GetSelectList); + } + private IList GetSelectList() + { + return _context.RoadDirection.Select(x => new RoadDirectionSelectListDsM + { + RoadDirectionId = x.RoadDirectionId, + Name = x.Name + }).ToList(); + } + + } +} \ No newline at end of file diff --git a/src/MapsDb/DataService/SurfaceTreatmentDs.cs b/src/MapsDb/DataService/SurfaceTreatmentDs.cs new file mode 100644 index 0000000..1b99bed --- /dev/null +++ b/src/MapsDb/DataService/SurfaceTreatmentDs.cs @@ -0,0 +1,28 @@ +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using MapsDb.Interfaces; +using MapsDb.Models; +using MapsModels.DsModels; +namespace MapsDb.DataService +{ + public class SurfaceTreatmentDs : ISurfaceTreatmentDs + { + private PostgresDbContext _context; + public SurfaceTreatmentDs(){ + _context = new PostgresDbContext(); + } + public Task> GetSelectListAsync(){ + return Task.Factory.StartNew(GetSelectList); + } + private IList GetSelectList() + { + return _context.SurfaceTreatment.Select(x => new SurfaceTreatmentSelectListDsM + { + SurfaceTreatmentId = x.SurfaceTreatmentId, + Name = x.Name + }).ToList(); + } + + } +} \ No newline at end of file diff --git a/src/MapsDb/Interfaces/IRoadDirectionDs.cs b/src/MapsDb/Interfaces/IRoadDirectionDs.cs new file mode 100644 index 0000000..b069ccb --- /dev/null +++ b/src/MapsDb/Interfaces/IRoadDirectionDs.cs @@ -0,0 +1,11 @@ +using System.Collections.Generic; +using System.Threading.Tasks; +using MapsModels.DsModels; +using MapsDb.Models; +namespace MapsDb.Interfaces +{ + public interface IRoadDirectionDs + { + Task> GetSelectListAsync(); + } +} \ No newline at end of file diff --git a/src/MapsDb/Interfaces/ISurfaceTreatmentDs.cs b/src/MapsDb/Interfaces/ISurfaceTreatmentDs.cs new file mode 100644 index 0000000..2fdfeee --- /dev/null +++ b/src/MapsDb/Interfaces/ISurfaceTreatmentDs.cs @@ -0,0 +1,11 @@ +using System.Collections.Generic; +using System.Threading.Tasks; +using MapsModels.DsModels; +using MapsDb.Models; +namespace MapsDb.Interfaces +{ + public interface ISurfaceTreatmentDs + { + Task> GetSelectListAsync(); + } +} \ No newline at end of file diff --git a/src/MapsDb/Models/RoadDirection.cs b/src/MapsDb/Models/RoadDirection.cs index 9a2ce12..b00e9ff 100644 --- a/src/MapsDb/Models/RoadDirection.cs +++ b/src/MapsDb/Models/RoadDirection.cs @@ -13,7 +13,7 @@ namespace MapsDb.Models } public int RoadDirectionId { get; set; } - public string DirectionName { get; set; } + public string Name { get; set; } public virtual ICollection FlowIntensity { get; set; } public virtual ICollection RoadService { get; set; } diff --git a/src/MapsDb/PostgresDbContext.cs b/src/MapsDb/PostgresDbContext.cs index f86d0e6..6302f30 100644 --- a/src/MapsDb/PostgresDbContext.cs +++ b/src/MapsDb/PostgresDbContext.cs @@ -353,9 +353,9 @@ namespace MapsDb entity.Property(e => e.RoadDirectionId).HasColumnName("road_direction_id"); - entity.Property(e => e.DirectionName) + entity.Property(e => e.Name) .IsRequired() - .HasColumnName("direction_name") + .HasColumnName("name") .HasColumnType("varchar") .HasMaxLength(255); }); diff --git a/src/MapsModels/DsModels/RoadDirectionSelectListDsM.cs b/src/MapsModels/DsModels/RoadDirectionSelectListDsM.cs new file mode 100644 index 0000000..7e49e35 --- /dev/null +++ b/src/MapsModels/DsModels/RoadDirectionSelectListDsM.cs @@ -0,0 +1,8 @@ +namespace MapsModels.DsModels +{ + public class RoadDirectionSelectListDsM + { + public int RoadDirectionId { get; set; } + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/src/MapsModels/DsModels/SurfaceTreatmentSelectListDsM.cs b/src/MapsModels/DsModels/SurfaceTreatmentSelectListDsM.cs new file mode 100644 index 0000000..5e8a631 --- /dev/null +++ b/src/MapsModels/DsModels/SurfaceTreatmentSelectListDsM.cs @@ -0,0 +1,8 @@ +namespace MapsModels.DsModels +{ + public class SurfaceTreatmentSelectListDsM + { + public int SurfaceTreatmentId { get; set; } + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/src/MapsModels/ViewModels/CatalogListVm.cs b/src/MapsModels/ViewModels/CatalogListVm.cs index 54a3d2b..cc5ab5e 100644 --- a/src/MapsModels/ViewModels/CatalogListVm.cs +++ b/src/MapsModels/ViewModels/CatalogListVm.cs @@ -12,5 +12,7 @@ namespace MapsModels.ViewModels public List SettlementSelectListDsM { get; set; } public List RoadSelectListDsM { get; set; } public List RegionSelectListDsM { get; set; } + public List RoadDirectionSelectListDsM { get; set; } + public List SurfaceTreatmentSelectListDsM { get; set; } } } -- libgit2 0.21.4