コード例 #1
0
        public async Task <ActionResult> Edit(TrainArrivalTown arrivalTown)
        {
            try {
                if (ModelState.IsValid)
                {
                    var transaction           = dbContext.Database.BeginTransaction();
                    var arrivalTownNameBefore =
                        await dbContext.TrainArrivalTown.FindAsync(arrivalTown.IdTrainArrivalTown);

                    var departureTown = await dbContext.TrainDepartureTown
                                        .FirstOrDefaultAsync(x => x.TownName == arrivalTownNameBefore.TownName);

                    arrivalTownNameBefore.TownName = arrivalTown.TownName;
                    departureTown.TownName         = arrivalTown.TownName;
                    dbContext.Entry(arrivalTownNameBefore).State = EntityState.Modified;
                    dbContext.Entry(departureTown).State         = EntityState.Modified;
                    await dbContext.SaveChangesAsync();

                    transaction.Commit();
                    return(RedirectToAction("Index"));
                }
                return(View());
            } catch {
                return(NotFound());
            }
        }
コード例 #2
0
        public async Task <ActionResult> Create(TrainArrivalTown town)
        {
            try {
                if (ModelState.IsValid)
                {
                    var transaction = dbContext.Database.BeginTransaction();
                    await dbContext.TrainArrivalTown.AddAsync(town);

                    var departureTown = new TrainDepartureTown {
                        TownName = town.TownName
                    };
                    await dbContext.TrainDepartureTown.AddAsync(departureTown);

                    await dbContext.SaveChangesAsync();

                    transaction.Commit();
                    return(RedirectToAction("Index"));
                }
                return(View());
            } catch {
                return(NotFound());
            }
        }