コード例 #1
0
        // GET: Arena/Edit
        public ActionResult Edit(int id)
        {
            ArenaEditViewModel arena = arenaRepository.getArena(id);

            PopulateSelections(arena);
            return(View(arena));
        }
コード例 #2
0
        public ActionResult Edit(ArenaEditViewModel collection)
        {
            try
            {
                bool exist = arenaRepository.findDbulicatesForEdit(collection.Pavadinimas, collection.id);
                if (exist)
                {
                    ViewBag.klaida = "Arena su tokiu pavadinimu jau egzistuoja";
                    PopulateSelections(collection);
                    return(View(collection));
                }

                if (ModelState.IsValid)
                {
                    arenaRepository.updateArena(collection);
                }

                return(RedirectToAction("Index"));
            }

            catch
            {
                PopulateSelections(collection);
                return(View(collection));
            }
        }
コード例 #3
0
        // GET: Arena/Create
        public ActionResult Create()
        {
            ArenaEditViewModel arena = new ArenaEditViewModel();

            PopulateSelections(arena);
            return(View(arena));
        }
コード例 #4
0
        public ArenaEditViewModel getArena(int id)
        {
            ArenaEditViewModel arena           = new ArenaEditViewModel();
            string             connection      = ConfigurationManager.ConnectionStrings["MysqlConnection"].ConnectionString;
            MySqlConnection    mySqlConnection = new MySqlConnection(connection);
            string             sqlquery        = @"SELECT m.* FROM arena m WHERE m.id_ARENA=" + id;
            MySqlCommand       mySqlCommand    = new MySqlCommand(sqlquery, mySqlConnection);

            mySqlConnection.Open();
            MySqlDataAdapter mda = new MySqlDataAdapter(mySqlCommand);
            DataTable        dt  = new DataTable();

            mda.Fill(dt);
            mySqlConnection.Close();

            foreach (DataRow item in dt.Rows)
            {
                arena.Pavadinimas     = Convert.ToString(item["Pavadinimas"]);
                arena.id              = Convert.ToInt32(item["id_Arena"]);
                arena.Miestas         = Convert.ToString(item["Miestas"]);
                arena.Pastatymo_metai = Convert.ToInt32(item["Pastatymo_metai"]);
                arena.Adresas         = Convert.ToString(item["Adresas"]);
                arena.fk_miestas      = Convert.ToInt32(item["fk_MIESTAS"]);
            }

            return(arena);
        }
コード例 #5
0
        public void PopulateSelections(ArenaEditViewModel arenaEditViewModel)
        {
            var miestai = arenaRepository.getMiestai();
            List <SelectListItem> selectListMiestai = new List <SelectListItem>();

            foreach (var item in miestai)
            {
                selectListMiestai.Add(new SelectListItem()
                {
                    Value = Convert.ToString(item.id), Text = item.Pavadinimas
                });
            }

            arenaEditViewModel.MiestaiList = selectListMiestai;
        }
コード例 #6
0
        public async Task UpdateAsync(ArenaEditViewModel inputModel)
        {
            var arena = await this.GetArenaByIdAsync(inputModel.Id);

            arena.Name         = inputModel.Name;
            arena.PhoneNumber  = inputModel.PhoneNumber;
            arena.PricePerHour = inputModel.PricePerHour;
            arena.Description  = inputModel.Description;
            arena.SportId      = inputModel.SportId;
            arena.WebUrl       = inputModel.WebUrl;
            arena.Email        = inputModel.Email;
            arena.Status       = inputModel.Status;
            arena.Address      = inputModel.Address;

            this.arenasRepository.Update(arena);
            await this.arenasRepository.SaveChangesAsync();
        }
コード例 #7
0
        public async Task <IActionResult> Edit(ArenaEditViewModel viewModel)
        {
            if (!this.ModelState.IsValid)
            {
                var inputModel = await this.arenasService.GetDetailsForEditAsync(viewModel.Id);

                return(this.View(inputModel));
            }

            var userId = this.userManager.GetUserId(this.User);

            await this.arenasService.UpdateAsync(viewModel);

            this.TempData[TempDataMessage] = string.Format(ArenaUpdated, viewModel.Name);

            return(this.RedirectToAction(nameof(this.MyArena)));
        }
