Blame view

src/MapsDb/DataService/BusStopDs.cs 3.37 KB
32912d0b   Administrator   first commit
1
2
3
  using System.Collections.Generic;
  using System.Linq;
  using System.Threading.Tasks;
b9b3b8dd   Administrator   add deteils and c...
4
  using MapsDb.Interfaces;
32912d0b   Administrator   first commit
5
6
  using MapsDb.Models;
  using MapsModels.DsModels;
94ffda14   Yarik   Delete action
7
  using Microsoft.EntityFrameworkCore;
32912d0b   Administrator   first commit
8
9
10
11
12
13
14
15
  namespace MapsDb.DataService
  {
      public class BusStopDs : IBusStopDs
      {
          private PostgresDbContext _context;
          public BusStopDs(){
              _context = new PostgresDbContext();
          }
d199d4ff   Administrator   change details to...
16
          public Task<IList<BusStopEditDsM>> GetIndexListAsync(){
32912d0b   Administrator   first commit
17
18
              return Task.Factory.StartNew(GetAllBusStop);
          }
d199d4ff   Administrator   change details to...
19
          private IList<BusStopEditDsM> GetAllBusStop()
32912d0b   Administrator   first commit
20
          {
d199d4ff   Administrator   change details to...
21
             return _context.BusStop.Select(busStop => new BusStopEditDsM
32912d0b   Administrator   first commit
22
              {
b07d1dbb   Administrator   add empty bus stop
23
24
                  BusStopId = busStop.BusStopId,
                  RoadId = busStop.RoadId,
d199d4ff   Administrator   change details to...
25
26
27
28
29
30
31
32
33
34
35
36
                  RegionId = busStop.RegionId,
                  SettlementId = busStop.SettlementId,
                  LocationLeft = busStop.LocationLeft,
                  LocationRight = busStop.LocationRight,
                  SurfaceTypeId = busStop.SurfaceTypeId,
                  AreaStopAvailability = busStop.AreaStopAvailability,
                  AreaLandAvailability = busStop.AreaLandAvailability,
                  PocketAvailability = busStop.PocketAvailability,
                  ToiletAvailability = busStop.ToiletAvailability,
                  YearBuild = busStop.YearBuild,
                  YearRepair = busStop.YearRepair,
                  StateCommonId = busStop.StateCommonId
7230fa31   Yarik   Fixes
37
              }).OrderByDescending(BusStop => BusStop.BusStopId).ToList();
32912d0b   Administrator   first commit
38
39
          }
  
e02ee314   Administrator   add update and cr...
40
41
          public Task<BusStop> CreateAsync(BusStopEditDsM data){
                return Task.Factory.StartNew(()=> { return Create(data); });
32912d0b   Administrator   first commit
42
          }
e02ee314   Administrator   add update and cr...
43
          private BusStop Create(BusStopEditDsM data)
abec55bf   Administrator   Finish busStop mo...
44
          {   
e02ee314   Administrator   add update and cr...
45
46
47
              
              BusStop Model = InsertModel(data);
              _context.BusStop.Add(Model);
abec55bf   Administrator   Finish busStop mo...
48
              _context.SaveChanges();
e02ee314   Administrator   add update and cr...
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
              return Model;
          }
          public Task<BusStop> UpdateAsync(BusStopEditDsM data, int id){
              return Task.Factory.StartNew(()=> { return Update(data, id); });
          }
          private BusStop Update(BusStopEditDsM data, int id)
          {   
              BusStop Model = InsertModel(data);
              Model.BusStopId = id;
              _context.BusStop.Update(Model);
              _context.SaveChanges();
              return Model;
          }
          public BusStop InsertModel(BusStopEditDsM data){
              BusStop Model = new BusStop{
                  RoadId = data.RoadId,
                  RegionId = data.RegionId,
                  SettlementId = data.SettlementId,
                  LocationLeft = data.LocationLeft,
                  LocationRight = data.LocationRight,
                  SurfaceTypeId = data.SurfaceTypeId,
                  AreaStopAvailability = data.AreaStopAvailability,
                  AreaLandAvailability = data.AreaLandAvailability,
                  PocketAvailability = data.PocketAvailability,
                  ToiletAvailability = data.ToiletAvailability,
                  YearBuild = data.YearBuild,
                  YearRepair = data.YearRepair,
                  StateCommonId = data.StateCommonId
              };
              return Model;
32912d0b   Administrator   first commit
79
          }
e02ee314   Administrator   add update and cr...
80
          public async Task<int> DeleteAsync(int Id)
94ffda14   Yarik   Delete action
81
82
83
84
85
          {
              var busStop = await _context.BusStop.SingleOrDefaultAsync(x => x.BusStopId == Id);
              _context.BusStop.Remove(busStop);
              return await _context.SaveChangesAsync();
          }
32912d0b   Administrator   first commit
86
87
      }
  }