using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.Rendering; using Microsoft.EntityFrameworkCore; using MapsDb; using MapsDb.Interfaces; using MapsDb.DataService; using MapsModels.ViewModels; using MapsModels.DsModels; using System; namespace Maps.Controllers { public class BusStopController : Controller { private readonly IBusStopDs _busStopDs; private readonly IRoadDs _roadDs; private readonly ISettlementDs _settlementDs; private readonly IStateCommonDs _stateCommonDs; private readonly IRegionDs _regionDs; private readonly ISurfaceTypeDs _surfaceTypeDs; public BusStopController(IBusStopDs BusStopDs, IRoadDs RoadDs, ISettlementDs SettlementDs, IRegionDs RegionDs, IStateCommonDs StateCommonDs, ISurfaceTypeDs SurfaceTypeDs) { _busStopDs = BusStopDs; _roadDs = RoadDs; _settlementDs = SettlementDs; _stateCommonDs = StateCommonDs; _regionDs = RegionDs; _surfaceTypeDs = SurfaceTypeDs; } // GET: BusStop [HttpGet] public async Task Index() { var busStops = await _busStopDs.GetIndexListAsync(); ListBusStopVm vm = new ListBusStopVm { BusStopEditDsM = busStops.ToList() }; return Json(vm); } [HttpGet] public async Task Directory(){ var SurfaceType = await _surfaceTypeDs.GetSelectListAsync(); var StateCommon = await _stateCommonDs.GetSelectListAsync(); var Settlement = await _settlementDs.GetSelectListAsync(); var Road = await _roadDs.GetSelectListAsync(); var Region = await _regionDs.GetSelectListAsync(); CreateBusStopVm vm = new CreateBusStopVm { SurfaceTypeSelectListDsM = SurfaceType.ToList(), StateCommonSelectListDsM = StateCommon.ToList(), SettlementSelectListDsM = Settlement.ToList(), RoadSelectListDsM = Road.ToList(), RegionSelectListDsM = Region.ToList() }; return Json(vm); } // GET: BusStop/Details/5 public async Task Details(int id) { try{ var busStop = await _busStopDs.FindOneDetailsAsync(id); if (busStop == null) { return NotFound(); } DetailsBusStopVm vm = new DetailsBusStopVm { busStopDetailsDsM = busStop }; return Json(vm); } catch { return Json(false); } } // GET: BusStop/Create [HttpPost] public async Task Create(string data) { return Ok(data); } [HttpPost] public IActionResult Update(int id, string data){ return Ok(data); } // POST: BusStop/Create // To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see http://go.microsoft.com/fwlink/?LinkId=317598. // [HttpPost] // [ValidateAntiForgeryToken] // public async Task Create(BusStopEditDsM busStop) // { // if (ModelState.IsValid) // { // await _busStopDs.SaveAsync(busStop); // return Ok(); // } else { // return NotFound(); // } // // var SurfaceType = await _surfaceTypeDs.GetSelectListAsync(); // // var StateCommon = await _stateCommonDs.GetSelectListAsync(); // // var Settlement = await _settlementDs.GetSelectListAsync(); // // var Road = await _roadDs.GetSelectListAsync(); // // var Region = await _regionDc.GetSelectListAsync(); // // CreateBusStopVm vm = new CreateBusStopVm // // { // // SurfaceTypeSelectListDsM = SurfaceType.ToList(), // // StateCommonSelectListDsM = StateCommon.ToList(), // // SettlementSelectListDsM = Settlement.ToList(), // // RoadSelectListDsM = Road.ToList(), // // RegionSelectListDsM = Region.ToList() // // }; // // return Json(vm); // } [HttpDelete] public async Task Delete(int? id) { try { if (id == null) { return NotFound(); } int busStop = await _busStopDs.DeleteAsync(id); return Json(busStop); } catch (ArgumentNullException ) { return NotFound(); } } // // GET: BusStop/Edit/5 // public async Task Edit(int? id) // { // if (id == null) // { // return NotFound(); // } // var busStop = await _context.BusStop.SingleOrDefaultAsync(m => m.BusStopId == id); // if (busStop == null) // { // return NotFound(); // } // ViewData["RegionId"] = new SelectList(_context.Region, "RegionId", "RegionId", busStop.RegionId); // ViewData["RoadId"] = new SelectList(_context.Road, "RoadId", "RoadId", busStop.RoadId); // ViewData["SettlementId"] = new SelectList(_context.Settlement, "SettlementId", "Name", busStop.SettlementId); // ViewData["StateCommonId"] = new SelectList(_context.StateCommon, "StateCommonId", "StateCommonId", busStop.StateCommonId); // ViewData["SurfaceTypeId"] = new SelectList(_context.SurfaceType, "SurfaceTypeId", "SurfaceTypeId", busStop.SurfaceTypeId); // return View(busStop); // } // // POST: BusStop/Edit/5 // // To protect from overposting attacks, please enable the specific properties you want to bind to, for // // more details see http://go.microsoft.com/fwlink/?LinkId=317598. // [HttpPost] // [ValidateAntiForgeryToken] // public async Task Edit(int id, [Bind("BusStopId,AreaLandAvailability,AreaStopAvailability,BalanceCost,BusStationCardId,CrossSectionNumber,DateActual,LocationLeft,LocationRight,PocketAvailability,Position,RegionId,RepairCertificate,RoadId,SettlementId,StateCommonId,SurfaceTypeId,ToiletAvailability,YearBuild,YearRepair")] BusStop busStop) // { // if (id != busStop.BusStopId) // { // return NotFound(); // } // if (ModelState.IsValid) // { // try // { // _context.Update(busStop); // await _context.SaveChangesAsync(); // } // catch (DbUpdateConcurrencyException) // { // if (!BusStopExists(busStop.BusStopId)) // { // return NotFound(); // } // else // { // throw; // } // } // return RedirectToAction("Index"); // } // ViewData["RegionId"] = new SelectList(_context.Region, "RegionId", "RegionId", busStop.RegionId); // ViewData["RoadId"] = new SelectList(_context.Road, "RoadId", "RoadId", busStop.RoadId); // ViewData["SettlementId"] = new SelectList(_context.Settlement, "SettlementId", "Name", busStop.SettlementId); // ViewData["StateCommonId"] = new SelectList(_context.StateCommon, "StateCommonId", "StateCommonId", busStop.StateCommonId); // ViewData["SurfaceTypeId"] = new SelectList(_context.SurfaceType, "SurfaceTypeId", "SurfaceTypeId", busStop.SurfaceTypeId); // return View(busStop); // } // // GET: BusStop/Delete/5 // public async Task Delete(int? id) // { // if (id == null) // { // return NotFound(); // } // var busStop = await _context.BusStop.SingleOrDefaultAsync(m => m.BusStopId == id); // if (busStop == null) // { // return NotFound(); // } // return View(busStop); // } // // POST: BusStop/Delete/5 // [HttpPost, ActionName("Delete")] // [ValidateAntiForgeryToken] // public async Task DeleteConfirmed(int id) // { // var busStop = await _context.BusStop.SingleOrDefaultAsync(m => m.BusStopId == id); // _context.BusStop.Remove(busStop); // await _context.SaveChangesAsync(); // return RedirectToAction("Index"); // } // private bool BusStopExists(int id) // { // return _context.BusStop.Any(e => e.BusStopId == id); // } } }