コード例 #8
0
        public async Task UpdateAsyncUpdatesArenaCorrectly()
        {
            var arena = new Arena
            {
                Name         = "newArena",
                SportId      = 1,
                CityId       = 1,
                CountryId    = 1,
                PricePerHour = 20,
                Status       = ArenaStatus.Active,
                PhoneNumber  = "0877777777",
            };

            var sport = new Sport
            {
                Name  = "secondSport",
                Image = "https://newsport.jpg",
            };

            await this.DbContext.Arenas.AddAsync(arena);

            await this.DbContext.Sports.AddAsync(sport);

            await this.DbContext.SaveChangesAsync();

            var inputModel = new ArenaEditViewModel
            {
                Id      = 2,
                Name    = "editedName",
                Address = "editedAddress",
                Email   = "editedEmail",
                WebUrl  = "editedWeb",
                SportId = 2,
            };

            await this.Service.UpdateAsync(inputModel);

            var arenaFromDb = this.DbContext.Arenas.FirstOrDefault(a => a.Id == 2);

            Assert.Equal("editedName", arenaFromDb.Name);
            Assert.Equal("editedAddress", arenaFromDb.Address);
            Assert.Equal("editedEmail", arenaFromDb.Email);
            Assert.Equal("editedWeb", arenaFromDb.WebUrl);
            Assert.Equal(2, arenaFromDb.SportId);
        }
コード例 #9
0
        public bool updateArena(ArenaEditViewModel arena)
        {
            string          connection      = ConfigurationManager.ConnectionStrings["MysqlConnection"].ConnectionString;
            MySqlConnection mySqlConnection = new MySqlConnection(connection);
            string          sqlquery        = @"UPDATE arena SET Pavadinimas=?pavadinimas, Talpa=?talpa, Miestas=?miestas, Pastatymo_metai=?pastatymoMetai, Adresas=?adresas, fk_MIESTAS=?fkMiestas WHERE id_ARENA=?id";
            MySqlCommand    mySqlCommand    = new MySqlCommand(sqlquery, mySqlConnection);

            mySqlCommand.Parameters.Add("?id", MySqlDbType.Int32).Value             = arena.id;
            mySqlCommand.Parameters.Add("?pavadinimas", MySqlDbType.VarChar).Value  = arena.Pavadinimas;
            mySqlCommand.Parameters.Add("?talpa", MySqlDbType.Int32).Value          = arena.Talpa;
            mySqlCommand.Parameters.Add("?miestas", MySqlDbType.VarChar).Value      = getMiestas(arena.fk_miestas);
            mySqlCommand.Parameters.Add("?pastatymoMetai", MySqlDbType.Int32).Value = arena.Pastatymo_metai;
            mySqlCommand.Parameters.Add("?adresas", MySqlDbType.VarChar).Value      = arena.Adresas;
            mySqlCommand.Parameters.Add("?fkMiestas", MySqlDbType.Int32).Value      = arena.fk_miestas;
            mySqlConnection.Open();
            mySqlCommand.ExecuteNonQuery();
            mySqlConnection.Close();

            return(true);
        }
コード例 #10
0
        public bool addArena(ArenaEditViewModel arena)
        {
            string          connection      = ConfigurationManager.ConnectionStrings["MysqlConnection"].ConnectionString;
            MySqlConnection mySqlConnection = new MySqlConnection(connection);
            string          sqlquery        = @"INSERT INTO arena(Pavadinimas,Talpa,Miestas,Pastatymo_metai,Adresas,id_ARENA, fk_MIESTAS) VALUES(?pavadinimas,?talpa,?miestas,?pastatymoMetai,?adresas,?id,?fk)";
            MySqlCommand    mySqlCommand    = new MySqlCommand(sqlquery, mySqlConnection);

            mySqlCommand.Parameters.Add("?pavadinimas", MySqlDbType.VarChar).Value  = arena.Pavadinimas;
            mySqlCommand.Parameters.Add("?talpa", MySqlDbType.Int32).Value          = arena.Talpa;
            mySqlCommand.Parameters.Add("?miestas", MySqlDbType.VarChar).Value      = getMiestas(arena.fk_miestas);
            mySqlCommand.Parameters.Add("?pastatymoMetai", MySqlDbType.Int32).Value = arena.Pastatymo_metai;
            mySqlCommand.Parameters.Add("?adresas", MySqlDbType.VarChar).Value      = arena.Adresas;
            mySqlCommand.Parameters.Add("?id", MySqlDbType.Int32).Value             = getID();
            mySqlCommand.Parameters.Add("?fk", MySqlDbType.Int32).Value             = arena.fk_miestas;
            mySqlConnection.Open();
            mySqlCommand.ExecuteNonQuery();
            mySqlConnection.Close();

            return(true);
        }
コード例 #11
0
        // GET: Arena/Delete

        public ActionResult Delete(int id)
        {
            ArenaEditViewModel arena = arenaRepository.getArena(id);

            return(View(arena));
        }