//lägger in den nya kontakten! public void CreateBiljett(Biljett biljett) { using (var con = CreateConnection()) { try { SqlCommand cmd = new SqlCommand("appSchema.createBiljett", con); // denna är viktig att den är rätt! cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@Pris", SqlDbType.Int, 10).Value = biljett.Pris; cmd.Parameters.Add("@Antal", SqlDbType.Int, 10).Value = biljett.Antal; cmd.Parameters.Add("@Rabatt", SqlDbType.Decimal, 10).Value = biljett.Rabatt; cmd.Parameters.Add("@BiljettTyp", SqlDbType.NVarChar, 30).Value = biljett.BiljettTyp; cmd.Parameters.Add("@BesökarID", SqlDbType.Int, 4).Value = biljett.BesokarID;//.Direction = ParameterDirection.Output; cmd.Parameters.Add("@BiljettID", SqlDbType.Int, 5).Direction = ParameterDirection.Output; con.Open(); cmd.ExecuteNonQuery(); biljett.BiljettID = (int)cmd.Parameters["@BiljettID"].Value; } catch { throw new ApplicationException("An error occured during the connection with the database."); } } }
//Lägger till en ny biljett... public void BiljettListView_InsertItem(Biljett Biljett) { if (ModelState.IsValid) { try { Service.SaveBiljett(Biljett); Session["confirmtab"] = String.Format("En biljett har skapats"); Response.Redirect(Request.RawUrl); } catch { ModelState.AddModelError(string.Empty, "Ett fel vid Insertmetoden har uppstått!"); } } }
//uppdaterar kontakten med de nya vrdena! public void UpdateBiljett(Biljett biljett) { using (var con = CreateConnection()) { try { var cmd = new SqlCommand("appSchema.UpdateBiljett", con); cmd.CommandType = CommandType.StoredProcedure; // denna är viktig missade denna en gång och letade länge! cmd.Parameters.Add("@BiljettID", SqlDbType.Int, 4).Value = biljett.BiljettID; cmd.Parameters.Add("@Pris", SqlDbType.Int, 10).Value = biljett.Pris; cmd.Parameters.Add("@Antal", SqlDbType.Int, 10).Value = biljett.Antal; cmd.Parameters.Add("@Rabatt", SqlDbType.Decimal, 10).Value = biljett.Rabatt; cmd.Parameters.Add("@BiljettTyp", SqlDbType.NVarChar, 30).Value = biljett.BiljettTyp; cmd.Parameters.Add("@BesökarID", SqlDbType.Int, 4).Value = biljett.BesokarID; //.Direction = ParameterDirection.Output; con.Open(); cmd.ExecuteNonQuery(); } catch { throw new ApplicationException("Ett fel har uppståt med anslutningen mot databasen.-_"); } } }
// denna kommer spara biljetten! public static void SaveBiljett(Biljett biljett) { ICollection<ValidationResult> validatonResults = new List<ValidationResult>(); if (biljett.Validate(out validatonResults)) { if (biljett.BiljettID == 0) { BiljettDAL.CreateBiljett(biljett); } else { BiljettDAL.UpdateBiljett(biljett); } } else { var ex = new ApplicationException("Ett fel uppstod när du skulle spara biljetten!"); ex.Data.Add("ValidationResult", validatonResults); throw ex; } }