示例#1
0
        private static TrainEntity MakeTrain(string trainId, int nbSeat)
        {
            var train = new TrainEntity {
                TrainId = trainId
            };

            for (var i = 0; i < nbSeat; i++)
            {
                train.Seats.Add(new SeatEntity {
                    TrainId = trainId, CoachName = "A", SeatNumber = i
                });
            }
            return(train);
        }
示例#2
0
        private static void Cache(Train trainInst, string trainId, string bookingRef)
        {
            var trainEntity = new TrainEntity {
                TrainId = trainId
            };

            foreach (var seat in trainInst.Seats)
            {
                trainEntity.Seats.Add(new SeatEntity {
                    TrainId = trainId, BookingRef = bookingRef, CoachName = seat.CoachName, SeatNumber = seat.SeatNumber
                });
            }
            Factory.Create().Save(trainEntity);
        }
示例#3
0
        public void Delete(int id)
        {
            using var transaction = _context.Database.BeginTransaction();
            try
            {
                TrainEntity train = _context.Trains.FirstOrDefault(item => item.TrainId == id);
                _context.Trains.Remove(train);
                _context.SaveChanges();

                transaction.Commit();
            }
            catch (Exception e)
            {
                transaction.Rollback();
            }
        }
示例#4
0
        public override void PreUpdate()
        {
            if (SaveableEntityComponent.HaveAllEntitiesLoaded)
            {
                if (this.MyTrainWho == -1)
                {
                    this.MyTrainWho = TrainEntity.FindMyTrain(this.player);
                }

                if (this.MyTrainWho != -1)
                {
                    this.UpdatePostTrainLoad();
                }
            }

            this.UpdatePlayerState();
        }
示例#5
0
 public static Train ToDomain(this TrainEntity train)
 {
     if (train != null)
     {
         return(new Train
         {
             TrainId = train.TrainId,
             TrainName = train.TrainName,
             TrainNumber = train.TrainNumber,
             Type = train.Type
         });
     }
     else
     {
         return(null);
     }
 }
示例#6
0
        public static int InsertTrain(TrainEntity entity)
        {
            var sql = "INSERT INTO Train([TrainNumber],[StartStation],[EndStation],[GoTime],[ComeTime],[TimeSpan]) ";

            sql += "VALUES(@TrainNumber,@StartStation,@EndStation,@GoTime,@ComeTime,@TimeSpan)";

            var ps = new SqlParameter[]
            {
                new SqlParameter("@TrainNumber", ((object)entity.TrainNumber) ?? DBNull.Value),
                new SqlParameter("@StartStation", ((object)entity.StartStation) ?? DBNull.Value),
                new SqlParameter("@EndStation", ((object)entity.EndStation) ?? DBNull.Value),
                new SqlParameter("@GoTime", ((object)entity.GoTime) ?? DBNull.Value),
                new SqlParameter("@ComeTime", ((object)entity.ComeTime) ?? DBNull.Value),
                new SqlParameter("@TimeSpan", ((object)entity.TimeSpan) ?? DBNull.Value)
            };

            return(ExecuteNonQuery(sql, ps));
        }
示例#7
0
        ////////////////

        protected override bool ReceiveRequestWithServer(int from_who)
        {
            Player player = Main.player[from_who];

            Promises.AddValidatedPromise(SaveableEntityComponent.LoadAllValidator, () => {
                if (TrainEntity.FindMyTrain(player) != -1)
                {
                    throw new HamstarException("Cannot spawn duplicate train for player " + player.name);
                }

                var ent = TrainEntity.CreateTrainEntity(player);
                CustomEntityManager.AddToWorld(ent);

                return(false);
            });

            return(true);
        }
示例#8
0
        public int Insert(TrainEntity entity)
        {
            using var transaction = _context.Database.BeginTransaction();
            try
            {
                _context.Trains.Add(entity);
                _context.SaveChanges();

                transaction.Commit();
                return(entity.TrainId);
            }
            catch (Exception e)
            {
                transaction.Rollback();

                return(-1);
            }
        }
