public void PlayerFormView_InsertItem(Player player) { if (TryUpdateModel(player)) { try { Service.SavePlayer(player); var checkBoxList = PlayerFormView.FindControl("CheckBoxList") as CheckBoxList; //loopar igenom kryssrutorna for (int i = 0; i < checkBoxList.Items.Count; i++) { //om positionen är vald sparas den if (checkBoxList.Items[i].Selected) { var position = new Position(); position.PlTypeID = byte.Parse(checkBoxList.Items[i].Value); position.PlayerID = player.PlayerID; Service.SavePosition(position); } } Page.SetTempData("successMessage", "The player was inserted!"); Response.RedirectToRoute("Details", new { id = player.PlayerID }); Context.ApplicationInstance.CompleteRequest(); } catch { ModelState.AddModelError(String.Empty, "Ett fel inträffade när spelare skulle läggas till"); } } }
public void FormView1_UpdateItem(int PlayerID) { var player = Service.GetPlayerByID(PlayerID); if (player == null) { // spelaren hittades inte ModelState.AddModelError(String.Empty, String.Format("Spelaren med spelarID {0} hittades inte", PlayerID)); return; } //om player klarar valideringen if (TryUpdateModel(player)) { //sparar spelarens nya uppgifter Service.SavePlayer(player); var checkBoxList = FormView1.FindControl("CheckBoxList") as CheckBoxList; //hämtar ut en lista på spelarens positioner //som används för att kolla om spelaren redan har vald position var playrPos = Service.GetPosition(PlayerID).ToList(); //loopar igenom alla kryssrutor for (int i = 0; i < checkBoxList.Items.Count; i++) { //skapar en ny instans av Position-objektet så man kan spara flera positioner var position = new Position(); position.PlTypeID = byte.Parse(checkBoxList.Items[i].Value); position.PlayerID = player.PlayerID; //om inte kryssrutan är vald if (!checkBoxList.Items[i].Selected) { //loopar igenom spelarens nuvarande positioner for (int x = 0; x < playrPos.Count; x++) { //om positionen finns i databasen tas den bort if (playrPos[x].PlTypeID == position.PlTypeID) { Service.DeletePosition(position); } } } //ifall positionen är vald sparas den else { Service.SavePosition(position); } } Page.SetTempData("successMessage", "The player was updated!"); Response.RedirectToRoute("Details", new { id = PlayerID }); Context.ApplicationInstance.CompleteRequest(); } }
public void DeletePosition(Position position) { PositionDAL.DeletePosition(position); }
public void SavePosition(Position position) { PositionDAL.InsertPosition(position); }