示例#9
0
        private void HandleRecall()
        {
            CustomEntity ent        = CustomEntityManager.GetEntityByWho(this.MyTrainWho);
            var          train_comp = ent.GetComponentByType <TrainBehaviorEntityComponent>();

            if (train_comp.IsMountedBy != -1)
            {
                PlayerHelpers.Teleport(this.player, this.PrevPosition);                         // return to train's last position
            }
            else
            {
                if (((OnARailMod)this.mod).Config.DebugModeInfo)
                {
                    Main.NewText("Warping to train...");
                }

                TrainEntity.WarpPlayerToTrain(player);                          // return to train
            }
        }
示例#10
0
        private TrainDTO ToDTO(TrainEntity entity)
        {
            TrainDTO dto = new TrainDTO();

            dto.Address        = entity.Address;
            dto.CreateDateTime = entity.CreateDateTime;
            dto.Description    = entity.Description;
            dto.EndTime        = entity.EndTime.ToString("yyyy-MM-dd HH:mm:ss");
            dto.EntryFee       = entity.EntryFee;
            dto.Id             = entity.Id;
            dto.Img            = entity.Img;
            dto.StartTime      = entity.StartTime.ToString("yyyy-MM-dd HH:mm:ss");
            dto.StatusName     = entity.Status.Name;
            dto.Title          = entity.Title;
            dto.UpToOne        = entity.UpToOne;
            dto.EntryCount     = entity.EntryCount;
            dto.VisitCount     = entity.VisitCount;
            dto.IsDisplayed    = entity.IsDisplayed;
            return(dto);
        }
示例#11
0
        public TrainEntity UpdateTrain(JObject entity, int id)
        {
            TrainEntity existingTrainEntity = _context.Trains.Find(id);

            JToken value;

            if (entity.TryGetValue("trainNumber", StringComparison.OrdinalIgnoreCase, out value) && (value.Type == JTokenType.Integer))
            {
                existingTrainEntity.TrainNumber = value.Value <int>();
            }
            if (entity.TryGetValue("trainName", StringComparison.OrdinalIgnoreCase, out value) && (value.Type == JTokenType.String))
            {
                existingTrainEntity.TrainName = value.Value <string>();
            }
            if (entity.TryGetValue("type", StringComparison.OrdinalIgnoreCase, out value) && (value.Type == JTokenType.String))
            {
                existingTrainEntity.Type = value.Value <string>();
            }
            _context.Trains.Update(existingTrainEntity);
            _context.SaveChanges();

            return(existingTrainEntity);
        }
示例#12
0
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            var c1 = new CityEntity {
                Id = 1, Name = "Kyiv"
            };
            var c2 = new CityEntity {
                Id = 2, Name = "Lviv"
            };
            var c3 = new CityEntity {
                Id = 3, Name = "Zhytomyr"
            };
            var c4 = new CityEntity {
                Id = 4, Name = "Chernivtsi"
            };
            var c5 = new CityEntity {
                Id = 5, Name = "Sumy"
            };

            var d1 = new DayEntity {
                Id = 1, Date = DateTime.Today
            };
            var d2 = new DayEntity {
                Id = 2, Date = DateTime.Today.AddDays(1)
            };
            var d3 = new DayEntity {
                Id = 3, Date = DateTime.Today.AddDays(2)
            };

            var s1 = new SeatEntity {
                Id = 1, IsTaken = false, Number = 1, CarriageEntityId = 1
            };
            var s2 = new SeatEntity {
                Id = 2, IsTaken = false, Number = 2, CarriageEntityId = 1
            };
            var s3 = new SeatEntity {
                Id = 3, IsTaken = false, Number = 3, CarriageEntityId = 1
            };
            var s4 = new SeatEntity {
                IsTaken = false, Number = 1, Id = 4, CarriageEntityId = 2
            };
            var s5 = new SeatEntity {
                IsTaken = false, Number = 2, Id = 5, CarriageEntityId = 2
            };
            var s6 = new SeatEntity {
                IsTaken = false, Number = 3, Id = 6, CarriageEntityId = 2
            };
            var s7 = new SeatEntity {
                IsTaken = false, Number = 1, Id = 7, CarriageEntityId = 3
            };
            var s8 = new SeatEntity {
                IsTaken = false, Number = 2, Id = 8, CarriageEntityId = 3
            };
            var s9 = new SeatEntity {
                IsTaken = false, Number = 3, Id = 9, CarriageEntityId = 3
            };
            var s10 = new SeatEntity {
                IsTaken = false, Number = 1, Id = 10, CarriageEntityId = 4
            };
            var s11 = new SeatEntity {
                IsTaken = false, Number = 2, Id = 11, CarriageEntityId = 4
            };
            var s12 = new SeatEntity {
                IsTaken = false, Number = 3, Id = 12, CarriageEntityId = 4
            };

            var ct1 = new CitiesTrains {
                TrainEntityId = 1, CityEntityId = 1, Id = 1
            };
            var ct2 = new CitiesTrains {
                TrainEntityId = 1, CityEntityId = 2, Id = 2
            };
            var ct3 = new CitiesTrains {
                TrainEntityId = 1, CityEntityId = 3, Id = 3
            };
            var ct4 = new CitiesTrains {
                TrainEntityId = 1, CityEntityId = 4, Id = 4
            };
            var ct5 = new CitiesTrains {
                TrainEntityId = 2, CityEntityId = 1, Id = 5
            };
            var ct6 = new CitiesTrains {
                TrainEntityId = 2, CityEntityId = 3, Id = 6
            };
            var ct7 = new CitiesTrains {
                TrainEntityId = 2, CityEntityId = 5, Id = 7
            };

            var dt1 = new DaysTrains {
                TrainEntityId = 1, DayId = 1, Id = 1
            };
            var dt2 = new DaysTrains {
                TrainEntityId = 1, DayId = 2, Id = 2
            };
            var dt3 = new DaysTrains {
                TrainEntityId = 1, DayId = 3, Id = 3
            };
            var dt4 = new DaysTrains {
                TrainEntityId = 2, DayId = 1, Id = 4
            };
            var dt5 = new DaysTrains {
                TrainEntityId = 2, DayId = 3, Id = 5
            };

            var car1 = new CarriageEntity {
                Id = 1, TrainId = 1, Class = CarriageClass.First, Number = 1
            };
            var car2 = new CarriageEntity {
                Id = 2, TrainId = 1, Class = CarriageClass.Second, Number = 2
            };
            var car3 = new CarriageEntity {
                Id = 3, TrainId = 2, Class = CarriageClass.Second, Number = 1
            };
            var car4 = new CarriageEntity {
                Id = 4, TrainId = 2, Class = CarriageClass.Business, Number = 2
            };

            var train1 = new TrainEntity {
                Id = 1, Number = 1
            };
            var train2 = new TrainEntity {
                Id = 2, Number = 2
            };

            modelBuilder.Entity <TrainEntity>().HasData(train1, train2);
            modelBuilder.Entity <CarriageEntity>().HasData(car1, car2, car3, car4);
            modelBuilder.Entity <SeatEntity>().HasData(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12);
            modelBuilder.Entity <DayEntity>().HasData(d1, d2, d3);
            modelBuilder.Entity <CityEntity>().HasData(c1, c2, c3, c4, c5);
            modelBuilder.Entity <DaysTrains>().HasData(dt1, dt2, dt3, dt4, dt5);
            modelBuilder.Entity <CitiesTrains>().HasData(ct1, ct2, ct3, ct4, ct5, ct6, ct7);

            base.OnModelCreating(modelBuilder);
        }
示例#13
0
 public void GivenLeTrainEstEnGare(string numeroTrain)
 {
     _context.Train = TrainEntity.Affreter(numeroTrain);
 }